mini_buildd.misc module

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.Snake(name)

Bases: object

Case style conversion to (lowercase) snake.

>>> Snake("CamelCase").from_camel()
'camel_case'
>>> Snake("Kebab-Case").from_kebab()
'kebab_case'
from_camel()
from_kebab()
class mini_buildd.misc.Field(field)

Bases: object

Changes field name handling (custom prefix && (snake) name conversion).

CPREFIX = 'X-Mini-Buildd-'
class mini_buildd.misc.CField(field)

Bases: mini_buildd.misc.Field

class mini_buildd.misc.StopWatch

Bases: object

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

Bases: type

destroy()
mini_buildd.misc.skip_if_keep_in_debug(func, *args, **kwargs)
class mini_buildd.misc.TemporaryDirectory(**kwargs)

Bases: tempfile.TemporaryDirectory

Like tempfile.TemporaryDirectory, but uses configured TMP path and honors ‘keep’ debug flag.

cleanup()
class mini_buildd.misc.TmpDir(**kwargs)

Bases: object

Unlike TemporaryDirectory, this may be used as mixin (use `with contextlib.closing()...` to work with actual object).

close()
mini_buildd.misc.nop(*_args, **_kwargs)
mini_buildd.misc.attempt(func, *args, **kwargs)
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_key(codename, architecture)
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'
class mini_buildd.misc.Hash(path)

Bases: object

Shortcut to get hashsums from file.

>>> Hash("test-data/unix.txt").md5()
'cc3d5ed5fda53dfa81ea6aa951d7e1fe'
>>> Hash("test-data/unix.txt").sha1()
'8c84f6f36dd2230d3e9c954fa436e5fda90b1957'
get(hash_type='md5')

Get any hash from file contents.

md5()
sha1()
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)