{ "info": { "author": "int3rlop3r", "author_email": "int3rlop3r@yahoo.in", "bugtrack_url": null, "classifiers": [], "description": "Sprinkler\n=========\nA small python library that helps you write co-routines\nin an event-driven way. In short it 'sprinkles' data passed\nto the '.sprinkle' function to all sub-classes of 'Task' in\na round robin manner.\n\nA simple example:\n\n from pysprinkler import Task, Sprinkler\n\n class RemoteDBHandler(Task):\n \n def __init__(self):\n print(\"Started RemoteDBHandler\")\n \n def on_data(self, data):\n print(\"RemoteDBHandler: {}\".format(data))\n \n def on_end(self):\n print(\"Closing RemoteDBHandler\")\n \n \n class LocalDBHandler(Task):\n \n def __init__(self):\n print(\"Started LocalDBHandler\")\n \n def on_data(self, data):\n print(\"LocalDBHandler: {}\".format(data))\n \n def on_end(self):\n print(\"Closing LocalDBHandler\")\n \n class STNHandler(Task):\n \n def __init__(self):\n print(\"Started STNHandler\")\n \n def on_data(self, data):\n print(\"STNHandler: {}\".format(data))\n \n def on_end(self):\n print(\"Closing STNHandler\")\n\n rdb_handler = RemoteDBHandler()\n ldb_handler = LocalDBHandler()\n stn_handler = STNHandler()\n\n s = Sprinkler([rdb_handler, ldb_handler, stn_handler])\n s.start()\n\n lines = [\"Line 1\", \"Line 2\", \"Line 3\", \"Line 4\", \"Line 5\"]\n for line in lines:\n # sends 'line' to all 'Task's in a \n # round robin manner\n s.sprinkle(line)\n s.close()\n\nOutput:\n\n Started RemoteDBHandler\n Started LocalDBHandler\n Started STNHandler\n RemoteDBHandler: Line 1\n LocalDBHandler: Line 1\n STNHandler: Line 1\n RemoteDBHandler: Line 2\n LocalDBHandler: Line 2\n STNHandler: Line 2\n RemoteDBHandler: Line 3\n LocalDBHandler: Line 3\n STNHandler: Line 3\n RemoteDBHandler: Line 4\n LocalDBHandler: Line 4\n STNHandler: Line 4\n RemoteDBHandler: Line 5\n LocalDBHandler: Line 5\n STNHandler: Line 5\n Closing RemoteDBHandler\n Closing LocalDBHandler\n Closing STNHandler", "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/int3rlop3r/sprinkler", "keywords": null, "license": "UNKNOWN", "maintainer": null, "maintainer_email": null, "name": "pysprinkler", "package_url": "https://pypi.org/project/pysprinkler/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/pysprinkler/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://github.com/int3rlop3r/sprinkler" }, "release_url": "https://pypi.org/project/pysprinkler/1.1/", "requires_dist": null, "requires_python": null, "summary": "UNKNOWN", "version": "1.1" }, "last_serial": 2166332, "releases": { "1.0": [ { "comment_text": "", "digests": { "md5": "22480676b15231134fa92689fe5d3815", "sha256": "8a5ee2d3052874f060b2e2026d8052cd0799124ae13c91e305a40eee5ff6395a" }, "downloads": -1, "filename": "pysprinkler-1.0.tar.gz", "has_sig": false, "md5_digest": "22480676b15231134fa92689fe5d3815", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1473, "upload_time": "2016-06-14T10:42:44", "url": "https://files.pythonhosted.org/packages/b1/c9/f60c7889f7dcdfd919f9d72177b7cfe1c0da61a4cf3776b43ec871df9f39/pysprinkler-1.0.tar.gz" } ], "1.1": [ { "comment_text": "", "digests": { "md5": "057249e913c5c2bd059693c51c1928fc", "sha256": "0eafaf38dfb519d8d2857a9f47948e44c802927659280315ad5bd1827236fcac" }, "downloads": -1, "filename": "pysprinkler-1.1.tar.gz", "has_sig": false, "md5_digest": "057249e913c5c2bd059693c51c1928fc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1723, "upload_time": "2016-06-14T10:53:47", "url": "https://files.pythonhosted.org/packages/0f/cd/93819859853dab4116fe0b639cfe2e48543b667de6637bf25f50250efce0/pysprinkler-1.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "057249e913c5c2bd059693c51c1928fc", "sha256": "0eafaf38dfb519d8d2857a9f47948e44c802927659280315ad5bd1827236fcac" }, "downloads": -1, "filename": "pysprinkler-1.1.tar.gz", "has_sig": false, "md5_digest": "057249e913c5c2bd059693c51c1928fc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1723, "upload_time": "2016-06-14T10:53:47", "url": "https://files.pythonhosted.org/packages/0f/cd/93819859853dab4116fe0b639cfe2e48543b667de6637bf25f50250efce0/pysprinkler-1.1.tar.gz" } ] }