{ "info": { "author": "Colm O'Connor", "author_email": "colm.oconnor.github@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.6", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.1", "Programming Language :: Python :: 3.2", "Programming Language :: Python :: 3.3", "Topic :: Software Development :: Build Tools" ], "description": "PatrolTrigger\n=============\n\nTrigger custom commands from filesystem events.\n\nPatrol uses libuv, which creates event driven hooks to filesystem events using epoll, kqueue or IOCP.\n\nYou can use it to selectively build your project when files change and run tests as soon as you hit the save button.\n\n\nUse\n===\n\nTo install::\n\n sudo pip install patroltrigger\n\n\nCreate a patrol.py file in your project's root directory:\n\n.. code-block:: python\n\n #!/usr/bin/python\n from patroltrigger import runnable, run, trigger\n\n @trigger([\"*.py\", ], exclude=['venv/*',])\n def trigger1(filenames):\n print \"trigger1\"\n run(\"\"\"echo first command triggered\"\"\")\n the_output_is_in_this_variable_though = run(\"echo this command is run, but the output is not displayed\", silent=True)\n\n @trigger([\"*.py\", ], exclude=['venv/*',])\n def trigger2(filenames):\n print \"trigger2 command triggered with filename: {}\".format(', '.join(filenames))\n run(\"false\", ignore_errors=True) # If ignore_errors=False, nothing further will be executed.\n run(\"\"\"echo if ignore_errors is False or not specified, you wont ever see this command *or* the results of trigger3.\"\"\")\n\n @trigger([\"*.py\", ], exclude=['venv/*',])\n def trigger3(filenames):\n print \"trigger3 command triggered with filename: {}\".format(', '.join(filenames))\n\n runnable(__name__)\n\n\nRun like so::\n\n $ python patrol.py\n\n\nOr get help::\n\n $ python patrol.py --help\n Usage: patrol.py [options]\n\n Options:\n -h, --help show this help message and exit\n -r RUN, --run=RUN Specify a method in patrol.py to run directly.\n -a, --all Run all methods in patrol.py in priority order.\n -p POST, --post=POST Command to run after a trigger (e.g. guake)\n -d DIRECTORY, --directory=DIRECTORY\n Directory to run patrol.py in (default:\n /home/user/yourproject).\n\n\n\nFeatures\n========\n\n* If multiple methods are triggered by a changed file, they will run *in the order they appear* in patrol.py.\n* Queue up triggers by putting a file named 'lock' in the directory patrol.py is run from. Once 'lock' is removed, the pent up triggers will all be fired.\n* Each time a set of methods are triggered, the total run time is timed.\n* If a command fails (e.g. a unit test), the method is aborted by default at that point to shorten feedback time. Subsequent methods will not run.\n* Run a custom command after each method is finished (e.g. guake, notify-send).\n* Ability to run commands manually.", "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/crdoconnor/patroltrigger", "keywords": "development environment tool pyuv epoll build", "license": "MIT", "maintainer": null, "maintainer_email": null, "name": "patroltrigger", "package_url": "https://pypi.org/project/patroltrigger/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/patroltrigger/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://github.com/crdoconnor/patroltrigger" }, "release_url": "https://pypi.org/project/patroltrigger/0.3/", "requires_dist": null, "requires_python": null, "summary": "Trigger custom commands from filesystem events.", "version": "0.3" }, "last_serial": 1489476, "releases": { "0.1": [ { "comment_text": "", "digests": { "md5": "7c8f7a724db6d6522bd3f82ff7360bf1", "sha256": "862e1d75a343bfcacf6c83a37f0fc3b5efb3c8f19c41a1ce7577e697736a4728" }, "downloads": -1, "filename": "patroltrigger-0.1.tar.gz", "has_sig": false, "md5_digest": "7c8f7a724db6d6522bd3f82ff7360bf1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4153, "upload_time": "2015-04-01T13:23:38", "url": "https://files.pythonhosted.org/packages/19/ff/db759f9436949b185aaf636766a782bf1279ff7ccddb468050534558a094/patroltrigger-0.1.tar.gz" } ], "0.2": [ { "comment_text": "", "digests": { "md5": "f3cb65c7e49b1319bea2d7724773a4e0", "sha256": "97cd3a812fadf22af9856e6dc2fd56572a4ece95b6d8108306229bfd66fd1aab" }, "downloads": -1, "filename": "patroltrigger-0.2.tar.gz", "has_sig": false, "md5_digest": "f3cb65c7e49b1319bea2d7724773a4e0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4991, "upload_time": "2015-04-02T13:32:07", "url": "https://files.pythonhosted.org/packages/39/40/eb5b4c8dcc8b45081c57e2a07e3998b3480389c1094d3f361800b06d03c6/patroltrigger-0.2.tar.gz" } ], "0.3": [ { "comment_text": "", "digests": { "md5": "a9d61a396c1f3110eb0d8ad3073538a2", "sha256": "6512f6f5426e9d407b66d4f7b8d9d174dc7ba21c746898a3d6aa3aac48a7f16c" }, "downloads": -1, "filename": "patroltrigger-0.3.tar.gz", "has_sig": false, "md5_digest": "a9d61a396c1f3110eb0d8ad3073538a2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5157, "upload_time": "2015-04-03T10:37:01", "url": "https://files.pythonhosted.org/packages/b0/09/d9d5eb0e623c10356260b3f3a000ce1db21ba0a050f986b813e290811ba8/patroltrigger-0.3.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "a9d61a396c1f3110eb0d8ad3073538a2", "sha256": "6512f6f5426e9d407b66d4f7b8d9d174dc7ba21c746898a3d6aa3aac48a7f16c" }, "downloads": -1, "filename": "patroltrigger-0.3.tar.gz", "has_sig": false, "md5_digest": "a9d61a396c1f3110eb0d8ad3073538a2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5157, "upload_time": "2015-04-03T10:37:01", "url": "https://files.pythonhosted.org/packages/b0/09/d9d5eb0e623c10356260b3f3a000ce1db21ba0a050f986b813e290811ba8/patroltrigger-0.3.tar.gz" } ] }