{ "info": { "author": "Thomas Mansencal", "author_email": "thomas.mansencal@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Environment :: Console", "Intended Audience :: Developers", "License :: OSI Approved :: GNU General Public License v3 (GPLv3)", "Natural Language :: English", "Operating System :: OS Independent", "Programming Language :: Python :: 2.7", "Topic :: Utilities" ], "description": "Manager\n=======\n\n.. image:: https://secure.travis-ci.org/KelSolaar/Manager.png?branch=master\n.. image:: https://gemnasium.com/KelSolaar/Manager.png \n\nIntroduction\n------------\n\n**Manager** is the Components Manager package of `Umbra `_, `sIBL_GUI `_ and `sIBL_Reporter `_. Components are simple python packages extending capabilities of their host application.\n\nInstallation\n------------\n\nThe following dependencies are needed:\n\n- **Python 2.6.7** or **Python 2.7.3**: http://www.python.org/\n- **PyQt**: http://www.riverbankcomputing.co.uk/\n\nTo install **Manager** from the `Python Package Index `_ you can issue this command in a shell::\n\n\tpip install Manager\n\nor this alternative command::\n\n\teasy_install Manager\n\nYou can also directly install from `Github `_ source repository::\n\n\tgit clone git://github.com/KelSolaar/Manager.git\n\tcd Manager\n\tpython setup.py install\n\nIf you want to build the documentation you will also need:\n\n- **Tidy** http://tidy.sourceforge.net/\n\nUsage\n-----\n\nPlease refer to `Manager - Api `_ for precise usage examples.\n\nA Component package contains at least a resource **.rc** description file and a main module::\n\n\ttestsComponentA\n\t\u251c\u2500\u2500 __init__.py\n\t\u251c\u2500\u2500 testsComponentA.py\n\t\u2514\u2500\u2500 testsComponentA.rc\n\nThe description file is a configuration style file with a structure similar to what you would find in Microsoft Windows INI files::\n\n\t[Component]\n\tName = core.testsComponentA\n\tTitle = Tests Component A\n\tModule = testsComponentA\n\tObject = TestsComponentA\n\tVersion = 1.0\n\n\t[Informations]\n\tAuthor = Thomas Mansencal\n\tEmail = thomas.mansencal@gmail.com\n\tUrl = http://www.hdrlabs.com/\n\tDescription = Core tests Component A.\n\nGiven the following directories structure::\n\n\tcore\n\t\u251c\u2500\u2500 __init__.py\n\t\u251c\u2500\u2500 testsComponentA\n\t\u2502\u00a0\u00a0 \u251c\u2500\u2500 __init__.py\n\t\u2502\u00a0\u00a0 \u251c\u2500\u2500 testsComponentA.py\n\t\u2502\u00a0\u00a0 \u2514\u2500\u2500 testsComponentA.rc\n\t\u2514\u2500\u2500 testsComponentB\n\t\t\u251c\u2500\u2500 __init__.py\n\t\t\u251c\u2500\u2500 testsComponentB.py\n\t\t\u2514\u2500\u2500 testsComponentB.rc\n\nInstantiating the Components Manager is done the following way::\n\n\n\t>>> manager = Manager((\"./manager/tests/testsManager/resources/components/core\",))\n\t>>> manager.registerComponents()\n\tTrue\n\t>>> manager.listComponents()\n\t['core.testsComponentA', 'core.testsComponentB']\n\t>>> manager.instantiateComponents()\n\tTrue\n\t>>> manager.getInterface(\"core.testsComponentA\")\n\t\n\n**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**.\n\nThree base Components are provided by default:\n\n- **manager.component.Component**\n- **manager.qobjectComponent.QObjectComponent**\n- **manager.qwidgetComponent.QWidgetComponent**\n\nWhen inheriting from those Components, one have to reimplement the following methods for all the Components types:\n\n- **activate**\n- **deactivate**\n\n**activated** attribute has to be set accordingly in the methods implementation.\n\nWhen implementing a **manager.qwidgetComponent.Component** or **manager.qobjectComponent.QObjectComponent**, the following methods are also needed:\n\n- **initialize**\n- **uninitialize**\n\n**initialized** attribute has to be set accordingly in the methods implementation.\n\nOr alternatively, those methods when implementing a **manager.qwidgetComponent.QWidgetComponent**:\n\n- **initializeUi**\n- **uninitializeUi**\n\n**initializedUi** attribute has to be set accordingly in the methods implementation.\n\nReference Component implementation example class::\n\n\n\tclass TestsComponentA(Component):\n\n\t\tdef __init__(self, name=None):\n\t\t\tComponent.__init__(self, name=name)\n\t\t\t\n\t\t\tself.deactivatable = True\n\n\t\tdef activate(self):\n\t\t\tprint(\"> Activating '{0}' Component.\".format(self.__class__.__name__))\n\n\t\t\tself.activated = True\n\t\t\treturn True\n\n\t\tdef deactivate(self):\n\t\t\tprint(\"> Deactivating '{0}' Component.\".format(self.__class__.__name__))\n\n\t\t\tself.activated = False\n\t\t\treturn True\n\n\t\tdef initialize(self):\n\t\t\tprint(\"> Initializing '{0}' Component.\".format(self.__class__.__name__))\n\n\t\t\tself.initialized = True\n\t\t\treturn True\n\n\t\tdef uninitialize(self):\n\t\t\tprint(\"> Uninitializing '{0}' Component.\".format(self.__class__.__name__))\n\n\t\t\tself.initialized = False\n\t\t\treturn True\n\nAbout\n-----\n\n| **Manager** by Thomas Mansencal \u2013 2008 - 2014\n| Copyright \u00a9 2008 - 2014 \u2013 Thomas Mansencal \u2013 `thomas.mansencal@gmail.com `_\n| This software is released under terms of GNU GPL V3 license: http://www.gnu.org/licenses/\n| `http://www.thomasmansencal.com/ `_", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/KelSolaar/Manager", "keywords": null, "license": "GPLv3", "maintainer": null, "maintainer_email": null, "name": "Manager", "package_url": "https://pypi.org/project/Manager/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/Manager/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://github.com/KelSolaar/Manager" }, "release_url": "https://pypi.org/project/Manager/2.0.5/", "requires_dist": null, "requires_python": null, "summary": "Manager is the Components Manager package of Umbra, sIBL_GUI and sIBL_Reporter.", "version": "2.0.5" }, "last_serial": 1050802, "releases": { "2.0.1": [ { "comment_text": "", "digests": { "md5": "cde7ea4d0319f989fcc71a52bf5a8f5f", "sha256": "955495f7eaa7d0f747d1b25f73d200e862d4e64b2cb249862ba582fcb531db5f" }, "downloads": -1, "filename": "Manager-2.0.1.tar.gz", "has_sig": false, "md5_digest": "cde7ea4d0319f989fcc71a52bf5a8f5f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 519582, "upload_time": "2012-09-16T14:28:37", "url": "https://files.pythonhosted.org/packages/35/f1/a0b78c61cb606f5a6be4fd6db0f72ce273e9c8388e839e0b5dbd90d191ea/Manager-2.0.1.tar.gz" } ], "2.0.2": [ { "comment_text": "", "digests": { "md5": "e8e4ad299861f87030740086500e07e8", "sha256": "f0a90f296031d9b5de90c80278e1d3e891eaca93428c9860aed49b64ecd739ce" }, "downloads": -1, "filename": "Manager-2.0.2.tar.gz", "has_sig": false, "md5_digest": "e8e4ad299861f87030740086500e07e8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 520171, "upload_time": "2012-09-17T20:46:00", "url": "https://files.pythonhosted.org/packages/3a/6f/7819aa230673f0e121485f8f843d2bfcacd0aba360f3459efce8178b8e2d/Manager-2.0.2.tar.gz" } ], "2.0.3": [ { "comment_text": "", "digests": { "md5": "62b6a49a9979851af215a2afee7a9435", "sha256": "74b668f3e0ff4e337f2b40e7558837a9718c6a2667292804a36862c8a94efffe" }, "downloads": -1, "filename": "Manager-2.0.3.tar.gz", "has_sig": false, "md5_digest": "62b6a49a9979851af215a2afee7a9435", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 537006, "upload_time": "2012-11-26T14:54:56", "url": "https://files.pythonhosted.org/packages/fd/7e/1823c951999dc63fc4e7a1e7daf9e41911a74d5362b32c94d29fe3fc993a/Manager-2.0.3.tar.gz" } ], "2.0.4": [ { "comment_text": "", "digests": { "md5": "408b687232ffec83f3a68c8e5b689931", "sha256": "a49d12aedc40d5f7ab0cd8e717caef3be0766ea85005c497403f83ed2bbfa46c" }, "downloads": -1, "filename": "Manager-2.0.4.tar.gz", "has_sig": false, "md5_digest": "408b687232ffec83f3a68c8e5b689931", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 539588, "upload_time": "2013-04-21T06:59:01", "url": "https://files.pythonhosted.org/packages/f2/42/579c00cb1c6ae6f25a9b3138e565c1b5c052dc1be22f2f3b233ebc5069d9/Manager-2.0.4.tar.gz" } ], "2.0.5": [ { "comment_text": "", "digests": { "md5": "61bc2f8d2d027de8899859cd9310ecaa", "sha256": "89d16c3835d66f2b95352ee4449f8ece0f983b0c5171ce0774128a129a879091" }, "downloads": -1, "filename": "Manager-2.0.5.tar.gz", "has_sig": false, "md5_digest": "61bc2f8d2d027de8899859cd9310ecaa", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 751828, "upload_time": "2014-04-03T22:06:51", "url": "https://files.pythonhosted.org/packages/61/8d/3b9bce5400950d1029131dfcbb8b4487ca932abbe735bda412fdae149e7b/Manager-2.0.5.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "61bc2f8d2d027de8899859cd9310ecaa", "sha256": "89d16c3835d66f2b95352ee4449f8ece0f983b0c5171ce0774128a129a879091" }, "downloads": -1, "filename": "Manager-2.0.5.tar.gz", "has_sig": false, "md5_digest": "61bc2f8d2d027de8899859cd9310ecaa", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 751828, "upload_time": "2014-04-03T22:06:51", "url": "https://files.pythonhosted.org/packages/61/8d/3b9bce5400950d1029131dfcbb8b4487ca932abbe735bda412fdae149e7b/Manager-2.0.5.tar.gz" } ] }