mini_buildd.api module¶
-
class
mini_buildd.api.Argument(id_list, doc='Undocumented', default=None, choices=None)¶ Bases:
object-
set(value)¶
-
property
value¶ Get value, including convenience transformations.
-
false2none()¶
-
-
class
mini_buildd.api.TextArgument(*args, **kwargs)¶ Bases:
mini_buildd.api.Argument-
TYPE= 'text'¶
-
-
class
mini_buildd.api.URLArgument(*args, **kwargs)¶ Bases:
mini_buildd.api.TextArgument-
TYPE= 'url'¶
-
-
class
mini_buildd.api.TextareaArgument(*args, **kwargs)¶ Bases:
mini_buildd.api.TextArgument-
TYPE= 'textarea'¶
-
-
class
mini_buildd.api.NumberArgument(*args, **kwargs)¶ Bases:
mini_buildd.api.TextArgument-
TYPE= 'number'¶
-
-
class
mini_buildd.api.SelectArgument(*args, **kwargs)¶ Bases:
mini_buildd.api.Argument-
TYPE= 'select'¶
-
-
class
mini_buildd.api.BoolArgument(*args, **kwargs)¶ Bases:
mini_buildd.api.SelectArgument-
TRUE= 'True'¶
-
FALSE= 'False'¶
-
-
class
mini_buildd.api.MultiSelectArgument(*args, **kwargs)¶ Bases:
mini_buildd.api.TextArgument-
TYPE= 'multiselect'¶
-
SEPARATOR= ','¶
-
-
class
mini_buildd.api.Command(given_args=None, request=None)¶ Bases:
object-
NONE= 0¶
-
LOGIN= 1¶
-
STAFF= 2¶
-
ADMIN= 3¶
-
AUTH= 0¶
-
AUTH_STRINGS= {0: 'anonymous', 1: 'any user login', 2: 'staff user login', 3: 'super user login'}¶
-
CONFIRM= False¶
-
NEEDS_RUNNING_DAEMON= False¶
-
ARGUMENTS= []¶
-
PLAIN= '__plain__'¶
-
classmethod
isgroup()¶
-
classmethod
name()¶
-
classmethod
doc()¶
-
classmethod
arg_identities()¶
-
classmethod
api_args(args)¶ Safely generate API args from args dict.
Use only known argument identities.
Use only non-None values.
Convert values to raw ‘str’ representation.
-
classmethod
auth_err(user)¶ Check if django user is authorized to call command.
Empty string means user is authorized.
-
classmethod
json_pretty(result)¶
-
classmethod
get_plain(result)¶
-
plain()¶
-
run()¶
-
has_flag(flag)¶
-
-
class
mini_buildd.api.GroupAutoSetup(given_args=None, request=None)¶ Bases:
mini_buildd.api.CommandAutosetup commands.
-
AUTH= 3¶
-
CONFIRM= True¶
-
-
class
mini_buildd.api.AutoSetupDaemon(given_args=None, request=None)¶ Bases:
mini_buildd.api.GroupAutoSetupDaemon autosetup. Authorization: super user login
-
class
mini_buildd.api.AutoSetupSources(given_args=None, request=None)¶ Bases:
mini_buildd.api.GroupAutoSetupSources autosetup. Authorization: super user login
-
ARGUMENTS= [<mini_buildd.api.MultiSelectArgument object>, <mini_buildd.api.MultiSelectArgument object>, <mini_buildd.api.BoolArgument object>, <mini_buildd.api.BoolArgument object>]¶
-
-
class
mini_buildd.api.AutoSetupRepositories(given_args=None, request=None)¶ Bases:
mini_buildd.api.GroupAutoSetupRepositories autosetup. Authorization: super user login
-
ARGUMENTS= [<mini_buildd.api.MultiSelectArgument object>]¶
-
-
class
mini_buildd.api.AutoSetupChroots(given_args=None, request=None)¶ Bases:
mini_buildd.api.GroupAutoSetupChroots autosetup. Authorization: super user login
-
ARGUMENTS= [<mini_buildd.api.SelectArgument object>]¶
-
-
class
mini_buildd.api.AutoSetup(given_args=None, request=None)¶ Bases:
mini_buildd.api.GroupAutoSetupAuto setup / bootstrap.
>>> AutoSetup({'chroot_backend': 'File'}).args['chroot_backend'].value 'File' >>> AutoSetup({'chroot_backend': SelectArgument(["--chroot-backend", "-C"], default="BtrfsSnapshot", choices=["Dir", "File", "LVM", "LoopLVM", "BtrfsSnapshot"])}).args['chroot_backend'].value 'BtrfsSnapshot'
Authorization: super user login
-
ARGUMENTS= [<mini_buildd.api.MultiSelectArgument object>, <mini_buildd.api.MultiSelectArgument object>, <mini_buildd.api.BoolArgument object>, <mini_buildd.api.BoolArgument object>, <mini_buildd.api.MultiSelectArgument object>, <mini_buildd.api.SelectArgument object>]¶
-
-
class
mini_buildd.api.GroupDaemon(given_args=None, request=None)¶ Bases:
mini_buildd.api.CommandDaemon commands.
-
PORT_RESULT_DOC= ('JSON Result (dict):', ' uploaded: list of triples of all items uploaded')¶
-
-
class
mini_buildd.api.Status(*args, **kwargs)¶ Bases:
mini_buildd.api.GroupDaemonShow the status of the mini-buildd instance.
- JSON Result (dict):
identity : string: instance identity version : string: mini-buildd version http : string: HTTP URL ftp : string: FTP URL running : bool: Whether instance is accepting incoming load : float: machine load (0 =< load <= 1+) chroots : dict: {codename: [arch, ..]}: Active chroots repositories: dict: {identity: [codename, ..]}: Active repositories remotes : list: Active or auto-reactivate remotes packaging : list: Active (source) packages being processed building : list: Active (binary) package builds
Authorization: anonymous
-
classmethod
has_chroot(result, codename, arch)¶
-
class
mini_buildd.api.Activate(given_args=None, request=None)¶ Bases:
mini_buildd.api.GroupDaemonActivate the Daemon.
- JSON Result (dict):
identity : string: instance identity version : string: mini-buildd version http : string: HTTP URL ftp : string: FTP URL running : bool: Whether instance is accepting incoming load : float: machine load (0 =< load <= 1+) chroots : dict: {codename: [arch, ..]}: Active chroots repositories: dict: {identity: [codename, ..]}: Active repositories remotes : list: Active or auto-reactivate remotes packaging : list: Active (source) packages being processed building : list: Active (binary) package builds
Authorization: super user login
-
AUTH= 3¶
-
class
mini_buildd.api.Deactivate(given_args=None, request=None)¶ Bases:
mini_buildd.api.GroupDaemonDeactivate the Daemon.
- JSON Result (dict):
identity : string: instance identity version : string: mini-buildd version http : string: HTTP URL ftp : string: FTP URL running : bool: Whether instance is accepting incoming load : float: machine load (0 =< load <= 1+) chroots : dict: {codename: [arch, ..]}: Active chroots repositories: dict: {identity: [codename, ..]}: Active repositories remotes : list: Active or auto-reactivate remotes packaging : list: Active (source) packages being processed building : list: Active (binary) package builds
Authorization: super user login
-
AUTH= 3¶
-
ARGUMENTS= []¶
-
class
mini_buildd.api.GetUploaders(given_args=None, request=None)¶ Bases:
mini_buildd.api.GroupDaemonGet all GPG keys allowed to upload to repositories.
JSON Result (dict): {repository: {‘allow_unauthenticated_uploads’: True|False, ‘uploaders’: {long_key_id: {key info…}), ..}}}
Authorization: super user login
-
AUTH= 3¶
-
NEEDS_RUNNING_DAEMON= True¶
-
ARGUMENTS= [<mini_buildd.api.TextArgument object>]¶
-
-
class
mini_buildd.api.KeyringPackages(given_args=None, request=None)¶ Bases:
mini_buildd.api.GroupDaemonBuild keyring packages for all active repositories.
- JSON Result (dict):
uploaded: list of triples of all items uploaded
Authorization: super user login
-
AUTH= 3¶
-
NEEDS_RUNNING_DAEMON= True¶
-
CONFIRM= True¶
-
ARGUMENTS= [<mini_buildd.api.MultiSelectArgument object>, <mini_buildd.api.BoolArgument object>]¶
-
class
mini_buildd.api.TestPackages(given_args=None, request=None)¶ Bases:
mini_buildd.api.GroupDaemonBuild internal test packages.
Per default, we build all test packages for all active distributions ending on ‘experimental’.
- JSON Result (dict):
uploaded: list of triples of all items uploaded
Authorization: super user login
-
AUTH= 3¶
-
NEEDS_RUNNING_DAEMON= True¶
-
CONFIRM= True¶
-
ARGUMENTS= [<mini_buildd.api.MultiSelectArgument object>, <mini_buildd.api.MultiSelectArgument object>, <mini_buildd.api.MultiSelectArgument object>, <mini_buildd.api.BoolArgument object>]¶
-
class
mini_buildd.api.GetSnapshots(given_args=None, request=None)¶ Bases:
mini_buildd.api.GroupDaemonGet list of repository snapshots for a distribution.
- JSON Result (dict):
dict: <distribution>: [snasphot,…]: List of snapshots for the given distribution.
Authorization: anonymous
-
NEEDS_RUNNING_DAEMON= True¶
-
ARGUMENTS= [<mini_buildd.api.TextArgument object>]¶
-
class
mini_buildd.api.GenSnapshot(given_args=None, request=None)¶ Bases:
mini_buildd.api.GetSnapshotsGenerate a repository snapshot.
JSON Result (dict): Empty for now.
Authorization: super user login
-
AUTH= 3¶
-
CONFIRM= True¶
-
ARGUMENTS= [<mini_buildd.api.TextArgument object>, <mini_buildd.api.TextArgument object>]¶
-
-
class
mini_buildd.api.DelSnapshot(given_args=None, request=None)¶ Bases:
mini_buildd.api.GenSnapshotDelete a repository snapshot.
JSON Result (dict): Empty for now.
-
class
mini_buildd.api.GroupConfig(given_args=None, request=None)¶ Bases:
mini_buildd.api.CommandConfiguration convenience commands.
-
class
mini_buildd.api.GetKey(given_args=None, request=None)¶ Bases:
mini_buildd.api.GroupConfigGet GnuPG public key.
- JSON Result (dict):
__plain__: string: ASCII-armored key.
Authorization: anonymous
-
class
mini_buildd.api.GetDputConf(given_args=None, request=None)¶ Bases:
mini_buildd.api.GroupConfigGet recommended dput config snippet.
Usually, this is for integration in your personal ~/.dput.cf.
- JSON Result (dict):
__plain__: string: dput config snippet.
Authorization: anonymous
-
class
mini_buildd.api.GetSourcesList(given_args=None, request=None)¶ Bases:
mini_buildd.api.GroupConfigGet sources.list (apt lines).
Usually, this output is put to a file like ‘/etc/sources.list.d/mini-buildd-xyz.list’.
- JSON Result (dict):
__plain__: string: apt lines
Authorization: anonymous
-
ARGUMENTS= [<mini_buildd.api.TextArgument object>, <mini_buildd.api.TextArgument object>, <mini_buildd.api.TextArgument object>, <mini_buildd.api.MultiSelectArgument object>, <mini_buildd.api.TextArgument object>, <mini_buildd.api.NumberArgument object>, <mini_buildd.api.TextArgument object>, <mini_buildd.api.TextArgument object>, <mini_buildd.api.BoolArgument object>, <mini_buildd.api.BoolArgument object>]¶
-
class
mini_buildd.api.LogCat(given_args=None, request=None)¶ Bases:
mini_buildd.api.GroupConfigCat last n lines of the mini-buildd’s log.
- JSON Result (dict):
__plain__: string: last n loglines
Authorization: staff user login
-
AUTH= 2¶
-
ARGUMENTS= [<mini_buildd.api.NumberArgument object>]¶
-
class
mini_buildd.api.GroupPackage(given_args=None, request=None)¶ Bases:
mini_buildd.api.CommandPackage management commands.
-
class
mini_buildd.api.List(given_args=None, request=None)¶ Bases:
mini_buildd.api.GroupPackageList packages matching a shell-like glob pattern; matches both source and binary package names.
JSON Result (dict): {repository: [{package_info}…]}
Authorization: any user login
-
AUTH= 1¶
-
ARGUMENTS= [<mini_buildd.api.TextArgument object>, <mini_buildd.api.BoolArgument object>, <mini_buildd.api.TextArgument object>, <mini_buildd.api.SelectArgument object>]¶
-
-
class
mini_buildd.api.Show(given_args=None, request=None)¶ Bases:
mini_buildd.api.GroupPackageShow a source package.
JSON Result (dict): {repository: [(codename, {package_info}),…]}
Authorization: anonymous
-
ARGUMENTS= [<mini_buildd.api.TextArgument object>]¶
-
-
class
mini_buildd.api.Find(given_args=None, request=None)¶ Bases:
mini_buildd.api.GroupPackageFind a source package.
JSON Result (dict): {repository: [{package_info},…]}
Authorization: anonymous
-
ARGUMENTS= [<mini_buildd.api.TextArgument object>, <mini_buildd.api.MultiSelectArgument object>, <mini_buildd.api.TextArgument object>, <mini_buildd.api.TextArgument object>]¶
-
-
class
mini_buildd.api.Migrate(given_args=None, request=None)¶ Bases:
mini_buildd.api.GroupPackageMigrate a source package (along with all binary packages).
- JSON Result (dict):
__plain__: string: textual migration log.
Authorization: staff user login
-
AUTH= 2¶
-
CONFIRM= True¶
-
ARGUMENTS= [<mini_buildd.api.TextArgument object>, <mini_buildd.api.TextArgument object>, <mini_buildd.api.BoolArgument object>, <mini_buildd.api.TextArgument object>]¶
-
class
mini_buildd.api.Remove(given_args=None, request=None)¶ Bases:
mini_buildd.api.GroupPackageRemove a source package (along with all binary packages).
- JSON Result (dict):
__plain__: string: textual removal log.
Authorization: super user login
-
AUTH= 3¶
-
CONFIRM= True¶
-
ARGUMENTS= [<mini_buildd.api.TextArgument object>, <mini_buildd.api.TextArgument object>, <mini_buildd.api.BoolArgument object>, <mini_buildd.api.TextArgument object>]¶
-
class
mini_buildd.api.Port(given_args=None, request=None)¶ Bases:
mini_buildd.api.GroupPackagePort an internal package.
An internal ‘port’ is a no-changes (i.e., only the changelog will be adapted) rebuild of the given locally-installed package.
- JSON Result (dict):
requested: list: Info string about each port that has been triggered
- JSON Result (dict):
uploaded: list of triples of all items uploaded
Authorization: staff user login
-
AUTH= 2¶
-
NEEDS_RUNNING_DAEMON= True¶
-
CONFIRM= True¶
-
ARGUMENTS= [<mini_buildd.api.TextArgument object>, <mini_buildd.api.TextArgument object>, <mini_buildd.api.MultiSelectArgument object>, <mini_buildd.api.TextArgument object>, <mini_buildd.api.TextArgument object>]¶
-
class
mini_buildd.api.PortExt(given_args=None, request=None)¶ Bases:
mini_buildd.api.GroupPackagePort an external package.
An external ‘port’ is a no-changes (i.e., only the changelog will be adapted) rebuild of any given source package.
- JSON Result (dict):
requested: list: Info string about each port that has been triggered.
- JSON Result (dict):
uploaded: list of triples of all items uploaded
Authorization: staff user login
-
AUTH= 2¶
-
NEEDS_RUNNING_DAEMON= True¶
-
CONFIRM= True¶
-
ARGUMENTS= [<mini_buildd.api.URLArgument object>, <mini_buildd.api.MultiSelectArgument object>, <mini_buildd.api.TextArgument object>]¶
-
class
mini_buildd.api.Retry(given_args=None, request=None)¶ Bases:
mini_buildd.api.GroupPackageRetry a previously failed package.
- JSON Result (dict):
uploaded: string: Info string about each retry that has been triggered.
Authorization: staff user login
-
AUTH= 2¶
-
NEEDS_RUNNING_DAEMON= True¶
-
CONFIRM= True¶
-
ARGUMENTS= [<mini_buildd.api.TextArgument object>, <mini_buildd.api.TextArgument object>, <mini_buildd.api.TextArgument object>]¶
-
class
mini_buildd.api.TerminatePackage(given_args=None, request=None)¶ Bases:
mini_buildd.api.GroupPackageTerminate an ongoing package. Authorization: staff user login
-
AUTH= 2¶
-
NEEDS_RUNNING_DAEMON= True¶
-
CONFIRM= True¶
-
ARGUMENTS= [<mini_buildd.api.TextArgument object>]¶
-
-
class
mini_buildd.api.TerminateBuild(given_args=None, request=None)¶ Bases:
mini_buildd.api.TerminatePackageTerminate an ongoing build. Authorization: staff user login
-
class
mini_buildd.api.GroupUser(given_args=None, request=None)¶ Bases:
mini_buildd.api.CommandUser management commands.
-
class
mini_buildd.api.SetUserKey(given_args=None, request=None)¶ Bases:
mini_buildd.api.GroupUserSet a user’s GnuPG public key.
Authorization: any user login
-
AUTH= 1¶
-
CONFIRM= True¶
-
ARGUMENTS= [<mini_buildd.api.TextareaArgument object>]¶
-
-
class
mini_buildd.api.Subscription(given_args=None, request=None)¶ Bases:
mini_buildd.api.GroupUserManage subscriptions to package notifications.
A package subscription is a tuple ‘PACKAGE:DISTRIBUTION’, where both PACKAGE or DISTRIBUTION may be empty to denote all resp. items.
- JSON Result (dict):
list: list: (action=list only) Human readable list of subscriptions. add: list: (action=add only) Human readable list of added subscriptions. remove: list: (action=lremoved only) Human readable list of removed subscriptions.
Authorization: any user login
-
AUTH= 1¶
-
ARGUMENTS= [<mini_buildd.api.SelectArgument object>, <mini_buildd.api.TextArgument object>]¶
-
class
mini_buildd.api.Commands¶ Bases:
collections.OrderedDictAutomatically collect all commands defined in this module, and make them accessible.
Menu-like structure of commands (helps creating the API menu in HTML).