{ "info": { "author": "BTaskaya", "author_email": "batuhanosmantaskaya@gmail.com", "bugtrack_url": null, "classifiers": [], "description": "# Catlizor (v1)\nAction Hooks\n\n> It modifies your methods, they aren't same after the hooking operation so you should use catalizor_instance.reset() method or you can wait for [v1-extended](https://github.com/BTaskaya/catlizor/tree/v1-extended) branch get merged. It overrites default behavior of python with doing some magical stuff and slowes your code down. I'm eager to complete it and never merge it.\n\n## Example\n```py\nfrom catlizor import Hook, Catlizor\n\nclass TaskManager:\n def __init__(self):\n self.tasks = {}\n \n def add_task(self, task: str, *items):\n self.tasks[task] = items\n \n def pop_task(self):\n return self.tasks.popitem()\n \n def get_tasks(self, task: str):\n return self.tasks[task]\n \n@Hook.pre\nclass PreLoggingHook(Hook):\n methods = ['add_task']\n callbacks = [lambda result: print(result.args, result.kwargs)]\n\n@Hook.on_call\nclass PostLoggingHook(Hook):\n methods = ['pop_task', 'get_tasks']\n callbacks = [lambda result: print(result.result)]\n\ntm_catlizor = Catlizor.hook(TaskManager, PreLoggingHook, PostLoggingHook)\ntm = TaskManager()\ntm.add_task(\"s\u00fct al\", \"markete git\", \"s\u00fct reyonuna ula\u015f\")\ntm.get_tasks(\"s\u00fct al\")\ntm.pop_task()\n```\n\nResult (stdout);\n```\n(<__main__.TaskManager object at 0x7fa851743748>, 's\u00fct al', 'markete git', 's\u00fct reyonuna ula\u015f') {}\n('markete git', 's\u00fct reyonuna ula\u015f')\n('s\u00fct al', ('markete git', 's\u00fct reyonuna ula\u015f'))\n```\n```", "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/btaskaya/catlizor", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "catlizor", "package_url": "https://pypi.org/project/catlizor/", "platform": "", "project_url": "https://pypi.org/project/catlizor/", "project_urls": { "Homepage": "https://github.com/btaskaya/catlizor" }, "release_url": "https://pypi.org/project/catlizor/1.0.0/", "requires_dist": null, "requires_python": "", "summary": "Action Hooks.", "version": "1.0.0" }, "last_serial": 4888497, "releases": { "0.1": [ { "comment_text": "", "digests": { "md5": "7aff98c25f886a24e8e874e89b7b7f63", "sha256": "633721067dde524dea5068e2e91db34abc0811553196d010bc6ca08dd4f62051" }, "downloads": -1, "filename": "catlizor-0.1.tar.gz", "has_sig": false, "md5_digest": "7aff98c25f886a24e8e874e89b7b7f63", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3513, "upload_time": "2019-02-24T08:04:12", "url": "https://files.pythonhosted.org/packages/da/31/6061d667bed0d51ce482230b16b44417bfb10eb337e9a79a34a57468f8a5/catlizor-0.1.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "7087610b58f6bdaa72d352cb53397677", "sha256": "4de5a545fe85269d9619cda2a24ff8bf72241895a5bd0ff1125278547d825fe7" }, "downloads": -1, "filename": "catlizor-0.1.1.tar.gz", "has_sig": false, "md5_digest": "7087610b58f6bdaa72d352cb53397677", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3532, "upload_time": "2019-02-24T08:05:21", "url": "https://files.pythonhosted.org/packages/4c/8a/fbe89b1c2b75e13384a77fc38e4328598f29d01fd9df9e94f470f9dcb94a/catlizor-0.1.1.tar.gz" } ], "0.2": [ { "comment_text": "", "digests": { "md5": "2c648aa6468e41905fe1dc47cb4d675d", "sha256": "101833f10a17567c0b54078250c5867ea8632f68272f36c1beddddb74c4c2b7b" }, "downloads": -1, "filename": "catlizor-0.2.tar.gz", "has_sig": false, "md5_digest": "2c648aa6468e41905fe1dc47cb4d675d", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7", "size": 3776, "upload_time": "2019-02-24T10:00:56", "url": "https://files.pythonhosted.org/packages/98/8c/a72105a24624dbbb2b3e7d4177f4149753fa46b6059dd51a66881c1fba47/catlizor-0.2.tar.gz" } ], "1.0.0": [ { "comment_text": "", "digests": { "md5": "4691d76be9e9228c2bca40ea0af0a71f", "sha256": "66d04e7f150d097c090570fef99fef3a53d763b63851dc0e3ddbd871ee8d19ee" }, "downloads": -1, "filename": "catlizor-1.0.0.tar.gz", "has_sig": false, "md5_digest": "4691d76be9e9228c2bca40ea0af0a71f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4799, "upload_time": "2019-03-02T15:07:47", "url": "https://files.pythonhosted.org/packages/2d/80/d4f0d684bc87b9f8dcaec7ff0e04f5a7abc901ff54e24d28efdd4532d770/catlizor-1.0.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "4691d76be9e9228c2bca40ea0af0a71f", "sha256": "66d04e7f150d097c090570fef99fef3a53d763b63851dc0e3ddbd871ee8d19ee" }, "downloads": -1, "filename": "catlizor-1.0.0.tar.gz", "has_sig": false, "md5_digest": "4691d76be9e9228c2bca40ea0af0a71f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4799, "upload_time": "2019-03-02T15:07:47", "url": "https://files.pythonhosted.org/packages/2d/80/d4f0d684bc87b9f8dcaec7ff0e04f5a7abc901ff54e24d28efdd4532d770/catlizor-1.0.0.tar.gz" } ] }