Skip to content

JuezLTI/YAPEXIL-cli

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

30 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

YAPEXIL-cli

N|Solid

YAPEXIL is a JSON format in which the goal is to represent in an orthodoxy manner Programming exercises. This type of representation although efficient could sometimes lead to a complexity that can not be handled by a non-expert in this schema. Therefore this npm package focusing in:

  • Packaging of exercises
  • Validation of a zip that represent an YAPEXIL exercise
  • Import and packaging of a set of exercises stored in a .ods spreadsheet

Instaling

First download the repository. Then in the folder where the package.json exists, run

sudo npm i --location=global

Examples

Validating an zip file

YAPEXIL --validate --dir ./exercises/ --exercise 8b5a8565-74ff-41a5-b7aa-8616042693fd.zip 
YAPEXIL --validate --dir "file directory" --exercise "file name"

Creating an exercise

YAPEXIL --create --id 9d85d08f-bb6b-4fd6-9e6b-9b4406453639 --author author_name --title Example --keywords xml-exercise-programing 
--type IMPROVEMENT  --status DRAFT

// The output of this command will be the ID exercise.

YAPEXIL --modify --exercise 9d85d08f-bb6b-4fd6-9e6b-9b4406453639.zip --statement_addition --statement_format PDF --statement_nat_lang EN --statement_content ./resources/example/JuezLTI\ DTD+XSD\ Exercise\ example.pdf  

//This command will add a statement


YAPEXIL --modify --exercise 9d85d08f-bb6b-4fd6-9e6b-9b4406453639.zip  --skeleton_addition --skeleton_lang xml --skeleton_content ./resources/example/SportEvents/base\ XML\ example/SportEvent.xml

//This command will add a skeleton

YAPEXIL --modify --exercise 9d85d08f-bb6b-4fd6-9e6b-9b4406453639.zip  --library_addition  --library_content ./resources/example/SportEvents/base\ XML\ example/SportEvent.xml
//This command will add a library

YAPEXIL --modify --exercise 9d85d08f-bb6b-4fd6-9e6b-9b4406453639.zip --solution_addition --solution_lang xml --solution_content ./resources/example/SportEvents/solution.xml

//This command will add a solution

YAPEXIL --modify --exercise 9d85d08f-bb6b-4fd6-9e6b-9b4406453639.zip --test_addition --test_visibility true --test_input_content ./resources/example/SportEvents/test\ cases/SportEvent_Q01_1_valid.xml --test_output_content ./resources/example/SportEvents/output_valid.txt

//This command will add a  test

YAPEXIL --modify --exercise 9d85d08f-bb6b-4fd6-9e6b-9b4406453639.zip --test_addition --test_visibility true --test_input_content ./resources/example/SportEvents/test\ cases/SportEvent_Q01_2_invalid.xml --test_output_content ./resources/example/SportEvents/output_invalid.txt --test_feedback essa_e_uma_menssagem-esse_e_outra_menssagem-uma_terceira_:D

//This command will add a  test



YAPEXIL --modify --exercise 9d85d08f-bb6b-4fd6-9e6b-9b4406453639.zip --test_remove --test_id 00000000-0000-0000-0000-000000000000 --solution_remove --solution_id 00000000-0000-0000-0000-000000000000 --statement_remove --statement_id 00000000-0000-0000-0000-000000000000
// This command will remove some default stuff





**Combining all commands into one**

YAPEXIL --modify --exercise 9d85d08f-bb6b-4fd6-9e6b-9b4406453639.zip --statement_addition --statement_format PDF --statement_nat_lang EN --statement_content ./resources/example/JuezLTI\ DTD+XSD\ Exercise\ example.pdf --skeleton --skeleton_addition --skeleton_lang xml --skeleton_content ./resources/example/SportEvents/base\ XML\ example/SportEvent.xml --solution_addition --solution_lang xml --solution_content ./resources/example/SportEvents/solution.xml --test_addition --test_visibility true --test_input_content ./resources/example/SportEvents/test\ cases/SportEvent_Q01_2_invalid.xml --test_output_content ./resources/example/SportEvents/output_invalid.txt --test_feedback essa_e_uma_menssagem-esse_e_outra_menssagem-uma_terceira_:D --library_addition  --library_content ./resources/example/SportEvents/base\ XML\ example/SportEvent.xml --test_remove --test_id 00000000-0000-0000-0000-000000000000 --solution_remove --solution_id 00000000-0000-0000-0000-000000000000 --statement_remove --statement_id 00000000-0000-0000-0000-000000000000

Import from an .ods spreadsheet

YAPEXIL --import --out ~/Documents --from ~/Documents/ct_question.ods --rows=3 
YAPEXIL --import --out "file directory" --from "file name" [--rows=number]

An import template file is provided to facilitate the import of questions.

License

MIT

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages