A small Python framework meant to easily create programs with unified CLI and API.
Find a file
2012-10-21 15:57:40 +03:00
appconftest add try import ldap and psutils 2012-10-16 14:56:54 +02:00
.gitignore Exception handling 2012-10-08 18:24:40 +02:00
CONTRIBUTE.md Update CONTRIBUTE.md 2012-10-21 15:57:40 +03:00
LICENSE Init 2012-10-06 16:22:15 +02:00
parse_args add process count 2012-10-16 17:52:39 +02:00
README.md Update README.md 2012-10-15 19:52:54 +02:00
yunohost.py add try import ldap and psutils 2012-10-16 14:56:54 +02:00
yunohost_monitor.py add process count 2012-10-16 17:52:39 +02:00
yunohost_user.py Bug fixes 2012-10-15 22:48:05 +02:00

YunoHost CLI

Specifications

User

yunohost user list [-h] [--fields FIELDS [FIELDS ...]] [-o OFFSET]
                        [-f FILTER] [-l LIMIT]
yunohost user create [-h] [-u USERNAME] [-l LASTNAME] [-f FIRSTNAME]
                          [-p PASSWORD] [-m MAIL]
yunohost user delete [-h] users [users ...]
yunohost user update [-h] [-remove-mailalias MAIL [MAIL ...]]
                          [-add-mailalias MAIL [MAIL ...]] [-f FIRSTNAME]
                          [-m MAIL] [-l LASTNAME]
                          [--remove-mailforward MAIL [MAIL ...]]
                          [--add-mailforward MAIL [MAIL ...]]
                          [-cp PASSWORD]
                          user
yunohost user info [-h] [-m MAIL] [-cn FULLNAME] [user]

Domain

yunohost domain list [-h] [-l LIMIT] [-o OFFSET] [-f FILTER]
yunohost domain add [-h] domain
yunohost domain remove [-h] domain [domain ...]
yunohost domain info [-h] domain
yunohost domain renewcert [-h] domain

App

yunohost app list [-h] [--fields FIELDS [FIELDS ...]] [-o OFFSET]
                       [-f FILTER] [-l LIMIT]
yunohost app install [-h] [-d DOMAIN] [--public] [-l LABEL] [-p PATH]
                          [--protected]
                          app [app ...]
yunohost app remove [-h] app [app ...]
yunohost app upgrade [-h] [app [app ...]]
yunohost app info [-h] app
yunohost app addaccess [-h] [-u USER [USER ...]] app [app ...]
yunohost app removeaccess [-h] [-u USER [USER ...]] app [app ...]

Repo

yunohost repo list [-h] [-l LIMIT] [-o OFFSET] [-f FILTER]
yunohost repo add [-h] [-n NAME] url
yunohost repo remove [-h] repo
yunohost repo update [-h]

Firewall

yunohost firewall list [-h]
yunohost firewall allow [-h] {UDP,TCP,Both} port name
yunohost firewall disallow [-h] name

Monitoring

yunohost monitor info #FIX

Tools

yunohost tools support #FIX

Contribute

Only few functions are implemented yet. If you want to contribute, just pick one action above (i.e. yunohost app addaccess) and make the function (here app_addaccess()) into the right file (here yunohost_app.py).

If you need LDAP connections or openned configuration files, take a look at the connection documentation in the yunohost.py file.

Dev self-notes

  • A big dictionary of categories/actions/arguments is translated to parsers and subparsers with argument handling (argparse python library)
  • One single action function is called after the parsing, named like category_action()
  • Connection to LDAP and/or config file openning is made before the action function
  • Parsed arguments and connection dictionary are the only parameters passed to the action function : category_action(args, connections)
  • 'connections' is optionnal
  • Connections are closed just before the sys.exit calling