Giter Site home page Giter Site logo

edsomjr / competitive-problems-tools Goto Github PK

View Code? Open in Web Editor NEW
8.0 8.0 7.0 9.09 MB

Competitive problems formatter tools

License: GNU General Public License v3.0

C++ 95.58% Makefile 0.14% Shell 3.68% C 0.18% Java 0.01% Python 0.01% TeX 0.35% Roff 0.06%

competitive-problems-tools's People

Contributors

durvalcarvalho avatar edsomjr avatar sergiosacj avatar vitorfhc avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

competitive-problems-tools's Issues

Atualizar a interface do módulo sh

  • remover as funções exec() e process(), substituindo suas ocorrências por execute()
  • Usar a estrutura Result para o retorno dos comandos

Corrigir o README.md

Colocar o nome correto da ferramente e as instruções básicas de instalação e uso.

Add the opton '-s' to the 'check' command

Add the option -s to the check command

Description:

This option should check all solutions defined in the config.json file
Currently, the cp-tools check command supports only the following flags:

  • -c / --checker;
  • -h / --help;
  • -t / --tests;
  • -v / --validator;

It is desirable that the cp-tools check -s command validates all solutions defined in the file config.json, in the key solutions: {}. Currently, each solution must be checked with the command:

cp-tools judge solution.[cpp|java|py]

Remembering that there are several types of solutions (WA, AC, TLE, etc.), the validation of a solution depends on its type, for example, a positive validation of a TLE solution is one that does not pass the test set because it goes beyond the defined maximum time

Acceptance criteria:

  • It must document the implemented parameters
  • It must add tests for each type of solution

Tasks:

  • Run the subroutine of judge command to check each solution described in config.json
  • Write templates for each type of solution
  • Write unit tests for each type of solution

Create template to global configuration JSON file

The file .cp-tools-config.json, which is usually present at the user's home directory, is not created during the command make install.

There is also no template for this file as there is for the config.json.

Add the option '-a' to the 'check' command

This issue depends on the following issues:

Add the option -a to the check command

Description:

The cp-tools check -a command must validate all the solutions, tests, validators and checkers.
Currently, to validate each of these files, you need to run a specific command:

  • -c / --checker for checkers
  • -t / --tests for tests
  • -v / --validator for validators
  • -s / --solutions for solutions

It is desirable that the cp-tools check --all command validates all of these files at once.

Acceptance criteria:

  • It must document the implemented parameters
  • It must unit test this option

Create a manual entry for `cp-tools` command

Is your feature request related to a problem? Please describe.

I am curious to learn how to use the software, but I do not have much knowledge in the C ++ language to understand by reading the source code, but I would still like to use it.

Describe the solution you'd like

It would be great if the man cp-tool command worked, so that I would read the documentation through my terminal.

Describe alternatives you've considered

Usage documentation posted on other channels would also solve the problem

Implement the 'cp-tools genhtml' command

Implement the cp-tools genhtml command

Description:

Currently, cp-tools has the commands genpdf and gentex, where the files are compiled for PDF and LaTEX respectively.

It is desirable that the genhtml command compiles the files into HTML files, so that the problem can be viewed in a browser

This CLI command should work in the same way as genpdf and gentex commands.

The parameters for this command are:

  • -h / --help to print to the terminal the parameters supported by the command
  • -b / --label to define the problem labels. If omitted, the default label is A
  • -l / --list to list all document classes (templates) available for use
  • -c / --class to define the class (template) of the document that will be used in the compilation. If omitted, the default template will be plain
  • -g / --lang to define the language of the document. If omitted, the default language will be pt_BR
  • -o / --output to define the name of the output file that will be generated. If omitted, the output file will be problem.html
  • -t / --tutorial to generate the problem solution file (in html, of course)
  • --no_autor to omit the problem author in the output file
  • --no_contest to omit the problem contest in the output file

Acceptance criteria:

  • It must document the implemented parameters
  • The files must be standalone

Tasks:

  • Implement a LaTeX to HTML converter or use a external command to make this conversion
  • Use MathJax to display mathematical formulas in HTML

Reduce code duplication in action find

Reduce code duplication in action find

Description:

Everytime a command or subcommand is trying to find the right run function it runs this same code:

if (argc >= 3) {
    std::string command{argv[2]};
    auto it = commands.find(command);
    if (it != commands.end())
      return commands[command](argc, argv, out, err);
}

This could be avoided by creating a function responsible for that.
This is now happening at cptools.cpp only, but polygon pull/push subcommand will have the same code.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.