A small Python framework meant to easily create programs with unified CLI and API.
Find a file
Laurent Peuch e9bc14845a [enh] Make ActionsMap._construct_parser code more readable (#144)
* [mod] autopep8
* [mod] remove useless try/except
* [mod] renaming + comment
* [mod] remove debug print
* [mod] more renaming
* [doc] explicit comment
* [mod] more renaming
* [mod] more renaming and comments
* [mod] more renaming
* [doc] usefull comment
* [mod] more renaming
* [mod] this is always true
* [mod] remove conditions that are always True
* [mod] more renaming
* [doc] add a comment from the docstring
* [mod] remove useless exception
* [mod] remove useless ()
* [mod] style
* [mod] it's better to fail than to silencly ignore a typo
* [mod] more renaming
* [doc] add a comment to avoid looking at yet-another-file
* [mod] renaming, make method name match reality and had a method for code readability
* [mod] remove one indirection level
* [mod] we always have actions
* [doc] add more comments
* [mod] simplify code again
* [mod] case never happen
* [mod] delegate responsability to class to make code more readable
* [mod] finish moving _add_arguments down to parsers
* [mod] invert conditions to make things more readable
* [mod] style
* [mod] remove useless exception
* [mod] simplify code
2017-07-29 17:45:36 +02:00
data Update gitignore and test actionsmap 2014-12-29 18:27:22 +01:00
debian Update changelog for 2.6.1 release 2017-06-21 18:03:32 -04:00
doc [doc] add missing files 2017-07-22 12:01:36 +02:00
lib/test [clean] Remove YunoHost files 2014-05-16 16:19:40 +02:00
locales [enh] More helpers for common IO operations (#141) 2017-07-21 21:05:46 -04:00
moulinette [enh] Make ActionsMap._construct_parser code more readable (#144) 2017-07-29 17:45:36 +02:00
.gitignore [fix] Properly disconnect from LDAP 2015-07-18 16:28:48 +02:00
.travis.yml [mod] continue with pep8 2016-12-18 01:53:49 +01:00
CONTRIBUTORS.md [enh][love] Add CONTRIBUTORS.md 2016-12-22 16:28:23 +01:00
generate_api_doc.py [fix] nargs + option should allows to set several args 2014-12-14 17:15:50 +01:00
generate_function_doc.py [enh] Adapt yunohost_tools + backport update/upgrade function from prerefactoring branch 2014-04-26 12:51:35 +00:00
LICENSE Init 2012-10-06 16:22:15 +02:00
README.md Adding link to bugtracker 2017-04-03 01:37:11 +02:00
setup.py [fix] Do not create directories from setup.py 2015-02-02 15:49:03 +01:00

Moulinette

The moulinette is a Python package that allows to quickly and easily prototype interfaces for your application.

Translation status

Issues

Overview

Initially, the moulinette was an application made for the YunoHost project in order to regroup all its related operations into a single program called moulinette. Those operations were available from a command-line interface and a Web server providing an API. Moreover, the usage of these operations (e.g. required/optional arguments) was defined into a simple yaml file - called actionsmap. This file was parsed in order to construct an ArgumentParser object and to parse the command arguments to process the proper operation.

During a long refactoring with the goal of unify both interfaces, the idea to separate the core of the YunoHost operations has emerged. The core kept the same name moulinette and try to follow the same initial principle. An Actions Map - which defines available operations and their usage - is parsed and it's used to process an operation from several unified Interfaces. It also supports a configuration mechanism - which allows to restrict an operation on an interface for example (see Authenticators).

Actions Map

...

Interfaces

...

Authenticators

...

Requirements

  • Python 2.7
  • python-bottle (>= 0.10)
  • python-gnupg (>= 0.3)
  • python-ldap (>= 2.4)
  • PyYAML