|
| 1 | +exercises: # local name -> ReCodEx ID (used for both the manager and the downloader) |
| 2 | + basic: 7f855c82-50e9-496a-99db-32a59b0550ab |
| 3 | + advanced: 9ffaa226-63f1-4036-b50e-a1a55bf777e1 |
| 4 | + |
| 5 | +groups: # groups to scan for solutions (passed down to the downloader) |
| 6 | + - id: 9a1e1874-6bca-43f2-a5db-d5e7d238259e |
| 7 | + recursive: true # if the subgroups should be searched as well |
| 8 | + # archived: true # whether archived groups will be searched as well |
| 9 | + |
| 10 | +manifest: # passed down to the downloader |
| 11 | + # solution_id: 'solution.id' is always added automatically |
| 12 | + path: 'path' |
| 13 | + file_id: 'file.id' |
| 14 | + author_id: 'solution.authorId' |
| 15 | + |
| 16 | +solutions: # passed down to the downloader (createdAt condition is added/overwritten by the manager) |
| 17 | + correctness: 100 |
| 18 | + |
| 19 | +dirs: # where the stuff is loaded |
| 20 | + working: './wd' # current batch being downloaded and processed |
| 21 | + last_batch: './last' # copy of the last processed batch |
| 22 | + archive: './archive' # all merged solutions we have seen so far (ref. code base for comparator) |
| 23 | + logs: './logs' |
| 24 | + |
| 25 | +logger: # https://docs.python.org/3/library/logging.html#levels |
| 26 | + console_level: DEBUG |
| 27 | + file_level: INFO |
| 28 | + |
| 29 | +downloader: # how to invoke the solution-downloader script |
| 30 | + python: 'python' |
| 31 | + exec: '../solution-downloader/download.py' |
| 32 | + |
| 33 | +comparator: # how to invoke and process results of the source code comparator |
| 34 | + name: 'comparatrix' |
| 35 | + exec: './comparatrix' # path to executable file |
| 36 | + args: # common for all exercises (use {} in strings to inject the corresponding paths) |
| 37 | + manifest: [ '--csv', '{}' ] # args referencing current manifest file |
| 38 | + archive: [ '--csv-base', '{}' ] # args reference the code base (archive) |
| 39 | + output: [ '--csv-output', '{}' ] # args specifying where the output file should be |
| 40 | + other: [] # additional args common for all exercises (unless overridden, no {} inside) |
| 41 | + exercise_args: # overrides for specific exercises (each subsection is treated independently) |
| 42 | + advanced: |
| 43 | + other: [ '--min-pattern-length', '50', '--min-percentage', '33', '--min-total-length', '1000' ] |
| 44 | + output: |
| 45 | + csv: # additional args for CSV parser |
| 46 | + delimiter: ',' |
| 47 | + columns: # keys are fixed (known by the manager), values refer to column names in the output header |
| 48 | + author_id: 'author_id_2' |
| 49 | + similarity: 'percentage_1' |
| 50 | + file_id1: 'file_id_1' |
| 51 | + solution_id1: 'solution_id_1' |
| 52 | + offset1: 'byte_position_1' |
| 53 | + length1: 'byte_size_1' |
| 54 | + file_id2: 'file_id_2' |
| 55 | + solution_id2: 'solution_id_2' |
| 56 | + offset2: 'byte_position_2' |
| 57 | + length2: 'byte_size_2' |
0 commit comments