Introduction
Manager is the Components Manager package of Umbra, sIBL_GUI and sIBL_Reporter. Components are simple python packages extending capabilities of their host application.
Installation
The following dependencies are needed:
Python 2.6.7 or Python 2.7.3: http://www.python.org/
To install Manager from the Python Package Index you can issue this command in a shell:
pip install Manager
or this alternative command:
easy_install Manager
You can also directly install from Github source repository:
git clone git://github.com/KelSolaar/Manager.git cd Manager python setup.py install
If you want to build the documentation you will also need:
Usage
Please refer to Manager - Api for precise usage examples.
A Component package contains at least a resource .rc description file and a main module:
testsComponentA ├── __init__.py ├── testsComponentA.py └── testsComponentA.rc
The description file is a configuration style file with a structure similar to what you would find in Microsoft Windows INI files:
[Component] Name = core.testsComponentA Title = Tests Component A Module = testsComponentA Object = TestsComponentA Version = 1.0 [Informations] Author = Thomas Mansencal Email = thomas.mansencal@gmail.com Url = http://www.hdrlabs.com/ Description = Core tests Component A.
Given the following directories structure:
core
├── __init__.py
├── testsComponentA
│ ├── __init__.py
│ ├── testsComponentA.py
│ └── testsComponentA.rc
└── testsComponentB
├── __init__.py
├── testsComponentB.py
└── testsComponentB.rc
Instantiating the Components Manager is done the following way:
>>> manager = Manager(("./manager/tests/testsManager/resources/components/core",))
>>> manager.registerComponents()
True
>>> manager.listComponents()
['core.testsComponentA', 'core.testsComponentB']
>>> manager.instantiateComponents()
True
>>> manager.getInterface("core.testsComponentA")
<testsComponentA.TestsComponentA object at 0x11dd990>
manager.componentsManager.Manager.getInterface(name) method returns the interface of given Component, in the previous example it’s the object declared in the description file by this statement: Object = TestsComponentA.
Three base Components are provided by default:
manager.component.Component
manager.qobjectComponent.QObjectComponent
manager.qwidgetComponent.QWidgetComponent
When inheriting from those Components, one have to reimplement the following methods for all the Components types:
activate
deactivate
activated attribute has to be set accordingly in the methods implementation.
When implementing a manager.qwidgetComponent.Component or manager.qobjectComponent.QObjectComponent, the following methods are also needed:
initialize
uninitialize
initialized attribute has to be set accordingly in the methods implementation.
Or alternatively, those methods when implementing a manager.qwidgetComponent.QWidgetComponent:
initializeUi
uninitializeUi
initializedUi attribute has to be set accordingly in the methods implementation.
Reference Component implementation example class:
class TestsComponentA(Component):
def __init__(self, name=None):
Component.__init__(self, name=name)
self.deactivatable = True
def activate(self):
print("> Activating '{0}' Component.".format(self.__class__.__name__))
self.activated = True
return True
def deactivate(self):
print("> Deactivating '{0}' Component.".format(self.__class__.__name__))
self.activated = False
return True
def initialize(self):
print("> Initializing '{0}' Component.".format(self.__class__.__name__))
self.initialized = True
return True
def uninitialize(self):
print("> Uninitializing '{0}' Component.".format(self.__class__.__name__))
self.initialized = False
return True
About
Metadata
Release files for Manager 2.0.5
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| Manager-2.0.5.tar.gz | 751.8 kB | Without provenance | Details for Manager-2.0.5.tar.gz |
Release files / Manager-2.0.5.tar.gz
| Download URL | Manager-2.0.5.tar.gz |
|---|---|
| Size | 751.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
89d16c3835d66f2b95352ee4449f8ece0f983b0c5171ce0774128a129a879091
|
|
BLAKE2b-256 checksum How to use checksums |
618d3b9bce5400950d1029131dfcbb8b4487ca932abbe735bda412fdae149e7b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
Security for Manager 2.0.5
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.