{ "info": { "author": "Ben Jeffrey", "author_email": "mail@benjeffrey.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Intended Audience :: Developers", "License :: OSI Approved :: Mozilla Public License 2.0 (MPL 2.0)", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.6", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.3", "Topic :: Internet", "Topic :: Internet :: WWW/HTTP :: Dynamic Content :: News/Diary", "Topic :: Internet :: WWW/HTTP :: Indexing/Search", "Topic :: Software Development :: Libraries" ], "description": "python-ted\n==========\n\nPython library for the University of Edinburgh's [T@Ed Timetabling Service][ted].\n\n**Disclaimer: This library has not been condoned by the University of Edinburgh.**\n\n`python-ted` is built by students, and simply scrapes the existing timetable web service,\nsince no APIs or timetabling data have been released by the university.\n\n\n## Installation\n\n```sh\npip install python-ted\n```\n\n### Requires\n\n- [`icalendar`][icalendar]\n- [`lxml`](http://lxml.de/)\n- [`requests`](https://pypi.python.org/pypi/requests)\n\n\n## Usage\n\n```python\n>>> import icalendar\n>>> import ted\n\n# Initialise client and download course-list\n>>> timetable = ted.Client()\n\n# Regex match against course list:\n>>> import re\n>>> timetable.match(re.compile('Data'))\n[, , ...]\n>>> timetable.match(re.compile('INFR08015'))\n[]\n\n# Get a specific course by course-code\n>>> timetable.course(code='INFR08015')\n\n>>> timetable.course(code='invalid course code')\nNone\n```\n\nEach `Course` object has 3 main attributes:\n\n- `title`: human-readable course name.\n- `code`: University of Edinburgh course code (seen on timetables or exam scripts).\n- `identifier`: T@Ed-specific course identifier.\n\n\n```python\n>>> course = timetable.course(code='INFR08015')\n\n# Scrape T@Ed for list of weekly course events, and build an ical calendar\n>>> events = timetable.events(course)\n>>> cal = timetable.calendar(events)\n\n# Render calendar to a bytestring\n>>> cal.to_ical()\n\"BEGIN:VCALENDAR...\"\n```\n\n\nFuture\n------\n\n- Get API access for T@Ed.\n\n\nLicense\n-------\n\nThis Source Code is subject to the terms of the Mozilla Public\nLicense, v. 2.0. If a copy of the MPL was not distributed with this\nfile, You can obtain one at http://mozilla.org/MPL/2.0/.\n\n\n[ted]: https://www.ted.is.ed.ac.uk/UOE1314_SWS/\n[icalendar]: https://pypi.python.org/pypi/icalendar", "description_content_type": null, "docs_url": null, "download_url": null, "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/jeffbr13/python-ted", "keywords": "calendar edinburgh timetable", "license": "MPL 2.0", "maintainer": null, "maintainer_email": null, "name": "python-ted", "package_url": "https://pypi.org/project/python-ted/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/python-ted/", "project_urls": { "Homepage": "https://github.com/jeffbr13/python-ted" }, "release_url": "https://pypi.org/project/python-ted/0.0.6/", "requires_dist": null, "requires_python": null, "summary": "Python library for the University of Edinburgh's T@Ed Timetabling Service", "version": "0.0.6" }, "last_serial": 1034521, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "42964029bfa484ab326da8728b7e8e12", "sha256": "fd98bfb1530a4ad245f3ac6fcd05888571e034bae458fc9de35357d8346cb53a" }, "downloads": -1, "filename": "python_ted-0.0.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "42964029bfa484ab326da8728b7e8e12", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 7356, "upload_time": "2014-03-11T20:18:53", "url": "https://files.pythonhosted.org/packages/ea/25/5803207dd93a221209f389b32492f8277f0e238fa16318972490b7e20fcd/python_ted-0.0.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "25f5b1562e00696f159a8925b2c72dd8", "sha256": "f382a1e26bc2b7fec75e278da5177cd987c54cd68def9bc2f9d0b91325755c4f" }, "downloads": -1, "filename": "python-ted-0.0.1.tar.gz", "has_sig": true, "md5_digest": "25f5b1562e00696f159a8925b2c72dd8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5352, "upload_time": "2014-03-11T20:18:51", "url": "https://files.pythonhosted.org/packages/48/9d/a6332eefaf6442c2b872605eea56f4eaa1352deacd5e6e033cd615c78955/python-ted-0.0.1.tar.gz" } ], "0.0.2": [ { "comment_text": "", "digests": { "md5": "2ed0af36b71529746050660f1d56beec", "sha256": "7c04bb9b6970a28db98ebbc34231370d92818837d1417a775e578c55f7638fd1" }, "downloads": -1, "filename": "python_ted-0.0.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "2ed0af36b71529746050660f1d56beec", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 7368, "upload_time": "2014-03-11T20:29:55", "url": "https://files.pythonhosted.org/packages/82/91/dcc0767b680e6aa65dd8e60e83b141794c56002abd492055053669fa42e2/python_ted-0.0.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "83fc04855213f28f04111100935364fd", "sha256": "de636aff86d7834edff6a4005d8d3c634b32e569399e8bb0c8e690c35efdc161" }, "downloads": -1, "filename": "python-ted-0.0.2.tar.gz", "has_sig": false, "md5_digest": "83fc04855213f28f04111100935364fd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5366, "upload_time": "2014-03-11T20:29:51", "url": "https://files.pythonhosted.org/packages/a4/ec/c5cd3846d2537c2d55cabb34962f4ca12aa274eff78fa8131147b319c6a3/python-ted-0.0.2.tar.gz" } ], "0.0.3": [ { "comment_text": "", "digests": { "md5": "beffa473f80b490a3ef199f93700e711", "sha256": "664873540803b29d78eea27c39a1eafda0f633bce894e8719bb6293bab504163" }, "downloads": -1, "filename": "python_ted-0.0.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "beffa473f80b490a3ef199f93700e711", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 7686, "upload_time": "2014-03-19T02:25:33", "url": "https://files.pythonhosted.org/packages/66/77/51242bba570a6ded8cf1c0e81bfede9465f8643450796266020110bd88c9/python_ted-0.0.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "640aa36100d83716b1712e1a45824236", "sha256": "4583a595ac6515cf7d42aabdc19dc6604ab3777c1d92ffabe2f5aa1a1ddef705" }, "downloads": -1, "filename": "python-ted-0.0.3.tar.gz", "has_sig": false, "md5_digest": "640aa36100d83716b1712e1a45824236", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5439, "upload_time": "2014-03-19T02:25:30", "url": "https://files.pythonhosted.org/packages/e6/aa/6fafc2ea4c60cf713f317fb66ceacbb0085235448b10945096e2e64f2ba9/python-ted-0.0.3.tar.gz" } ], "0.0.4": [ { "comment_text": "", "digests": { "md5": "c8bd387f5d6460de944525d2b7b08870", "sha256": "0c85b007422e3d546691b21e0f203ee1083e348e316743e516c15c428f424585" }, "downloads": -1, "filename": "python_ted-0.0.4-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "c8bd387f5d6460de944525d2b7b08870", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 7698, "upload_time": "2014-03-19T02:36:26", "url": "https://files.pythonhosted.org/packages/cd/0f/62d5c8a4800a20225cb2ea30ff550a18811958b5d619a6879f575e316d9f/python_ted-0.0.4-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "8557e62051dae1cbe8259c8cf6c82123", "sha256": "d0948a98aa13138ecc6dbab215c23fa1722bae859492fc48c1decd919b7d40c1" }, "downloads": -1, "filename": "python-ted-0.0.4.tar.gz", "has_sig": false, "md5_digest": "8557e62051dae1cbe8259c8cf6c82123", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5446, "upload_time": "2014-03-19T02:36:24", "url": "https://files.pythonhosted.org/packages/94/61/03ef86b0b8aedf579f36bb2db2d64282ce91a970fe68c72d93d898aa6bfe/python-ted-0.0.4.tar.gz" } ], "0.0.5": [ { "comment_text": "", "digests": { "md5": "3d8a8cadf2067c3e257b7da67641da5c", "sha256": "6faa6d04a478418d3e08eb2b17da027a45f56a3909e7eea8f22fdc292e3d553f" }, "downloads": -1, "filename": "python_ted-0.0.5-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "3d8a8cadf2067c3e257b7da67641da5c", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 7712, "upload_time": "2014-03-19T02:41:02", "url": "https://files.pythonhosted.org/packages/4d/b0/b53ac0e94e2ab72769d46a958e782de8469454a7119669be94d10d0be5d8/python_ted-0.0.5-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b50feda38e17b4a481dffd58214e63f7", "sha256": "94a107e6999d861202ccbd583dc01267af4c60d9a4ab61762c49dd40141fbeab" }, "downloads": -1, "filename": "python-ted-0.0.5.tar.gz", "has_sig": false, "md5_digest": "b50feda38e17b4a481dffd58214e63f7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5442, "upload_time": "2014-03-19T02:41:00", "url": "https://files.pythonhosted.org/packages/e5/c9/7bcd7ea0b5b7366263774a856e15f141a91b9e2610a25dbac52390e6061a/python-ted-0.0.5.tar.gz" } ], "0.0.6": [ { "comment_text": "", "digests": { "md5": "30539930d4418ea47bc86d8b8193312d", "sha256": "5104bf990cd88ca855150749bb6b532b25cffb6c8e11bd53703320c91319c26a" }, "downloads": -1, "filename": "python_ted-0.0.6-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "30539930d4418ea47bc86d8b8193312d", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 7719, "upload_time": "2014-03-19T02:45:07", "url": "https://files.pythonhosted.org/packages/27/be/61705572868049780dd6fe26be22cf4f9c11f35d793cf00a8a9506282649/python_ted-0.0.6-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "0f6acd57016e3875ddde864f2fb214b5", "sha256": "2f083347869486999a1e559e21292781b52fa8c3ff64ba88856de1ff7a5b3433" }, "downloads": -1, "filename": "python-ted-0.0.6.tar.gz", "has_sig": false, "md5_digest": "0f6acd57016e3875ddde864f2fb214b5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5450, "upload_time": "2014-03-19T02:45:04", "url": "https://files.pythonhosted.org/packages/a2/4d/f6e1a20317a4d80267162e454324f6249eeea9bdb28e96a15f2bda0709d9/python-ted-0.0.6.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "30539930d4418ea47bc86d8b8193312d", "sha256": "5104bf990cd88ca855150749bb6b532b25cffb6c8e11bd53703320c91319c26a" }, "downloads": -1, "filename": "python_ted-0.0.6-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "30539930d4418ea47bc86d8b8193312d", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 7719, "upload_time": "2014-03-19T02:45:07", "url": "https://files.pythonhosted.org/packages/27/be/61705572868049780dd6fe26be22cf4f9c11f35d793cf00a8a9506282649/python_ted-0.0.6-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "0f6acd57016e3875ddde864f2fb214b5", "sha256": "2f083347869486999a1e559e21292781b52fa8c3ff64ba88856de1ff7a5b3433" }, "downloads": -1, "filename": "python-ted-0.0.6.tar.gz", "has_sig": false, "md5_digest": "0f6acd57016e3875ddde864f2fb214b5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5450, "upload_time": "2014-03-19T02:45:04", "url": "https://files.pythonhosted.org/packages/a2/4d/f6e1a20317a4d80267162e454324f6249eeea9bdb28e96a15f2bda0709d9/python-ted-0.0.6.tar.gz" } ] }