{ "info": { "author": "fspot", "author_email": "fred@fspot.org", "bugtrack_url": null, "classifiers": [], "description": "Clok\n====\n\n[![https://badge.fury.io/py/clok](https://badge.fury.io/py/clok.png)](https://badge.fury.io/py/clok)\n[![Build Status](https://travis-ci.org/fspot/clok.svg)](https://travis-ci.org/fspot/clok)\n[![Coverage Status](https://coveralls.io/repos/fspot/clok/badge.png)](https://coveralls.io/r/fspot/clok)\n[![License](https://pypip.in/license/clok/badge.svg)](https://pypi.python.org/pypi/clok/)\n\nListen to radio and set up alarms from your computer, and control it from a web UI. Relies on `mplayer`.\n\n![Screenshot](https://framapic.org/FASezG3yXdaR/1n2hthSsAA9e.png)\n\n#### Features :\n\n- easy to install (pure python dependencies: just `pip install clok`)\n- easy to use (just type `clok`)\n- list / add / remove / edit radios and alarms\n- can play online streams (webradios), but also local tracks or playlists\n- player controls: play / pause / volume up / volume down / mute / go backward / go forward\n- extra player controls for playlists : previous track / next track / shuffle\n- alarms settings allow to chose trigger time, duration, days of week\n- can be controlled via web ui or via REST API (python client inside)\n- web ui translated in french and english (according to system language)\n\nInstallation\n------------\n\n```\n$ sudo apt-get install mplayer\n$ sudo pip install clok\n```\n\n\nUsage\n-----\n\n```\nClok\n\nUsage:\n clok [-a ADDRESS -p PORT --database FILE --log LOG]\n clok -h | --help\n clok -v | --version\n\nOptions:\n -h --help Show this screen.\n -v --version Show version.\n -d --database FILE Specify the database filename (JSON storage).\n [default: ./db.json]\n -a --address ADDRESS Specify on which address to listen.\n [default: 0.0.0.0]\n -p --port PORT Specify on which port to listen.\n [default: 8000]\n --log LOG Specify where to log messages, and which level to set.\n Can be \"stderr\", \"syslog\", or a filename, followed by the level.\n [default: stderr:INFO]\n ```\n\nExample\n-------\n\n```\n$ clok -d /home/fred/clokdb.json -p 8080\n```\n\nThis command will run `clok` on port 8080 and store radios and alarms settings in JSON file `/home/fred/clokdb.json`.\n\n\nLaunch at startup\n-----------------\n\nClok is easy to launch at startup. For example with `supervisord` :\n\n```\n[program:clok]\ncommand=/usr/local/bin/clok -d /home/fred/clokdb.json\nuser=fred\ndirectory=/home/fred\nstopsignal=INT\n```\n\n\nPython client\n-------------\n\n```python\n>>> from clok.client import ClokClient\n>>> cc = ClokClient()\n>>> cc.list_alarms().json()\n{u'alarms': [{u'shuffle': False, u'uuid': u'52f5f8e0-7d09-4d40-b0bd-0acab3220383', u'days': [0, 1, 2, 3, 4], u'disabled': False, u'start': 27000, u'webradio': u'7baec513-0fe8-48f0-9411-69f8b40bc580', u'duration': 1800}], u'status': u'success'}\n>>> cc.pause().json()\n{u'status': u'success'}\n```", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://github.com/fspot/clok", "keywords": null, "license": "BSD", "maintainer": null, "maintainer_email": null, "name": "clok", "package_url": "https://pypi.org/project/clok/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/clok/", "project_urls": { "Download": "UNKNOWN", "Homepage": "http://github.com/fspot/clok" }, "release_url": "https://pypi.org/project/clok/2.0.2/", "requires_dist": null, "requires_python": null, "summary": "Listen to radio and set up alarms from your computer, control it from a web ui.", "version": "2.0.2" }, "last_serial": 1955684, "releases": { "1.0": [ { "comment_text": "", "digests": { "md5": "abbc386132468426728fb00bc5c5667d", "sha256": "f476704f8931cac36ec2d0de9279e23636473c9486e5f2852240e77e1062f236" }, "downloads": -1, "filename": "clok-1.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "abbc386132468426728fb00bc5c5667d", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 93881, "upload_time": "2015-02-16T10:52:22", "url": "https://files.pythonhosted.org/packages/1e/cd/2872cf5b03435f66402b1dfca3f8fca00864e611a37ae8915340b73960cb/clok-1.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "99827f16e7ba448cbfe2dfa77c672e4e", "sha256": "317945723c68b53e1eed5168646679298a0409df3688e331d765dc1746d7d150" }, "downloads": -1, "filename": "clok-1.0.tar.gz", "has_sig": false, "md5_digest": "99827f16e7ba448cbfe2dfa77c672e4e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 82088, "upload_time": "2015-02-16T10:52:19", "url": "https://files.pythonhosted.org/packages/03/21/181065d165895138fb55c3c9e2b14cf236f2fba4d9dafb9699d363e2194a/clok-1.0.tar.gz" } ], "1.0.1": [ { "comment_text": "", "digests": { "md5": "03692402dd379b0f5ca451e84c833874", "sha256": "792731f2202ad2a86132282e1ca40bcf77ce48792048067caeb67a9ea6854e42" }, "downloads": -1, "filename": "clok-1.0.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "03692402dd379b0f5ca451e84c833874", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 94644, "upload_time": "2015-02-16T13:32:47", "url": "https://files.pythonhosted.org/packages/47/11/a1cef3293144619ae4490c5f41b1b26328c5d028fee3e447c006ee0b3a3d/clok-1.0.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "9ae0909760d664b5d4fec04d16b198ea", "sha256": "7be75abd4ef3776316c9f92458083dfed0db64db3bd3e8dbded6d0ccbee8eeb7" }, "downloads": -1, "filename": "clok-1.0.1.tar.gz", "has_sig": false, "md5_digest": "9ae0909760d664b5d4fec04d16b198ea", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 82833, "upload_time": "2015-02-16T13:32:43", "url": "https://files.pythonhosted.org/packages/4c/01/318334b87880308aa8d390cd2a371494fd6bb2d61cf9dc9387b18d4387e7/clok-1.0.1.tar.gz" } ], "1.0.2": [ { "comment_text": "", "digests": { "md5": "b3c58113f8993e867d3f260bd83cddd4", "sha256": "9df5296a2d9ec32761e74c90117b09065a6c5f47dc09bb3885925a0fad08205a" }, "downloads": -1, "filename": "clok-1.0.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "b3c58113f8993e867d3f260bd83cddd4", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 95137, "upload_time": "2015-02-17T12:33:55", "url": "https://files.pythonhosted.org/packages/1c/f2/20be54af02baaeb09fd0f4aacdc001e9b89094db2361a62e58925b1e565c/clok-1.0.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "270ea55055a4b55cf7e905c449edcf6b", "sha256": "1a86773374febfd82d385bec04cafb907d5402b0b2e488cd1387cb03897d45fc" }, "downloads": -1, "filename": "clok-1.0.2.tar.gz", "has_sig": false, "md5_digest": "270ea55055a4b55cf7e905c449edcf6b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 83432, "upload_time": "2015-02-17T12:33:52", "url": "https://files.pythonhosted.org/packages/b5/ac/bce62d3f8cbcf54ae9e29f9e487738befdc63c4d4d8f29e97a54786d233c/clok-1.0.2.tar.gz" } ], "1.0.3": [ { "comment_text": "", "digests": { "md5": "d54879dff5b578adaee6ec5fc12ac46f", "sha256": "1a9c7383cad5a4ee42d8c5442a93b2646d49f93f1bb8c57d54625cf8f61e862e" }, "downloads": -1, "filename": "clok-1.0.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "d54879dff5b578adaee6ec5fc12ac46f", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 87841, "upload_time": "2015-02-17T20:11:11", "url": "https://files.pythonhosted.org/packages/9b/4b/8c672e85d4fe0c65986ee300e7b7b16ba4452d4c23b23fe78b8806133935/clok-1.0.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "9b480ef434894a7a30e201c2deee2604", "sha256": "61a9d68f31dc97bb7bfd32593b0346fb911ca8f60f7f11a97b32025bd2368981" }, "downloads": -1, "filename": "clok-1.0.3.tar.gz", "has_sig": false, "md5_digest": "9b480ef434894a7a30e201c2deee2604", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 83342, "upload_time": "2015-02-17T20:11:08", "url": "https://files.pythonhosted.org/packages/51/99/f06877c360d5180035cf3ad430f63d2efbee50fe852bad5755e759769562/clok-1.0.3.tar.gz" } ], "1.0.4": [ { "comment_text": "", "digests": { "md5": "fe8e8abc254666b9595db35f468096c0", "sha256": "98e3feab9ff774bcfc8ac51fb7e6f0a77ea13af988ba1f728c66fa43c68c0e05" }, "downloads": -1, "filename": "clok-1.0.4-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "fe8e8abc254666b9595db35f468096c0", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 95132, "upload_time": "2015-09-14T09:22:24", "url": "https://files.pythonhosted.org/packages/82/29/8182025ab467c8cb6ab7307cc3501c82f52bbeb273dfba5343362721119a/clok-1.0.4-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "0b8cfe806e87d82e0f4160b8be756366", "sha256": "46f0b5d0aff2b660c183454de6eb992943d581ea7d9fa9c3ee2e0ac5a9b9e21b" }, "downloads": -1, "filename": "clok-1.0.4.tar.gz", "has_sig": false, "md5_digest": "0b8cfe806e87d82e0f4160b8be756366", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 83433, "upload_time": "2015-09-14T09:22:19", "url": "https://files.pythonhosted.org/packages/78/b9/4cb6f927a179255db781532b263454fa3329e3a70c9c455166e384ef3178/clok-1.0.4.tar.gz" } ], "1.0.5": [ { "comment_text": "", "digests": { "md5": "11b63271092978e8874eac4658c8d992", "sha256": "2c6071338ddbf406deef0098a92748e18d5dd277b519b17fa06a71b3739f7839" }, "downloads": -1, "filename": "clok-1.0.5-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "11b63271092978e8874eac4658c8d992", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 95135, "upload_time": "2015-09-28T12:24:15", "url": "https://files.pythonhosted.org/packages/7b/04/79ed6cf08b2e4b35953c216bd7bde05b403b5fce8d52aa2c8794bd91781f/clok-1.0.5-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "92ef0ce4ace3b64c1a3d79d903591f92", "sha256": "1984db9bb8189e6cf619c1c0cbd76921eb604c7fda45bd8969323986a44b059b" }, "downloads": -1, "filename": "clok-1.0.5.tar.gz", "has_sig": false, "md5_digest": "92ef0ce4ace3b64c1a3d79d903591f92", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 83431, "upload_time": "2015-09-28T12:24:01", "url": "https://files.pythonhosted.org/packages/90/ac/989077fbc101f2f7ce53135ab5a88b05b70681c3416991b0fc8077ca6d28/clok-1.0.5.tar.gz" } ], "1.0.6": [ { "comment_text": "", "digests": { "md5": "0de31f53de15dcb680ed40acf3814c16", "sha256": "d9a9fc1991e63542469206a2325c5f63562563590c7654160190c8736f6660b0" }, "downloads": -1, "filename": "clok-1.0.6-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "0de31f53de15dcb680ed40acf3814c16", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 95936, "upload_time": "2016-02-08T16:49:40", "url": "https://files.pythonhosted.org/packages/ea/a9/4873816edacfc97fd5ec8e52245886b74130310f72b91d061a970ef2583f/clok-1.0.6-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a96d5862ae382a345a8695b4419e3e36", "sha256": "aa526f6229bf4233e7b3219381e865114a66f0325b2b5894b8fd332159eab8ed" }, "downloads": -1, "filename": "clok-1.0.6.tar.gz", "has_sig": false, "md5_digest": "a96d5862ae382a345a8695b4419e3e36", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 84381, "upload_time": "2016-02-08T16:49:33", "url": "https://files.pythonhosted.org/packages/5b/7c/c2ca9e817d9109aa44245ee26cf8acceef45944359b901d9ce486917029f/clok-1.0.6.tar.gz" } ], "2.0.0": [ { "comment_text": "", "digests": { "md5": "95ef4029150374e4ef57019380340399", "sha256": "2a8e41bfef1ff1afb0dc12dece3567f074b8fdede33e1050815ac7bcd7425da7" }, "downloads": -1, "filename": "clok-2.0.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "95ef4029150374e4ef57019380340399", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 209957, "upload_time": "2016-02-12T15:54:30", "url": "https://files.pythonhosted.org/packages/d4/8e/9654ce2e338bae0dcdc6c7eaed50f527fb1179c0a97029cfd5e0c585becf/clok-2.0.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "866d3702ee6f863ad21d55424ad46a69", "sha256": "8ab5792bbb242f617f091365445b42a634f81e52c10207d371da3877a95af815" }, "downloads": -1, "filename": "clok-2.0.0.tar.gz", "has_sig": false, "md5_digest": "866d3702ee6f863ad21d55424ad46a69", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 197566, "upload_time": "2016-02-12T15:54:08", "url": "https://files.pythonhosted.org/packages/d1/88/6b2a7ca0a5795cc9f7c67a5471ce71fd098ac30646c14d1ecd461f725fe7/clok-2.0.0.tar.gz" } ], "2.0.1": [ { "comment_text": "", "digests": { "md5": "d26c3088fb6bcb1009a5c7d587b3cbbc", "sha256": "e12c8b3d2f7e8aff8e836c780cb528a35c5e81d0ed14edd8c525831481e2f601" }, "downloads": -1, "filename": "clok-2.0.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "d26c3088fb6bcb1009a5c7d587b3cbbc", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 211182, "upload_time": "2016-02-13T12:21:44", "url": "https://files.pythonhosted.org/packages/fc/75/d5bfc42156ee25fa9e8c937e85234a40460cf5d0cfada8d55e26030dd9a9/clok-2.0.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "dc942be879cbd6ee826f85c86a607206", "sha256": "4e5943120449d51a3ecd5e761a4cfe941f8a58030c2a7dcac4c3ec4341599b29" }, "downloads": -1, "filename": "clok-2.0.1.tar.gz", "has_sig": false, "md5_digest": "dc942be879cbd6ee826f85c86a607206", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 198817, "upload_time": "2016-02-13T12:21:37", "url": "https://files.pythonhosted.org/packages/60/f8/cacf410f2117a343492c09b619deb76e88cb20c384cbe2a33bbf54723d12/clok-2.0.1.tar.gz" } ], "2.0.2": [ { "comment_text": "", "digests": { "md5": "cdd5e0f46de71cb0c79dce2f485a566c", "sha256": "a57bcc696676b20f29b06f7162165e279a46af284f9c0337aae7b7c80c0a3d46" }, "downloads": -1, "filename": "clok-2.0.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "cdd5e0f46de71cb0c79dce2f485a566c", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 211215, "upload_time": "2016-02-14T15:55:11", "url": "https://files.pythonhosted.org/packages/33/c0/460aff27fe2354ad742f182d9a9d0929b52ec27ff73dc78b410b7ff01536/clok-2.0.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "076824318d9a303c3f723f3b1cb9ef1d", "sha256": "ca8459269d965299da545591b33e6e8a59c490b9626dbdff8ddc136b2ff89b64" }, "downloads": -1, "filename": "clok-2.0.2.tar.gz", "has_sig": false, "md5_digest": "076824318d9a303c3f723f3b1cb9ef1d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 198858, "upload_time": "2016-02-14T15:55:02", "url": "https://files.pythonhosted.org/packages/e0/16/89e3e9191157d80437caaa6f689ac967ac5bbadc3706c2b1c1aed9a903e7/clok-2.0.2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "cdd5e0f46de71cb0c79dce2f485a566c", "sha256": "a57bcc696676b20f29b06f7162165e279a46af284f9c0337aae7b7c80c0a3d46" }, "downloads": -1, "filename": "clok-2.0.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "cdd5e0f46de71cb0c79dce2f485a566c", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 211215, "upload_time": "2016-02-14T15:55:11", "url": "https://files.pythonhosted.org/packages/33/c0/460aff27fe2354ad742f182d9a9d0929b52ec27ff73dc78b410b7ff01536/clok-2.0.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "076824318d9a303c3f723f3b1cb9ef1d", "sha256": "ca8459269d965299da545591b33e6e8a59c490b9626dbdff8ddc136b2ff89b64" }, "downloads": -1, "filename": "clok-2.0.2.tar.gz", "has_sig": false, "md5_digest": "076824318d9a303c3f723f3b1cb9ef1d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 198858, "upload_time": "2016-02-14T15:55:02", "url": "https://files.pythonhosted.org/packages/e0/16/89e3e9191157d80437caaa6f689ac967ac5bbadc3706c2b1c1aed9a903e7/clok-2.0.2.tar.gz" } ] }