mini_buildd.misc module

mini_buildd.misc.open_utf8(path, mode='r', **kwargs)
mini_buildd.misc.check_multiprocessing()

Multiprocessing needs shared memory. This may be use to check for misconfigured shm early for better error handling.

mini_buildd.misc.datetime_stamp()

Shortcut to be used for all internal UTC stamps.

mini_buildd.misc.datetime_is_naive(date_obj)
mini_buildd.misc.datetime_check_aware(date_obj)
class mini_buildd.misc.StopWatch

Bases: object

close()
delta()
to_json()
class mini_buildd.misc.Singleton

Bases: type

destroy()
class mini_buildd.misc.API

Bases: object

Helper class to implement an API check.

Inheriting classes must define an __API__ class attribute that should be increased on incompatible changes, and may then check via api_check() method.

api_check()
mini_buildd.misc.skip_if_keep_in_debug(func, *args, **kwargs)
class mini_buildd.misc.TmpDir(tmpdir=None)

Bases: object

Use with contextlib.closing() to guarantee tmpdir is purged afterwards.

close()
property tmpdir
classmethod file_dir(file_name)
class mini_buildd.misc.ConfFile(file_path, snippet='', comment='#')

Bases: object

ConfFile generation helper.

>>> test_file = "/tmp/mini_buildd_test_conf_file"
>>> if os.path.exists(test_file): os.remove(test_file)
>>> ConfFile(test_file, "my_option=7\n").update()
True
>>> ConfFile(test_file, "my_option=7\n").update()
False
>>> ConfFile(test_file, "my_option=8\n").update()
True
update()
mini_buildd.misc.nop(*_args, **_kwargs)
mini_buildd.misc.attempt(func, *args, **kwargs)
class mini_buildd.misc.AptLine(mirror, path, suite, components, options=None, comment=None)

Bases: object

get(type_='deb', mirror=None, options=None)
class mini_buildd.misc.SourcesList(iterable=(), /)

Bases: list

get(types=None, mirror=None, options=None, with_comment=False)
mini_buildd.misc.sources_list_has_https(sources_list_file)

Check sources.list file if there are any https sources in it.

mini_buildd.misc.strip_epoch(version)

Strip the epoch from a version string.

mini_buildd.misc.guess_default_dirchroot_backend(overlay, aufs)
mini_buildd.misc.chroot_libdir_path(codename, architecture)
class mini_buildd.misc.PkgLog(repository, installed, package, version)

Bases: object

classmethod get_path(repository, installed, package, version=None, architecture=None, relative=False)
classmethod make_relative(path)
property uri
property uri_changes
property uri_buildlogs
mini_buildd.misc.subst_placeholders(template, placeholders)

Substitute placeholders in string from a dict.

>>> subst_placeholders("Repoversionstring: %IDENTITY%%CODEVERSION%", { "IDENTITY": "test", "CODEVERSION": "60" })
'Repoversionstring: test60'
mini_buildd.misc.fromdos(string)
mini_buildd.misc.hash_of_file(file_name, hash_type='md5')

Get any hash from file contents.

mini_buildd.misc.md5_of_file(file_name)
mini_buildd.misc.sha1_of_file(file_name)
mini_buildd.misc.get_cpus()
mini_buildd.misc.list_get(list_, index, default=None)
mini_buildd.misc.rmdirs(path)

Remove path recursively. Succeed even if it does not exist in the first place.

mini_buildd.misc.clone_log(dst, src='mini_buildd')

Set up logger named ‘dst’ with the same handlers and loglevel as the logger named ‘src’.

mini_buildd.misc.setup_console_logging(level=10)