Exemplo n.º 1
0
class CommandsContainer(object):
    """
    CommandsContainer class.
    """

    prefix = "The name is"
    __arguments__ = [ap_arg('--arguments', help="Class arguments")]
    __shared_arguments__ = [
        ap_arg('name', help="The name"),
        ap_arg('--prefix', help="string prefix", default='We have')]

    @arg()
    def name(self, name, prefix):
        """
        Print the name.
        """
        print prefix, 'name', name

    @arg()
    def surname(self, name, prefix):
        """
        Print the surname.
        """
        print prefix, 'surname', name

    @arg()
    def nickname(self, name, prefix):
        """
        Print the nickname.
        """
        print prefix, "nickname",  name
Exemplo n.º 2
0
class Commands(ArgParseInated):
    """Commands for greets"""

    # we have the same params for all the commands so we can share them
    __shared_arguments__ = [
        ap_arg("who", help="The who", nargs="?", default="World!"),
        ap_arg("-l", "--lang", default="en", help="Language")
    ]

    def __preinator__(self):
        # Actually we are not sure we have a configuration so is better
        # add some default.
        cfg = {
            'lang': 'en',
            'words_en': {
                'greet': 'Greetings',
                'hello': 'Hello',
                'bye': 'Goodbye',
            }
        }
        cfg.update(self.cfg)
        self.cfg = cfg

    def get_language(self, word, lang=None):
        """Get right word for configured language"""
        lang = lang or self.cfg.get('lang', 'en')
        # let's retrieve the word from configuration dict.
        try:
            return self.cfg['words_' + lang][word]
        except StandardError:
            return 'Do not know how to "{}" in "{}"'.format(word, lang)

    @arg()
    def greet(self, who, lang):
        """Greets"""
        # we added the add_output param so we use the writeln to greet on the
        # right output.
        writeln(self.get_language('greet', lang), who)

    @arg()
    def hallo(self, who, lang):
        """Hallo"""
        writeln(self.get_language('hello', lang), who)

    @arg()
    def bye(self, who, lang):
        """Bye"""
        writeln(self.get_language('bye', lang), who)
Exemplo n.º 3
0
class HttpRequest(ArgParseInated):
    """Silly Http retrieving."""

    __shared_arguments__ = [ap_arg('url', help="url to retrieve")]

    @arg()
    def get(self, url):
        """Retrieve an url."""
        self.writeln("Getting data from url", url)
        response = self.session.get(url)
        if response.status_code == 200:
            self.writeln(response.text)
        else:
            self.writeln(str(response.status_code), response.reason)

    @arg('var', help="Posta data in NAME=VALUE form", nargs="*")
    def post(self, url, var):
        """Post data to an url."""
        data = {b[0]: b[1] for b in [a.split("=") for a in var]}
        self.writeln("Sending data to url", url)
        response = self.session.post(url, data=data)
        if response.status_code == 200:
            self.writeln(response.text)
        else:
            self.writeln(str(response.status_code), response.reason)
Exemplo n.º 4
0
class Admin(ArgParseInated):
    """Administrations commands."""
    # Our command name.
    __cmd_name__ = "admin"
    __shared_arguments__ = [
        ap_arg("-p", "--passwd", help="User parssword"),
        ap_arg("username", help="username"),
    ]

    @arg()
    def useradd(self, username, passwd):
        """Fake Create new user command."""
        self.writeln("Creating user", username, '...')
        try:
            # ... create user code.
            pass
        except UserExistsError:
            return 1, "User {} already exists".format(username)
        if passwd:
            # ... set password code.
            pass
        return 0, "User {} created".format(username)

    @arg()
    def userdelete(self, username):
        """Fake Delete user command."""
        self.writeln("Deleting user", username, '...')
        try:
            # ... delete user code.
            pass
        except UserNotExistsError:
            return 1, "User {} do not exists".format(username)
        return 0, "User {} deleted".format(username)

    @arg()
    @cmd_auth("yesiwantit")
    def deleteallusers(self):
        """Fake delete all users command"""
        self.writeln("Deleting ALL users...")
        # ... delete all users code
        return 0, "All users deleted"
Exemplo n.º 5
0
class Greetings(object):
    """
    Greeting command.
    """
    __cmd_name__ = 'greet'
    __arguments__ = [ap_arg(
        '-p', '--prefix', help='greeting prefix', default="We say")]
    __shared_arguments__ = [ap_arg('name', help='the name')]
    
    @arg()
    def ciao(self, name, prefix):
        """
        Say ciao.
        """
        print prefix, 'Ciao', 'to', name

    @arg()
    def hello(self, name, prefix):
        """
        Say hello.
        """
        print prefix, 'hello', 'to', name
Exemplo n.º 6
0
    Greeting command.
    """
    __cmd_name__ = 'greet'
    __arguments__ = [ap_arg(
        '-p', '--prefix', help='greeting prefix', default="We say")]
    __shared_arguments__ = [ap_arg('name', help='the name')]
    
    @arg()
    def ciao(self, name, prefix):
        """
        Say ciao.
        """
        print prefix, 'Ciao', 'to', name

    @arg()
    def hello(self, name, prefix):
        """
        Say hello.
        """
        print prefix, 'hello', 'to', name
    

if __name__ == "__main__":
    inator = argparseinator.ArgParseInator(
        description="Silly script",
        args=[
            ap_arg('--address', help='Person address', default='Home'),
        ]
    )
    inator.check_command()