libcomps
- Libcomps objects¶
libcomps.Comps¶
-
class
libcomps.
Comps
¶ Comps class is representating comps.xml file represented in structure form.
-
arch_filter
(arch_list) → libcomps.Comps¶ Filter Comps object content by _arch attribute matchingpassed archictures
Parameters: arch_list (list of strings or libcomps.StrSeq) – list of architectures Returns: new libcomps.Comps
instace
-
categories_match
()¶ validate inner structure of Comps object.Raise appropriate exception on first occured error
Raises: ValueError – with appropriate error message
-
clear
()¶ Clear Comps
-
environments_match
()¶ validate inner structure of Comps object.Raise appropriate exception on first occured error
Raises: ValueError – with appropriate error message
-
fromxml_f
(fname[, def_options]) → int¶ Load COMPS from xml file
Parameters: - fname (str) – filename to be readed
- def_options (dict) – dictionary containing options used forspecify values of missing objects attributes in xml_str string
Returns: 1 if some non-fatal error occured during parsing
0 if parsing ended without any error
Raises: - libcomps.ParserError – if some fatal erroroccured during parsing
- IOError – if specified filename cannot be opened for reading
-
fromxml_str
(xml_str[, def_options]) → int¶ Load COMPS from xml string
Parameters: - xml_str (str) – string containing comps xml representation
- def_options (dict) – dictionary containing options used forspecify values of missing objects attributes in xml_str string
Returns: 1 if some non-fatal error occured during parsing
0 if parsing ended without any error
Raises: libcomps.ParserError – if some fatal error occured during parsing
-
get_last_errors
()¶ return list of messages from log of last parse action, contains errors only
-
get_last_log
()¶ return list of messages from log of last parse action.
-
groups_match
()¶ validate inner structure of Comps object.Raise appropriate exception on first occured error
Raises: ValueError – with appropriate error message
-
toxml_f
(fname[, xml_options[, def_options]]) → int¶ alias for
Comps.xml_f()
-
toxml_str
([xml_options[, def_options]]) → str¶ alias for
Comps.xml_str()
-
validate
()¶ validate inner structure of Comps object.Raise appropriate exception on first occured error
Raises: ValueError – with appropriate error message
-
validate_nf
()¶ validate inner structure of Comps class.Returns list of error strings
Return type: list of strings
-
xml_f
(fname[, xml_options[, def_options]]) → list¶ Generate xml output of Comps class to file
Parameters: - fname (str) – filename
- xml_options (dict) – dict of options used for specify xml output
- def_options (dict) – dict of options used for specify default values of missing attributes of objects
Returns: list of errors encountered during xml generating
Return type: list of strings
Raises: XMLGenError – if generating xml encounter some fatal error
-
xml_str
([xml_options[, def_options]]) → str¶ Generate xml output of Comps object a return it as string
Parameters: - xml_options (dict) – dict of options used for specify xml output
- def_options (dict) – dict of options used for specify default values of missing attributes of objects
Returns: string containing xml output
-
blacklist
¶ libcomps.MDict
of blacklist
-
categories
¶ libcomps.CategoryList
of categories
-
environments
¶ libcomps.EnvList
of environments
-
groups
¶ libcomps.GroupList
of groups
-
langpacks
¶ libcomps.StrDict
of langpacks
-
whiteout
¶ libcomps.MDict
of whiteout
-
libcomps.GroupList¶
-
class
libcomps.
GroupList
¶ Comps Group list
is class mostly similar to normal python list with few diferences:
- accepting only specified type of object.
GroupList
devours onlyGroup
instance. - accepting string argument in getter/setter items methods as identificator of objects by id.
- run validation procedure on absorbed object so you can’t
append/insert/set invalid
Group
object
g1 = libcomps.Group() g1.id = "g1" comps.categories.append(g1) g2 = libcomps.Group() g2.id = "g2" comps.categories.append(g2) g = comps.groups["g2"] comps.categories["g1"] = libcomps.Group()
-
append
()¶ Append item to new of the list
-
clear
()¶ Clear the list
-
insert
(pos, item) → None¶ Insert item into list at position pos
Parameters: pos – intposition Returns: None
-
remove
(item) → None¶ Remove first occurence of item from list
Raises: - TypeError – If type of item is not type acceptable for list
- ValueError – If item is not in the list
- accepting only specified type of object.
libcomps.CategoryList¶
-
class
libcomps.
CategoryList
¶ Comps Category list
is class mostly similar to normal python list with few diferences:
- accepting only specified type of object.
CategoryList
devours onlyCategory
instance. - accepting string argument in getter/setter items methods as identificator of objects by id.
- run validation procedure on absorbed object so you can’t
append/insert/set invalid
Category
object
c1 = libcomps.Category() c1.id = "c1" comps.categories.append(c1) c2 = libcomps.Category() c2.id = "c2" comps.categories.append(c2) c = comps.groups["c2"] comps.categories["c1"] = libcomps.Category()
-
append
()¶ Append item to new of the list
-
clear
()¶ Clear the list
-
insert
(pos, item) → None¶ Insert item into list at position pos
Parameters: pos – intposition Returns: None
-
remove
(item) → None¶ Remove first occurence of item from list
Raises: - TypeError – If type of item is not type acceptable for list
- ValueError – If item is not in the list
- accepting only specified type of object.
libcomps.EnvList¶
-
class
libcomps.
EnvList
¶ Comps Env list
is class mostly similar to normal python list with few diferences:
- accepting only specified type of object.
EnvList
devours onlyEnvironment
instance. - accepting string argument in getter/setter items methods as identificator of objects by id.
- run validation procedure on absorbed object so you can’t
append/insert/set invalid
Environment
object
e1 = libcomps.Environment() e1.id = "e1" comps.environments.append(e1) e2 = libcomps.Environment() e2.id = "e2" comps.environments.append(e2) e = comps.groups["e2"] comps.categories["e1"] = libcomps.Environment()
-
append
()¶ Append item to new of the list
-
clear
()¶ Clear the list
-
insert
(pos, item) → None¶ Insert item into list at position pos
Parameters: pos – intposition Returns: None
-
remove
(item) → None¶ Remove first occurence of item from list
Raises: - TypeError – If type of item is not type acceptable for list
- ValueError – If item is not in the list
- accepting only specified type of object.
libcomps.Group¶
-
class
libcomps.
Group
¶ Comps Group
-
packages_match
()¶ Return list of packages matching selected criteria
Returns: List of packages
-
validate
()¶ Validate inner group structure. Raise exception on firstoccured error.
Returns: None if validation successful Raises: ValueError – on first occured error
-
biarchonly
¶ Group uservisible attribute
-
default
¶ Group default attribute
-
desc
¶ descrition of group
-
desc_by_lang
¶ dictionary of locale group descriptions
-
display_order
¶ Group display order attribute
-
id
¶ group string identificator
-
lang_only
¶ group langonly attribute
-
name
¶ name of group
-
name_by_lang
¶ dictionary of locale group names
-
packages
¶
-
uservisible
¶ Group uservisible attribute
-
libcomps.PackageList¶
-
class
libcomps.
PackageList
¶ Comps Group Package list
is class mostly similar to normal python list with few diferences:
- accepting only specified type of object.
PackageList
devours onlyPackage
instance. - accepting string argument in getter/setter items methods as identificator of package name.
- run validation procedure on absorbed object so you can’t
append/insert/set invalid
Package
object
- accepting only specified type of object.
libcomps.Package¶
-
class
libcomps.
Package
¶ Comps Group Package
-
validate
()¶ Validate inner package structure. Raise exception on firstoccured error.
Returns: None if validation successful Raises: ValueError – on first occured error
-
basearchonly
¶ Package basearchonly attribute
-
name
¶ Package name
-
requires
¶ Package requires
-
type
¶ package type which could be one of following:
libcomps.PACKAGE_TYPE_DEFAULT
libcomps.PACKAGE_TYPE_OPTIONAL
libcomps.PACKAGE_TYPE_CONDITIONAL
libcomps.PACKAGE_TYPE_MANDATORY
libcomps.PACKAGE_TYPE_UNKNOWN
-
libcomps.Category¶
-
class
libcomps.
Category
¶ Comps Category
-
validate
()¶ validate inner category structure
-
desc
¶ description of category
-
desc_by_lang
¶ dictionary of locale category description
-
display_order
¶ category display order attribute
-
group_ids
¶
-
id
¶ category string identificator
-
name
¶ name of category
-
name_by_lang
¶ dictionary of locale category names
-
libcomps.Environment¶
-
class
libcomps.
Environment
¶ Comps Environment
-
validate
()¶ Validate inner environment structure. Raise exception on firstoccured error.
Returns: None if validation successful Raises: ValueError – on first occured error
-
desc
¶ description of environment
-
desc_by_lang
¶ dictionary of locale environment descriptions
-
display_order
¶ environment display order attribute
-
group_ids
¶ libcomps.IdList
oflibcomps.GroupId
representing environments group list
-
id
¶ environment string identificator
-
name
¶ name of environment
-
name_by_lang
¶ dictionary of locale environment names
-
option_ids
¶ libcomps.IdList
oflibcomps.GroupId
representing environments option list
-
libcomps.IdList¶
-
class
libcomps.
IdList
¶ Comps GIDs list
is class mostly similar to normal python list with few diferences:
IdList
accepting only unicode/string/libcomps.GroupId
(string/unicode object are implicitly converted tolibcomps.GroupId
)- run validation procedure on absorbed object so you can’t
append/insert/set invalid
GroupId
object
libcomps.GroupId¶
libcomps.StrDict¶
-
class
libcomps.
StrDict
¶ Comps Str Dict
-
clear
()¶ clear the dict
-
copy
()¶ return shallow copy of dict
-
get
(key) → object¶ Return object associated with key
Parameters: key (str/unicode) – object key Returns: object if there’s object associated with key None otherwise
-
has_key
(key) → bool¶ Tests if there’s key in object
Parameters: key (str/unicode) – object key Returns: True if there’s object associated with key False otherwise
-
items
()¶ return iterator returning (key, value) tuple
-
keys
()¶ return iterator returning item’s key
-
update
(dict) → None¶ Update dictionary with (key,value) pair from another dictionary.Existing pairs are overwritten
Parameters: dict – libcomps.Dict
instance or subclass instanceReturns: None
-
values
()¶ return iterator returning item’s value
-
is very lightweight version of python dict
- libcomps.StrDict can have only string/unicode keys and accepts only string/unicode object
libcomps.MDict¶
-
class
libcomps.
MDict
¶ Comps Dict
-
clear
()¶ clear the dict
-
copy
()¶ return shallow copy of dict
-
get
(key) → list of strings¶ Return object associated with key
Parameters: key (str/unicode) – object key Returns: object if there’s object associated with key None otherwise
-
has_key
(key) → bool¶ Tests if there’s key in object
Parameters: key (str/unicode) – object key Returns: True if there’s object associated with key False otherwise
-
items
()¶ return iterator returning (key, value) tuple
-
keys
()¶ return iterator returning item’s key
-
update
(dict) → None¶ Update dictionary with (key,value) pair from another dictionary.Existing pairs are overwritten
Parameters: dict – libcomps.Dict
instance or subclass instanceReturns: None
-
values
()¶ return iterator returning item’s value
-
is class similar to python dict, except of these properties:
- libcomps.MDict can have only string/unicode keys and accepts only list of string or libcomps.StrSeq which is also object returned from dict.__get__()
- output of StrDict.keys() is in alphabetical order ()
libcomps.StrSeq¶
-
class
libcomps.
StrSeq
¶ Comps Str list
-
append
()¶ Append item to new of the list
-
clear
()¶ Clear the list
-
insert
(pos, item) → None¶ Insert item into list at position pos
Parameters: pos – intposition Returns: None
-
remove
(item) → None¶ Remove first occurence of item from list
Raises: - TypeError – If type of item is not type acceptable for list
- ValueError – If item is not in the list
-
is class similar to list, but accepts only string/unicode objects.