/ScriptGUIfier

Have nice a Graphical User Interface for your scripts

Primary LanguagePythonMIT LicenseMIT

ScriptGUIfier

Description

Have nice a Graphical User Interface for your scripts. To do so, you just need to fill a configuration file describing your scripts (options, location, etc) and voilĂ , you have a GUI to use your script.

How to use

Requirements

You need to have python 3 installed (no other dependy normally).

Launch the application

You just need to execute the main.py script, by default it try to search the configuration file at ./test_data/SimpleConf.json but you can choose an other name and location with the option -c or --config. Examples:

  • ./main.py --config ~/my_config_file
  • python3 ./src/main.py -c ../my_conf_file.json

The configuration file

The configuration fis a simple json file. The top object has 2 attributes:

  • app_name: (String) The name that will appear on the window
  • categories: (Array) An array of Category.

A Category is the representation of a page, and on this page. It allows to group script by type. A Category has the followings attributes:

  • name: (String) It will be display at the top of the page.
  • scripts: (Array) an array of Script.

A Script contains everything needed to be able to create the components to use a script with all its options. It has 3 attributes:

  • name: (String) The displayed name on the application.
  • script: (String) The location of the script.
  • options: (Array) An array of Option.

An Option describes the arguments your program takes. It has a several attributes but some are optionals:

  • name: (Optional String) The text shown on the GUI, if not set it has the takes the value of the literal.
  • literal: (String) it is the option name used on the command line it can be empty. It often begins by - or --.
  • description: (Optional String): Describe what the option is, not use for the moment.
  • type:
  • default_value:
  • default_value_from_env:
  • default_value_from_script:
  • values:

TODO

See: https://github.com/Baduit/ScriptGUIfier/projects/2