SlackLog parsers¶
SlackLog parser reads a Slackware ChangeLog.txt and builds an in-memory representation of it using SlackLog models.
-
class
slacklog.parsers.SlackLogParser[source]¶ Bases:
objectParser for recent (13.x) Slackware ChangeLogs.
-
quiet= None¶ If
True, warnings about date parsing are not printed.
-
min_date= None¶ If set to a
datetime.datetimeobject, older log entries are ignored (not parsed).
-
ENTRY= None¶ Counter of entries (for debugging).
-
PKG= None¶ Counter of packages (for debugging).
-
parse(data)[source]¶ Return the in-memory representation of the data.
Parameters: data (unicode) – the ChangeLog.txt content. Returns: in-memory representation of data Return type: slacklog.models.SlackLog
-
split_log_to_entries(data)[source]¶ Split the ChangeLog.txt into a list of unparsed entries.
Parameters: data (unicode) – the ChangeLog.txt content. Returns: list of unparsed entries, separators removed. Return type: [ unicode]
-
parse_entry(data, log)[source]¶ Parse a single ChangeLog entry.
Parameters: - data (unicode) – ChangeLog entry content.
- log – in-memory representation that is being parsed.
Type: Returns: in-memory representation of the ChangeLog entry.
Return type:
-
gen_entry_checksum(data)[source]¶ Generate ChangeLog entry checksum from data.
Parameters: data (unicode) – ChangeLog entry content. Returns: Entry checksum. Return type: unicode
-
gen_entry_identifier(data, checksum, parent)[source]¶ Generate ChangeLog entry identifier from data, checksum, and/or parent identifier.
Parameters: - data (unicode) – ChangeLog entry content.
- checksum (unicode) – ChangeLog entry checksum.
- parent – Parent entry identifier or
None
Returns: Entry identifier.
Return type: unicode
-
parse_entry_timestamp(data)[source]¶ Parse ChangeLog entry timestamp from data.
Parameters: data (unicode) – ChangeLog entry content. Returns: a two element list: timestamp and the rest of the entry. Return type: [ datetime.datetime,unicode]
-
parse_entry_description(data)[source]¶ Parse ChangeLog entry description from data.
Parameters: data (unicode) – ChangeLog entry content (without timestamp). Returns: a two element list: description and the rest of the entry. Return type: [ unicode,unicode]
-
split_entry_to_pkgs(data)[source]¶ Split ChangeLog entry content into a list of unparsed packages.
Parameters: data (unicode) – ChangeLog entry content (without timestamp or description). Returns: a list of unparsed packages. Return type: [ unicode]
-
parse_pkg(data, entry)[source]¶ Parse a single package.
Parameters: - data (unicode) – Package name and description of the update.
- entry – in-memory representation of the ChangeLog entry being parsed.
Type: Returns: in-memory representation of the package.
Return type:
-
parse_pkg_name(data)[source]¶ Parse package name from a package.
Parameters: data (unicode) – Package name and description. Returns: a two element list: package name and package description. Return type: [ unicode,unicode]
-
parse_pkg_description(data)[source]¶ Parse package description from a package.
Parameters: data (unicode) – Package description. Returns: Package description. Return type: unicode
-
get_line(data)[source]¶ Consume one line from data.
Parameters: data (unicode) – Data. Returns: a two element list: first line, rest of the data. Return type: [ unicode,unicode]
-