{ "info": { "author": "Stefan Braun", "author_email": "sbraun@datacomm.ch", "bugtrack_url": null, "classifiers": [], "description": "# visitoolkit_eventsystem\nminimalistic event system \n\n**Installation via pip** \nhttps://pypi.org/project/visitoolkit-eventsystem \n*(runs on Python 3)* \n\n\n## description\nRegistered handlers (a bag of handlers) getting called when event gets fired \nusing ideas from \"axel events\" https://github.com/axel-events/axel \nand \"event system\" from http://www.valuedlessons.com/2008/04/events-in-python.html\n\n## usage\n```python\nfrom visitoolkit_eventsystem import eventsystem\n\n# handlers are callback functions in your code,\n# when firing an event visitoolkit_eventsystem will call them with the given argument(s)\ndef cb1(event_id, *arg, **args):\n if event_id > 0:\n # handle event...\n return True\n else:\n return False\n\n# Default is synchronous execution of handlers (blocking main thread, collecting all results)\n# sync_mode=False means asynchronous execution of handlers (one background thread calls all handlers) \n# =>Details about flag \"exc_info\"(default is True): https://docs.python.org/3/library/sys.html#sys.exc_info\n# =>Flag \"traceback\" (default is False) controls verbosity of error_info when an exception occurred\nes = eventsystem.EventSystem(sync_mode=True)\n\n# adding or removing handlers in list-like syntax\nes += cb1\n\n#The execution result is returned as a list containing all results per handler having this structure:\n# exec_result = [\n# (True, result, handler), # on success\n# (False, error_info, handler), # on error\n# (None, None, handler), ... # asynchronous execution\n# ]\n\n# firing event\nresult = es(42)\n```\n\nIncreasing logging level for bughunting:\n```python\nimport logging\nlogging.getLogger('visitoolkit_eventsystem').setLevel(logging.DEBUG)\n```\n\n## background information\n**visitoolkit_eventsystem** is used in **visitoolkit_connector** as core part of **visitoolkit**. \n\n**visitoolkit** is written for the proprietary Building and Process Management System\n'ProMoS NT' (c) MST Systemtechnik AG' \n(also known as 'Saia Visi.Plus' (c) Saia-Burgess Controls AG) \n\nIntention: \nSupport creator of visualisation projects... \nAdd efficiency... \nReduce manual error-prone processes... \nAdd missing features...\n\nDisclaimer: Use 'visitoolkit' at your own risk!", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/stefanbraun-private/visitoolkit_eventsystem", "keywords": "", "license": "GPL-3.0", "maintainer": "", "maintainer_email": "", "name": "visitoolkit-eventsystem", "package_url": "https://pypi.org/project/visitoolkit-eventsystem/", "platform": "", "project_url": "https://pypi.org/project/visitoolkit-eventsystem/", "project_urls": { "Homepage": "https://github.com/stefanbraun-private/visitoolkit_eventsystem" }, "release_url": "https://pypi.org/project/visitoolkit-eventsystem/0.1.5/", "requires_dist": null, "requires_python": "", "summary": "minimalistic event system (a bag of handlers)", "version": "0.1.5" }, "last_serial": 4297235, "releases": { "0.1.4": [ { "comment_text": "", "digests": { "md5": "c2cc8a8794d7c6d9ff1cd78d73808537", "sha256": "c47519f00d811eb94e7867b3a9cf1a47dc8a8c0ff53d359587f010c54c93148b" }, "downloads": -1, "filename": "visitoolkit_eventsystem-0.1.4-py3-none-any.whl", "has_sig": false, "md5_digest": "c2cc8a8794d7c6d9ff1cd78d73808537", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 7027, "upload_time": "2018-09-17T17:48:37", "url": "https://files.pythonhosted.org/packages/4e/46/f9c8d4ab42a6280a773f24bfe9a2e7944508d7ecf35f3c967b0a547a79cc/visitoolkit_eventsystem-0.1.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b127b4d0cbb5be18f4e6b55677eb5cb4", "sha256": "45018be488b28aba04b7f56efd5e9355e8323d0f13552aa1dd1219e715c660ea" }, "downloads": -1, "filename": "visitoolkit-eventsystem-0.1.4.tar.gz", "has_sig": false, "md5_digest": "b127b4d0cbb5be18f4e6b55677eb5cb4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22366, "upload_time": "2018-09-17T17:48:38", "url": "https://files.pythonhosted.org/packages/3d/da/038c4cd644bb6ebf883ff22dd82146e79b12f11a4ab9b79b7f95960a7464/visitoolkit-eventsystem-0.1.4.tar.gz" } ], "0.1.5": [ { "comment_text": "", "digests": { "md5": "bee6f48f03d960c97390c28fe4c02301", "sha256": "bcf8d7f038ab418a539ffb8d50bfc1c9661195c450b6eb11f584cc3d7a91e7c4" }, "downloads": -1, "filename": "visitoolkit_eventsystem-0.1.5-py3-none-any.whl", "has_sig": false, "md5_digest": "bee6f48f03d960c97390c28fe4c02301", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 7094, "upload_time": "2018-09-21T17:50:23", "url": "https://files.pythonhosted.org/packages/95/50/2961f8e80c22613db2cadfbe47da9e85871532753ce4ca00d874019893a5/visitoolkit_eventsystem-0.1.5-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "8019fd6f36b99615ce1916e5c5215eeb", "sha256": "f3842a32cfc6e42c99f3bc5723e30b1ac605e462a2d94ebcd3582108d39f017c" }, "downloads": -1, "filename": "visitoolkit-eventsystem-0.1.5.tar.gz", "has_sig": false, "md5_digest": "8019fd6f36b99615ce1916e5c5215eeb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22568, "upload_time": "2018-09-21T17:49:23", "url": "https://files.pythonhosted.org/packages/8a/40/2b126caa647c5f5e5397a3e84410d9596c3c1ca801987f735c2adb9bdb25/visitoolkit-eventsystem-0.1.5.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "bee6f48f03d960c97390c28fe4c02301", "sha256": "bcf8d7f038ab418a539ffb8d50bfc1c9661195c450b6eb11f584cc3d7a91e7c4" }, "downloads": -1, "filename": "visitoolkit_eventsystem-0.1.5-py3-none-any.whl", "has_sig": false, "md5_digest": "bee6f48f03d960c97390c28fe4c02301", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 7094, "upload_time": "2018-09-21T17:50:23", "url": "https://files.pythonhosted.org/packages/95/50/2961f8e80c22613db2cadfbe47da9e85871532753ce4ca00d874019893a5/visitoolkit_eventsystem-0.1.5-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "8019fd6f36b99615ce1916e5c5215eeb", "sha256": "f3842a32cfc6e42c99f3bc5723e30b1ac605e462a2d94ebcd3582108d39f017c" }, "downloads": -1, "filename": "visitoolkit-eventsystem-0.1.5.tar.gz", "has_sig": false, "md5_digest": "8019fd6f36b99615ce1916e5c5215eeb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22568, "upload_time": "2018-09-21T17:49:23", "url": "https://files.pythonhosted.org/packages/8a/40/2b126caa647c5f5e5397a3e84410d9596c3c1ca801987f735c2adb9bdb25/visitoolkit-eventsystem-0.1.5.tar.gz" } ] }