ahriman.application package
Subpackages
- ahriman.application.application package
- Subpackages
- Submodules
- ahriman.application.application.application module
- ahriman.application.application.application_packages module
- ahriman.application.application.application_properties module
- ahriman.application.application.application_repository module
- ahriman.application.application.updates_iterator module
- Module contents
- ahriman.application.handlers package
- Submodules
- ahriman.application.handlers.add module
- ahriman.application.handlers.backup module
- ahriman.application.handlers.change module
- ahriman.application.handlers.clean module
- ahriman.application.handlers.copy module
- ahriman.application.handlers.daemon module
- ahriman.application.handlers.dump module
- ahriman.application.handlers.handler module
- ahriman.application.handlers.help module
- ahriman.application.handlers.key_import module
- ahriman.application.handlers.patch module
- ahriman.application.handlers.rebuild module
- ahriman.application.handlers.reload module
- ahriman.application.handlers.remove module
- ahriman.application.handlers.remove_unknown module
- ahriman.application.handlers.repositories module
- ahriman.application.handlers.restore module
- ahriman.application.handlers.run module
- ahriman.application.handlers.search module
- ahriman.application.handlers.service_updates module
- ahriman.application.handlers.setup module
- ahriman.application.handlers.shell module
- ahriman.application.handlers.sign module
- ahriman.application.handlers.statistics module
- ahriman.application.handlers.status module
- ahriman.application.handlers.status_update module
- ahriman.application.handlers.structure module
- ahriman.application.handlers.tree_migrate module
- ahriman.application.handlers.triggers module
- ahriman.application.handlers.triggers_support module
- ahriman.application.handlers.unsafe_commands module
- ahriman.application.handlers.update module
- ahriman.application.handlers.users module
- ahriman.application.handlers.validate module
- ahriman.application.handlers.versions module
- ahriman.application.handlers.web module
- Module contents
Submodules
ahriman.application.ahriman module
ahriman.application.help_formatter module
ahriman.application.interactive_shell module
- class InteractiveShell(locals=None, filename='<console>')
Bases:
InteractiveConsolewrapper around
code.InteractiveConsoleto passinteract()to IPython shellConstructor.
The optional locals argument will be passed to the InteractiveInterpreter base class.
The optional filename argument should specify the (file)name of the input stream; it will show up in tracebacks.
- static has_ipython() bool
check if IPython shell is available
- Returns:
Trueif IPython shell is available,Falseotherwise- Return type:
bool
- interact(*args: Any, **kwargs: Any) None
pass controller to IPython shell
- Parameters:
*args (Any) – positional arguments
**kwargs (Any) – keyword arguments
ahriman.application.lock module
- class Lock(args: Namespace, repository_id: RepositoryId, configuration: Configuration)
Bases:
LazyLoggingwrapper for application lock file. Credits for idea to https://github.com/bmhatfield/python-pidfile.git
- force
remove lock file on start if any
- Type:
bool
- path
path to lock file if any
- Type:
Path
- paths
repository paths instance
- Type:
- unsafe
skip user check
- Type:
bool
- wait_timeout
wait in seconds until lock will free
- Type:
int
Examples
Instance of this class except for controlling file-based lock is also required for basic applications checks. The common flow is to create instance in
withblock and handle exceptions after all:>>> from ahriman.core.configuration import Configuration >>> from ahriman.models.repository_id import RepositoryId >>> >>> configuration = Configuration() >>> try: >>> with Lock(args, RepositoryId("x86_64", "aur"), configuration): >>> do_something() >>> except Exception as exception: >>> handle_exceptions(exception)
- Parameters:
args (argparse.Namespace) – command line args
repository_id (RepositoryId) – repository unique identifier
configuration (Configuration) – configuration instance
- static perform_lock(fd: int) bool
perform file lock
- Parameters:
fd (int) – file descriptor:
- Returns:
Truein case if file is locked andFalseotherwise- Return type:
bool
- check_user() None
check if current user is actually owner of ahriman root
- check_version() None
check web server version
- clear() None
remove lock file
- lock() None
create pid file