daklib.contents
Helper code for contents generation.
@contact: Debian FTPMaster <ftpmaster@debian.org>
@copyright: 2011 Torsten Werner <twerner@debian.org>
@license: GNU General Public License version 2 or later
Functions
binary_helper (suite_id, arch_id, ...)
|
This function is called in a new subprocess and multiprocessing wants a top level function. |
binary_scan_helper (binary_id)
|
This function runs in a subprocess. |
source_helper (suite_id, component_id)
|
This function is called in a new subprocess and multiprocessing wants a top level function. |
source_scan_helper (source_id)
|
This function runs in a subprocess. |
Classes
BinaryContentsScanner (binary_id)
|
BinaryContentsScanner provides a threadsafe method scan() to scan the contents of a DBBinary object. |
BinaryContentsWriter (suite, architecture, ...)
|
BinaryContentsWriter writes the Contents-$arch.gz files. |
ContentsWriter ()
|
Loop over all suites, architectures, overridetypes, and components to write all contents files. |
SourceContentsScanner (source_id)
|
SourceContentsScanner provides a method scan() to scan the contents of a DBSource object. |
SourceContentsWriter (suite, component)
|
SourceContentsWriter writes the Contents-source.gz files. |
UnpackedSource (dscfilename[, tmpbasedir])
|
UnpackedSource extracts a source package into a temporary location and gives you some convinient function for accessing it. |
-
class daklib.contents.BinaryContentsScanner(binary_id: int)[source]
BinaryContentsScanner provides a threadsafe method scan() to scan the
contents of a DBBinary object.
-
scan() → None[source]
This method does the actual scan and fills in the associated BinContents
property. It commits any changes to the database. The argument dummy_arg
is ignored but needed by our threadpool implementation.
-
classmethod scan_all(limit=None)[source]
The class method scan_all() scans all binaries using multiple threads.
The number of binaries to be scanned can be limited with the limit
argument. Returns the number of processed and remaining packages as a
dict.
-
class daklib.contents.BinaryContentsWriter(suite, architecture, overridetype, component)[source]
BinaryContentsWriter writes the Contents-$arch.gz files.
-
fetch() → Iterable[str][source]
Yields a new line of the Contents-$arch.gz file in filename order.
-
formatline(filename, package_list) → str[source]
Returns a formatted string for the filename argument.
-
get_list() → list[str][source]
Returns a list of lines for the Contents-$arch.gz file.
-
query()[source]
Returns a query object that is doing most of the work.
-
write_file() → None[source]
Write the output file.
-
writer()[source]
Returns a writer object.
-
class daklib.contents.ContentsWriter[source]
Loop over all suites, architectures, overridetypes, and components to write
all contents files.
-
classmethod log_result(result) → None[source]
Writes a result message to the logfile.
-
classmethod write_all(logger, archive_names=None, suite_names=None, component_names=None, force=False)[source]
Writes all Contents files for suites in list suite_names which defaults
to all ‘touchable’ suites if not specified explicitely. Untouchable
suites will be included if the force argument is set to True.
-
class daklib.contents.SourceContentsScanner(source_id: int)[source]
SourceContentsScanner provides a method scan() to scan the contents of a
DBSource object.
-
scan() → None[source]
This method does the actual scan and fills in the associated SrcContents
property. It commits any changes to the database.
-
classmethod scan_all(limit=None)[source]
The class method scan_all() scans all source using multiple processes.
The number of sources to be scanned can be limited with the limit
argument. Returns the number of processed and remaining packages as a
dict.
-
class daklib.contents.SourceContentsWriter(suite, component)[source]
SourceContentsWriter writes the Contents-source.gz files.
-
fetch()[source]
Yields a new line of the Contents-source.gz file in filename order.
-
formatline(filename, package_list)[source]
Returns a formatted string for the filename argument.
-
get_list()[source]
Returns a list of lines for the Contents-source.gz file.
-
query()[source]
Returns a query object that is doing most of the work.
-
write_file()[source]
Write the output file.
-
writer()[source]
Returns a writer object.
-
class daklib.contents.UnpackedSource(dscfilename: str, tmpbasedir: Optional[str] = None)[source]
UnpackedSource extracts a source package into a temporary location and
gives you some convinient function for accessing it.
-
cleanup() → None[source]
Removes all temporary files.
-
get_all_filenames() → Iterable[str][source]
Returns an iterator over all filenames. The filenames will be relative
to the root directory.
-
get_root_directory() → str[source]
Returns the name of the package’s root directory which is the directory
where the debian subdirectory is located.
-
daklib.contents.binary_helper(suite_id: int, arch_id: int, overridetype_id: int, component_id: int)[source]
This function is called in a new subprocess and multiprocessing wants a top
level function.
-
daklib.contents.binary_scan_helper(binary_id: int) → None[source]
This function runs in a subprocess.
-
daklib.contents.source_helper(suite_id: int, component_id: int)[source]
This function is called in a new subprocess and multiprocessing wants a top
level function.
-
daklib.contents.source_scan_helper(source_id: int) → None[source]
This function runs in a subprocess.