mozpack.chrome package¶
Submodules¶
mozpack.chrome.flags module¶
- class mozpack.chrome.flags.Flag(name)¶
Bases:
object
- Class for flags in manifest entries in the form:
“flag” (same as “flag=true”) “flag=yes|true|1” “flag=no|false|0”
- add_definition(definition)¶
Add a flag value definition. Replaces any previously set value.
- matches(value)¶
Return whether the flag value matches the given value. The values are canonicalized for comparison.
- class mozpack.chrome.flags.Flags(*flags)¶
Bases:
OrderedDict
Class to handle a set of flags definitions given on a single manifest entry.
- FLAGS = {'abi': <class 'mozpack.chrome.flags.StringFlag'>, 'application': <class 'mozpack.chrome.flags.StringFlag'>, 'appversion': <class 'mozpack.chrome.flags.VersionFlag'>, 'backgroundtask': <class 'mozpack.chrome.flags.StringFlag'>, 'contentaccessible': <class 'mozpack.chrome.flags.Flag'>, 'os': <class 'mozpack.chrome.flags.StringFlag'>, 'osversion': <class 'mozpack.chrome.flags.VersionFlag'>, 'platform': <class 'mozpack.chrome.flags.Flag'>, 'platformversion': <class 'mozpack.chrome.flags.VersionFlag'>, 'process': <class 'mozpack.chrome.flags.StringFlag'>, 'tablet': <class 'mozpack.chrome.flags.Flag'>, 'xpcnativewrappers': <class 'mozpack.chrome.flags.Flag'>}¶
- RE = re.compile('([!<>=]+)')¶
- match(**filter)¶
- Return whether the set of flags match the set of given filters.
- flags = Flags(‘contentaccessible=yes’, ‘appversion>=3.5’,
‘application=foo’)
flags.match(application=’foo’) returns True flags.match(application=’foo’, appversion=’3.5’) returns True flags.match(application=’foo’, appversion=’3.0’) returns False
- class mozpack.chrome.flags.StringFlag(name)¶
Bases:
object
- Class for string flags in manifest entries in the form:
“flag=string” “flag!=string”
- add_definition(definition)¶
Add a string flag definition.
- matches(value)¶
Return whether one of the string flag definitions matches the given value. For example,
flag = StringFlag(‘foo’) flag.add_definition(‘foo!=bar’) flag.matches(‘bar’) returns False flag.matches(‘qux’) returns True flag = StringFlag(‘foo’) flag.add_definition(‘foo=bar’) flag.add_definition(‘foo=baz’) flag.matches(‘bar’) returns True flag.matches(‘baz’) returns True flag.matches(‘qux’) returns False
- class mozpack.chrome.flags.VersionFlag(name)¶
Bases:
object
- Class for version flags in manifest entries in the form:
“flag=version” “flag<=version” “flag<version” “flag>=version” “flag>version”
- add_definition(definition)¶
Add a version flag definition.
- matches(value)¶
Return whether one of the version flag definitions matches the given value. For example,
flag = VersionFlag(‘foo’) flag.add_definition(‘foo>=1.0’) flag.matches(‘1.0’) returns True flag.matches(‘1.1’) returns True flag.matches(‘0.9’) returns False flag = VersionFlag(‘foo’) flag.add_definition(‘foo>=1.0’) flag.add_definition(‘foo<0.5’) flag.matches(‘0.4’) returns True flag.matches(‘1.0’) returns True flag.matches(‘0.6’) returns False
mozpack.chrome.manifest module¶
- class mozpack.chrome.manifest.Manifest(base, relpath, *flags)¶
Bases:
ManifestEntryWithRelPath
- Class for ‘manifest’ entries.
manifest some/path/to/another.manifest
- type = 'manifest'¶
- class mozpack.chrome.manifest.ManifestBinaryComponent(base, relpath, *flags)¶
Bases:
ManifestEntryWithRelPath
- Class for ‘binary-component’ entries.
binary-component some/path/to/a/component.dll
- type = 'binary-component'¶
- class mozpack.chrome.manifest.ManifestCategory(base, category, name, value, *flags)¶
Bases:
ManifestEntry
- Class for ‘category’ entries.
category command-line-handler m-browser @mozilla.org/browser/clh;
- type = 'category'¶
- class mozpack.chrome.manifest.ManifestChrome(base, name, relpath, *flags)¶
Bases:
ManifestEntryWithRelPath
Abstract class for chrome entries.
- property location¶
- class mozpack.chrome.manifest.ManifestComponent(base, cid, file, *flags)¶
Bases:
ManifestEntryWithRelPath
- Class for ‘component’ entries.
component {b2bba4df-057d-41ea-b6b1-94a10a8ede68} foo.js
- type = 'component'¶
- class mozpack.chrome.manifest.ManifestContent(base, name, relpath, *flags)¶
Bases:
ManifestChrome
- Class for ‘content’ entries.
content global content/global/
- allowed_flags = ['application', 'platformversion', 'os', 'osversion', 'abi', 'xpcnativewrappers', 'tablet', 'process', 'contentaccessible', 'backgroundtask', 'contentaccessible', 'platform']¶
- type = 'content'¶
- class mozpack.chrome.manifest.ManifestContract(base, contractID, cid, *flags)¶
Bases:
ManifestEntry
- Class for ‘contract’ entries.
contract @mozilla.org/foo;1 {b2bba4df-057d-41ea-b6b1-94a10a8ede68}
- type = 'contract'¶
- class mozpack.chrome.manifest.ManifestEntry(base, *flags)¶
Bases:
object
Base class for all manifest entry types. Subclasses may define the following class or member variables:
localized: indicates whether the manifest entry is used for localized data.
type: the manifest entry type (e.g. ‘content’ in ‘content global content/global/’)
allowed_flags: a set of flags allowed to be defined for the given manifest entry type.
A manifest entry is attached to a base path, defining where the manifest entry is bound to, and that is used to find relative paths defined in entries.
- allowed_flags = ['application', 'platformversion', 'os', 'osversion', 'abi', 'xpcnativewrappers', 'tablet', 'process', 'contentaccessible', 'backgroundtask']¶
- localized = False¶
- move(base)¶
Return a new manifest entry with a different base path.
- rebase(base)¶
Return a new manifest entry with all relative paths defined in the entry relative to a new base directory. The base class doesn’t define relative paths, so it is equivalent to move().
- serialize(*args)¶
Serialize the manifest entry.
- type = None¶
- class mozpack.chrome.manifest.ManifestEntryWithRelPath(base, relpath, *flags)¶
Bases:
ManifestEntry
Abstract manifest entry type with a relative path definition.
- property path¶
- rebase(base)¶
Return a new manifest entry with all relative paths defined in the entry relative to a new base directory.
- class mozpack.chrome.manifest.ManifestInterfaces(base, relpath, *flags)¶
Bases:
ManifestEntryWithRelPath
- Class for ‘interfaces’ entries.
interfaces foo.xpt
- type = 'interfaces'¶
- class mozpack.chrome.manifest.ManifestLocale(base, name, id, relpath, *flags)¶
Bases:
ManifestMultiContent
- Class for ‘locale’ entries.
locale global en-US content/en-US/ locale global fr content/fr/
- localized = True¶
- type = 'locale'¶
- class mozpack.chrome.manifest.ManifestMultiContent(base, name, id, relpath, *flags)¶
Bases:
ManifestChrome
Abstract class for chrome entries with multiple definitions. Used for locale and skin entries.
- type = None¶
- class mozpack.chrome.manifest.ManifestOverlay(base, overloaded, overload, *flags)¶
Bases:
ManifestOverload
- Class for ‘overlay’ entries.
overlay chrome://global/content/viewSource.xul chrome://browser/content/viewSourceOverlay.xul
- type = 'overlay'¶
- class mozpack.chrome.manifest.ManifestOverload(base, overloaded, overload, *flags)¶
Bases:
ManifestEntry
Abstract class for chrome entries defining some kind of overloading. Used for overlay, override or style entries.
- type = None¶
- class mozpack.chrome.manifest.ManifestOverride(base, overloaded, overload, *flags)¶
Bases:
ManifestOverload
- Class for ‘override’ entries.
override chrome://global/locale/netError.dtd chrome://browser/locale/netError.dtd
- type = 'override'¶
- class mozpack.chrome.manifest.ManifestResource(base, name, target, *flags)¶
Bases:
ManifestEntry
- Class for ‘resource’ entries.
resource gre-resources toolkit/res/ resource services-sync resource://gre/modules/services-sync/
The target may be a relative path or a resource or chrome url.
- rebase(base)¶
Return a new manifest entry with all relative paths defined in the entry relative to a new base directory. The base class doesn’t define relative paths, so it is equivalent to move().
- type = 'resource'¶
- class mozpack.chrome.manifest.ManifestSkin(base, name, id, relpath, *flags)¶
Bases:
ManifestMultiContent
- Class for ‘skin’ entries.
skin global classic/1.0 content/skin/classic/
- type = 'skin'¶
- class mozpack.chrome.manifest.ManifestStyle(base, overloaded, overload, *flags)¶
Bases:
ManifestOverload
- Class for ‘style’ entries.
style chrome://global/content/viewSource.xul chrome://browser/skin/
- type = 'style'¶
- mozpack.chrome.manifest.is_manifest(path)¶
Return whether the given path is that of a manifest file.
- mozpack.chrome.manifest.parse_manifest(root, path, fileobj=None)¶
Parse a manifest file.
- mozpack.chrome.manifest.parse_manifest_line(base, line)¶
Parse a line from a manifest file with the given base directory and return the corresponding ManifestEntry instance.