{ "info": { "author": "Ken", "author_email": "kenjyco@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Environment :: Console", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Programming Language :: Python", "Programming Language :: Python :: 3.5", "Topic :: Software Development :: Libraries" ], "description": "Install\n-------\n\n::\n\n % pip3 install bg-helper\n\nUsage\n-----\n\nUse ``bg_helper.call_func`` when you need to call a function (with\narbitrary ``*args`` and ``**kwargs``) and log any uncaught exceptions. A\ndict is returned with\n\n- ``func_name``\n- ``args``\n- ``kwargs``\n- ``status`` (ok/error)\n\nIf the function call was successful, there will also be a ``value`` key.\nIf there was an uncaught exception, the following additional keys will\nbe provided in the return dict\n\n- ``error_type``\n- ``error_value``\n- ``fqdn``\n- ``func_doc``\n- ``func_module``\n- ``time_epoch``\n- ``time_string``\n- ``traceback_string``\n\nUse ``bg_helper.SimpleBackgroundTask`` when you need to start a\nlong-running Python function, or system command (like ``vlc`` media\nplayer) in the background.\n\n::\n\n % ipython\n ...\n\n In [1]: import bg_helper as bh\n\n In [2]: def lame():\n ...: return 1/0\n\n In [3]: def blah(*args, **kwargs):\n ...: return locals()\n\n In [4]: bh.call_func(blah)\n Out[4]: \n {'args': '()',\n 'func_name': 'blah',\n 'kwargs': '{}',\n 'status': 'ok',\n 'value': {'args': (), 'kwargs': {}}}\n\n In [5]: bh.call_func(blah, 'cats', 'dogs')\n Out[5]: \n {'args': \"('cats', 'dogs')\",\n 'func_name': 'blah',\n 'kwargs': '{}',\n 'status': 'ok',\n 'value': {'args': ('cats', 'dogs'), 'kwargs': {}}}\n\n In [6]: bh.call_func(blah, 'cats', 'dogs', meh=[1, 2, 3, 4, 5])\n Out[6]: \n {'args': \"('cats', 'dogs')\",\n 'func_name': 'blah',\n 'kwargs': \"{'meh': [1, 2, 3, 4, 5]}\",\n 'status': 'ok',\n 'value': {'args': ('cats', 'dogs'), 'kwargs': {'meh': [1, 2, 3, 4, 5]}}}\n\n In [7]: bh.call_func(lame)\n ======================================================================\n 2017-04-01 12:32:35,107: func=lame args=() kwargs={}\n Traceback (most recent call last):\n File \"/tmp/here/venv/lib/python3.5/site-packages/bg_helper/__init__.py\", line 70, in call_func\n value = func(*args, **kwargs)\n File \"\", line 2, in lame\n return 1/0\n ZeroDivisionError: division by zero\n\n Out[7]: \n {'args': '()',\n 'error_type': \"\",\n 'error_value': \"ZeroDivisionError('division by zero',)\",\n 'fqdn': 'x200-purple',\n 'func_doc': None,\n 'func_module': '__main__',\n 'func_name': 'lame',\n 'kwargs': '{}',\n 'status': 'error',\n 'time_epoch': 1491067955.1004958,\n 'time_string': '2017_0401-Sat-123235',\n 'traceback_string': 'Traceback (most recent call last):\\n File \"/tmp/here/venv/lib/python3.5/site-packages/bg_helper/__init__.py\", line 70, in call_func\\n value = func(*args, **kwargs)\\n File \"\", line 2, in lame\\n return 1/0\\nZeroDivisionError: division by zero\\n'}\n\n In [8]: cat log--bg-helper.log\n 2017-04-01 12:32:35,107 - ERROR - call_func: func=lame args=() kwargs={}\n Traceback (most recent call last):\n File \"/tmp/here/venv/lib/python3.5/site-packages/bg_helper/__init__.py\", line 70, in call_func\n value = func(*args, **kwargs)\n File \"\", line 2, in lame\n return 1/0\n ZeroDivisionError: division by zero\n\n In [9]: bh.SimpleBackgroundTask('echo \"hello from console\" > /tmp/blahblah.txt')\n Out[9]: \n\n In [10]: ls /tmp/blahblah.txt\n /tmp/blahblah.txt\n\n In [11]: cat /tmp/blahblah.txt\n hello from console\n\n In [12]: bh.SimpleBackgroundTask('echo \"$(date)\" >> /tmp/blahblah.txt')\n Out[12]: \n\n In [13]: cat /tmp/blahblah.txt\n hello from console\n Sat Apr 1 12:33:23 CDT 2017\n\n\n", "description_content_type": "", "docs_url": null, "download_url": "https://github.com/kenjyco/bg-helper/tarball/v0.1.8", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/kenjyco/bg-helper", "keywords": "background,helper", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "bg-helper", "package_url": "https://pypi.org/project/bg-helper/", "platform": "", "project_url": "https://pypi.org/project/bg-helper/", "project_urls": { "Download": "https://github.com/kenjyco/bg-helper/tarball/v0.1.8", "Homepage": "https://github.com/kenjyco/bg-helper" }, "release_url": "https://pypi.org/project/bg-helper/0.1.8/", "requires_dist": [ "fs-helper" ], "requires_python": "", "summary": "Common CLI background helpers", "version": "0.1.8" }, "last_serial": 4637797, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "c91c45596d0c155ada5b65506d0021b6", "sha256": "bb9701b2e6d9868362a9c855320bf3c2cb0638f2fe38b99b983ff20318f238e6" }, "downloads": -1, "filename": "bg_helper-0.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "c91c45596d0c155ada5b65506d0021b6", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 3084, "upload_time": "2017-03-26T02:23:14", "url": "https://files.pythonhosted.org/packages/36/85/252db590836e3e4a1b1e4535fb70d799561c62835b4a0e99655038a7ceaf/bg_helper-0.1.0-py3-none-any.whl" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "b6c59832820469f58192b6eeb7a2dfdd", "sha256": "197db4606fdbcbd1a7187567bdc4d516dd8050ea5a6102394966040591b951db" }, "downloads": -1, "filename": "bg_helper-0.1.1-py3-none-any.whl", "has_sig": false, "md5_digest": "b6c59832820469f58192b6eeb7a2dfdd", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 3640, "upload_time": "2017-03-30T05:46:40", "url": "https://files.pythonhosted.org/packages/5e/ad/cf5eeda4b527e0343e6f60fad3eb35266aef5274d164b4121b7ec49ab884/bg_helper-0.1.1-py3-none-any.whl" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "519b39856c82e18975a7bd6b72c4df16", "sha256": "93296834e9a3c112e6fa2e78b91f324f31cbec0fe218e509475ce3f95d85a37b" }, "downloads": -1, "filename": "bg_helper-0.1.2-py3-none-any.whl", "has_sig": false, "md5_digest": "519b39856c82e18975a7bd6b72c4df16", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 6023, "upload_time": "2017-04-01T18:36:39", "url": "https://files.pythonhosted.org/packages/2b/03/4af0d7c3504e44f31acb6ebdbbcacd7f7761cf58c630d8ee6eabd33f2a70/bg_helper-0.1.2-py3-none-any.whl" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "66185148dd6e46cf5c286041a6c395df", "sha256": "6825cf9c39da46687d3c7920df40e00661fc82a6449ae9c89fc59523d3e9bc89" }, "downloads": -1, "filename": "bg_helper-0.1.3-py3-none-any.whl", "has_sig": false, "md5_digest": "66185148dd6e46cf5c286041a6c395df", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 6023, "upload_time": "2017-10-31T13:18:45", "url": "https://files.pythonhosted.org/packages/3f/85/489e53f4f9300260e974c89d35f2a51c14fecb324cc9bc97c786b1cfe21d/bg_helper-0.1.3-py3-none-any.whl" } ], "0.1.4": [ { "comment_text": "", "digests": { "md5": "5eb0aef4dcdb4d40e3cb235a512a1453", "sha256": "3471c877fc0e49a0ea5fbcf348ec64ec67eed2689599afa5117fa316f348fef5" }, "downloads": -1, "filename": "bg_helper-0.1.4-py3-none-any.whl", "has_sig": false, "md5_digest": "5eb0aef4dcdb4d40e3cb235a512a1453", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 6124, "upload_time": "2017-11-04T13:35:50", "url": "https://files.pythonhosted.org/packages/6e/83/821106e66d224bbf0552909ee9001a92aad74ef29d88dd26217d604ba836/bg_helper-0.1.4-py3-none-any.whl" } ], "0.1.5": [ { "comment_text": "", "digests": { "md5": "2a68c473d13135bfb6e142cb64afea75", "sha256": "6d60454ee1cd7ac9f0ed268457fbf97d09e0db2216adf167f6aa509bd46def5e" }, "downloads": -1, "filename": "bg_helper-0.1.5-py3-none-any.whl", "has_sig": false, "md5_digest": "2a68c473d13135bfb6e142cb64afea75", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 6178, "upload_time": "2018-02-05T15:25:13", "url": "https://files.pythonhosted.org/packages/37/74/00877cf6393b2c6cf654a14ec08b1559840b2ad9c559b4e794f115def687/bg_helper-0.1.5-py3-none-any.whl" } ], "0.1.6": [ { "comment_text": "", "digests": { "md5": "160e3b2971d06f52709597c8994289fd", "sha256": "df56dfa9b6db2d5ac88195af4ab4cebd335278f3a0a22598338bd6a413325a3c" }, "downloads": -1, "filename": "bg_helper-0.1.6-py3-none-any.whl", "has_sig": false, "md5_digest": "160e3b2971d06f52709597c8994289fd", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 4685, "upload_time": "2018-12-13T14:46:46", "url": "https://files.pythonhosted.org/packages/46/0f/e2de6d085c5da2489e6939510e4d305ccd663b8729720aa57bdf723b78f6/bg_helper-0.1.6-py3-none-any.whl" } ], "0.1.7": [ { "comment_text": "", "digests": { "md5": "61db5b75aa596602fd40f797367b762a", "sha256": "4301e10877cf294e11d3fc0568ec0bc10646acd367293280ea5e56b483ce238f" }, "downloads": -1, "filename": "bg_helper-0.1.7-py3-none-any.whl", "has_sig": false, "md5_digest": "61db5b75aa596602fd40f797367b762a", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 4528, "upload_time": "2018-12-13T20:35:33", "url": "https://files.pythonhosted.org/packages/2b/2e/3b385d8de470257ca969c857fd8a6c71ae6dc7d8869b5e76107c846c2413/bg_helper-0.1.7-py3-none-any.whl" } ], "0.1.8": [ { "comment_text": "", "digests": { "md5": "9015a66d5b28b49b9b448c1fb0173c4d", "sha256": "dcc7fa56784ea2cc3813cd56866d36a1981b769396d229a75a336b698ae307ee" }, "downloads": -1, "filename": "bg_helper-0.1.8-py3-none-any.whl", "has_sig": false, "md5_digest": "9015a66d5b28b49b9b448c1fb0173c4d", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 4671, "upload_time": "2018-12-27T12:41:52", "url": "https://files.pythonhosted.org/packages/f1/ad/b9d9a199c065e337cd26d86004c8658d6c14175b4a50a474bb235235a478/bg_helper-0.1.8-py3-none-any.whl" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "9015a66d5b28b49b9b448c1fb0173c4d", "sha256": "dcc7fa56784ea2cc3813cd56866d36a1981b769396d229a75a336b698ae307ee" }, "downloads": -1, "filename": "bg_helper-0.1.8-py3-none-any.whl", "has_sig": false, "md5_digest": "9015a66d5b28b49b9b448c1fb0173c4d", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 4671, "upload_time": "2018-12-27T12:41:52", "url": "https://files.pythonhosted.org/packages/f1/ad/b9d9a199c065e337cd26d86004c8658d6c14175b4a50a474bb235235a478/bg_helper-0.1.8-py3-none-any.whl" } ] }