{ "info": { "author": "Yu Liang", "author_email": "yu.liang@thekono.com", "bugtrack_url": null, "classifiers": [], "description": "# interactor\nInteractor provides a common interface for performing complex user interactions. It's inspired by [collectiveidea's interactor gem](https://github.com/collectiveidea/interactor).\n\n### An Example Interactor\n\n```python\nfrom interactor import Interactor\n\nclass AuthenticateUser(Interacotr):\n\n def run(self):\n\n user = User.authenticate(self.context.email, self.context.password)\n if user:\n self.context.user = user\n self.context.token = user.secret_token\n else:\n raise RuntimeError('Fail to authenticate user')\n```\n\n### Usage\n\n```python\nfrom somewhere import AuthenticateUser\n\nctx = AuthenticateUser.call(email='test@gmail.com', password='secret')\nprint ctx.user\nprint ctx.token\n```", "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/yu-liang-kono/interactor", "keywords": null, "license": "UNKNOWN", "maintainer": null, "maintainer_email": null, "name": "interactor", "package_url": "https://pypi.org/project/interactor/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/interactor/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://github.com/yu-liang-kono/interactor" }, "release_url": "https://pypi.org/project/interactor/0.1.2/", "requires_dist": null, "requires_python": null, "summary": "Interactor provides a common interface for performing complex user interactions.", "version": "0.1.2" }, "last_serial": 1568130, "releases": { "0.1.1": [ { "comment_text": "", "digests": { "md5": "ad4ac2c234b75a030d374198f9cf1435", "sha256": "b9de7c4e67a2858f88c1906272e53af35ff06d63ac6b5821719ba8fd2d1cc120" }, "downloads": -1, "filename": "interactor-0.1.1.tar.gz", "has_sig": false, "md5_digest": "ad4ac2c234b75a030d374198f9cf1435", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1878, "upload_time": "2015-02-19T15:18:55", "url": "https://files.pythonhosted.org/packages/4c/ee/f6fe3b3b5463d6d4c8ec6ef4be21ea78da9c5b21358b4d9c5454be7efcac/interactor-0.1.1.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "ed08c67911100d18f73eec0c095dcf02", "sha256": "9bdb1910b912b66a977d039c745c250acde047541abfabee04925cc8284208e7" }, "downloads": -1, "filename": "interactor-0.1.2.tar.gz", "has_sig": false, "md5_digest": "ed08c67911100d18f73eec0c095dcf02", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1963, "upload_time": "2015-05-29T16:07:36", "url": "https://files.pythonhosted.org/packages/b7/bd/9682c29bedd8002e42ab5b90a1c245951ffe0185bd83ca501b4036960b5c/interactor-0.1.2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "ed08c67911100d18f73eec0c095dcf02", "sha256": "9bdb1910b912b66a977d039c745c250acde047541abfabee04925cc8284208e7" }, "downloads": -1, "filename": "interactor-0.1.2.tar.gz", "has_sig": false, "md5_digest": "ed08c67911100d18f73eec0c095dcf02", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1963, "upload_time": "2015-05-29T16:07:36", "url": "https://files.pythonhosted.org/packages/b7/bd/9682c29bedd8002e42ab5b90a1c245951ffe0185bd83ca501b4036960b5c/interactor-0.1.2.tar.gz" } ] }