Commands
In glim, there is a command line utility layer where you can define command line apps that can be run from terminal. In a typical glim app, all command line apps reside in app/commands.py
. In this file, all commands are extended from Command
class in glim.command
module.
This command layer uses ArgumentParser
object of argparse
module. Consider the examples of Hello & Greet commands. Hello command just prints "Hello World!" and Greet command takes an user name argument prints "hello :name";
# commands.py
from glim.command import Command
class HelloCommand(Command):
name = 'hello'
description = 'prints hello world'
def configure(self):
pass
def run(self):
print("Hello World!")
pass
class GreetCommand(Command):
name = 'greet'
description = 'greets a user'
def configure(self):
self.add_argument("name", nargs='?',
help="enter project name",
default=None)
def run(self):
print("Hello %s!" % self.args.name)
These commands are automatically registered when you run glim
from command line. The following outputs will be appeared on glim commands;
$ glim hello
Hello World!
$ glim greet aras
Hello Aras!
In a typical Command, self.add_argument(*args, **kwargs)
would create an argument using ArgumentParser
. You can see more examples of argument adding here.
Register arguments in only configure function
You can only register arguments inside the configure function.
Updated less than a minute ago