RagnarGrootKoerkamp / BAPCtools

Tools for developing ICPC-style programming contest problems.
GNU General Public License v3.0
49 stars 22 forks source link

No ryaml check during `bt run` #198

Closed ludopulles closed 2 years ago

ludopulles commented 2 years ago

I ran bt run on a machine that did not have ryaml installed, and according to the util.py code, one should check if yaml is installed (https://github.com/RagnarGrootKoerkamp/BAPCtools/blob/master/bin/util.py#L481). Apparently it does not.


  File "../../../BAPCtools/bin/tools.py", line 966, in <module>
    main()
  File "../../../BAPCtools/bin/tools.py", line 962, in main
    run_parsed_arguments(parser.parse_args())
  File "../../../BAPCtools/bin/tools.py", line 832, in run_parsed_arguments
    success &= generate.generate(problem)
  File "/ufs/lnp/code/CompetitiveProgramming/BAPCtools/bin/generate.py", line 1627, in generate
    config.run()
  File "/ufs/lnp/code/CompetitiveProgramming/BAPCtools/bin/generate.py", line 1217, in run
    p.done()
  File "/ufs/lnp/code/CompetitiveProgramming/BAPCtools/bin/parallel.py", line 76, in done
    raise self.error
  File "/ufs/lnp/code/CompetitiveProgramming/BAPCtools/bin/parallel.py", line 37, in _worker
    self.f(task)
  File "/ufs/lnp/code/CompetitiveProgramming/BAPCtools/bin/generate.py", line 1213, in <lambda>
    lambda t: not t.listed and t.generate(self.problem, self, bar), in_parallel
  File "/ufs/lnp/code/CompetitiveProgramming/BAPCtools/bin/generate.py", line 749, in generate
    write_yaml(t.cache_data, meta_path)
  File "/ufs/lnp/code/CompetitiveProgramming/BAPCtools/bin/util.py", line 484, in write_yaml
    ryaml.dump(
NameError: name 'ryaml' is not defined```
RagnarGrootKoerkamp commented 2 years ago

@mpsijm can you take a look? I think it's better if that function anyway gives a nice error if you don't have ryaml.

The metadata files we write during generating are yaml, and before this didn't need ryaml, so maybe we should relax that again