{ "info": { "author": "Alberto Garcia-Raboso", "author_email": "agraboso@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Environment :: Console", "License :: OSI Approved :: MIT License", "Natural Language :: English", "Operating System :: OS Independent", "Programming Language :: Python", "Topic :: Utilities" ], "description": "merge\\_ics\n==========\n\nA simple Python script to merge\n`RFC5545 `__ calendar files. It\naccepts several input calendars (referred to as *sources*) and processes\nthem into one or more output calendar (*sinks*).\n\nInstallation\n------------\n\n::\n\n $ pip install merge_ics\n\nUsage\n-----\n\n::\n\n $ merge_ics \n\nConfig file format\n------------------\n\n``merge_ics`` reads configuration from YAML files passed through the\ncommand line as above. These YAML files should contain two nodes:\n\n- ``sources`` specifies the input calendars, and\n- ``sinks`` describes the calendars that should be outputted by the\n script.\n\n``sources``\n^^^^^^^^^^^\n\nThe ``sources`` node should contain a mapping whose keys are arbitrary\nidentifiers for the input calendars. The values should again be\nmappings, with the possible keys being ``filename`` and ``url``. The\nvalue for ``filename`` should describe a local ics file, while that for\n``url`` should point to a remote one. The presence of both keys will\nresult in ``merge_ics`` trying to read and parse the local copy,\ndownloading the remote copy only in case of error.\n\n``sinks``\n^^^^^^^^^\n\nThe ``sinks`` node should contain a collection, each of which is a\ndescriptor for an output calendar. These sink descriptors should contain\nthree keys:\n\n- ``filename``: the filename where to write the calendar.\n- ``sources``: a mapping with keys being the arbitrary identifiers of\n the sources that you want to merge. The events from each of these\n source calendars will be given the corresponding values in a\n ``CATEGORIES`` prop.\n- ``options``: a mapping of calendar-level props. Make sure to always\n include ``version`` and ``prodid`` (otherwise the resulting ics file\n will be non-conformant).\n\nExample\n~~~~~~~\n\n::\n\n sources:\n 1:\n filename: https://example.com/cal_local.ics\n online_cal:\n url: https://example.com/cal_online.ics\n 2:\n filename: cal2.ics\n url: https://example.com/cal2.ics\n sinks:\n -\n filename: output_cal1.ics\n sources:\n 1: Local Events\n options:\n version: 2.0\n prodid: -//Owner//LocalEvents//EN\n x-wr-calname: Local Events\n x-wr-caldesc: Events from my local calendar\n calscale: GREGORIAN\n method: PUBLISH\n x-published-ttl: PT15M\n -\n filename: output_cal123.ics\n sources:\n 1: Local Events\n online_cal: Online Events\n 2: Another Category\n options:\n version: 2.0\n prodid: -//Owner//Merged//EN\n x-wr-calname: Merged Calendar\n x-wr-caldesc: All my events\n calscale: GREGORIAN\n method: PUBLISH\n x-published-ttl: PT15M\n\nLicense\n-------\n\nMIT", "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/agraboso/merge_ics", "keywords": "RFC5545 ics calendar", "license": "MIT", "maintainer": null, "maintainer_email": null, "name": "merge_ics", "package_url": "https://pypi.org/project/merge_ics/", "platform": "any", "project_url": "https://pypi.org/project/merge_ics/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://github.com/agraboso/merge_ics" }, "release_url": "https://pypi.org/project/merge_ics/0.2.0/", "requires_dist": null, "requires_python": null, "summary": "Merge RFC5545 calendar files", "version": "0.2.0" }, "last_serial": 2280098, "releases": { "0.1.3": [ { "comment_text": "", "digests": { "md5": "897b84aaab5475e68a7893c477d154e8", "sha256": "cd96013ab2f7086c07356f58d0235734262384ddb9bee5f1a0c2e48876485561" }, "downloads": -1, "filename": "merge_ics-0.1.3-py2-none-any.whl", "has_sig": false, "md5_digest": "897b84aaab5475e68a7893c477d154e8", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 6021, "upload_time": "2015-10-05T12:46:40", "url": "https://files.pythonhosted.org/packages/d5/b3/46a8d2b69480fdf23bb6b19d6397ba0ebdf9a6ae8d43568a65c20062bf17/merge_ics-0.1.3-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "7da15bc3577a72ffa5ba44d850733704", "sha256": "5e7e94463c4498ee1aa5503caafcef9067c21348613028ce4f1e2af33172451a" }, "downloads": -1, "filename": "merge_ics-0.1.3.tar.gz", "has_sig": false, "md5_digest": "7da15bc3577a72ffa5ba44d850733704", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4505, "upload_time": "2015-10-05T12:46:45", "url": "https://files.pythonhosted.org/packages/f6/25/8011f0cfdccd3bdadd50b301e5e4bbb085c239684aafd18844a7646794e4/merge_ics-0.1.3.tar.gz" } ], "0.1.4": [ { "comment_text": "", "digests": { "md5": "9506942d04b0c7ff9ef1b6c68e72f2ed", "sha256": "23b3d8a4038d6fbfe330413b7a4336b92bb9f161e8c4b492551e6bfdbb90b94e" }, "downloads": -1, "filename": "merge_ics-0.1.4-py2-none-any.whl", "has_sig": false, "md5_digest": "9506942d04b0c7ff9ef1b6c68e72f2ed", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 6025, "upload_time": "2015-10-05T13:17:00", "url": "https://files.pythonhosted.org/packages/b8/f1/689272a094ff15c42267884db437684345a49371b658b84f31d516f909b7/merge_ics-0.1.4-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "60fd0f905d281971457103cf15460689", "sha256": "9d3c0b3cf1b75f2d828fc61ff22be7ab4ae0565e0622b3f4716875cbc63d9643" }, "downloads": -1, "filename": "merge_ics-0.1.4.tar.gz", "has_sig": false, "md5_digest": "60fd0f905d281971457103cf15460689", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4498, "upload_time": "2015-10-05T13:17:09", "url": "https://files.pythonhosted.org/packages/ce/59/d3b7b270b46e13d090660a0853750cce8e58583716e7bc6d05809c10e51d/merge_ics-0.1.4.tar.gz" } ], "0.1.5": [ { "comment_text": "", "digests": { "md5": "63da382bfc55e2c324e5cdcd19640e8b", "sha256": "7f480e18a2998576892aaa2e92fdba4ddaae2afbb52130a8129fc6cae6dec5ab" }, "downloads": -1, "filename": "merge_ics-0.1.5-py2-none-any.whl", "has_sig": false, "md5_digest": "63da382bfc55e2c324e5cdcd19640e8b", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 6023, "upload_time": "2015-10-05T18:54:55", "url": "https://files.pythonhosted.org/packages/80/d1/f2ae6658a7322293d724184841a63a8fcdb0594882c04e4ceec56d938e9a/merge_ics-0.1.5-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f74cd007d499e7eb657a899c17344753", "sha256": "a7a587d691a3e7637189d06124f5363a594eae3fa3f3852b7fa964073e190181" }, "downloads": -1, "filename": "merge_ics-0.1.5.tar.gz", "has_sig": false, "md5_digest": "f74cd007d499e7eb657a899c17344753", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4493, "upload_time": "2015-10-05T18:54:59", "url": "https://files.pythonhosted.org/packages/9f/87/1b1d90fc9080781ad2ba3401b47a21515fd4e56f4154c49b8b6121afec75/merge_ics-0.1.5.tar.gz" } ], "0.1.6": [ { "comment_text": "", "digests": { "md5": "2cbbf264774a2909d9a879833abd67ad", "sha256": "472363555d525642f119c5a526c24514c685b6103ded0fbf207401a06c11e968" }, "downloads": -1, "filename": "merge_ics-0.1.6-py2-none-any.whl", "has_sig": false, "md5_digest": "2cbbf264774a2909d9a879833abd67ad", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 6039, "upload_time": "2015-10-05T19:00:29", "url": "https://files.pythonhosted.org/packages/1a/7e/9c48b874347517f94268002a41867f914f18e62be5cd780b47fba5da7c7c/merge_ics-0.1.6-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3a21fdfcf74ed8f3abe594559be756f0", "sha256": "5d78913dbd55dd5d2ebc2a83151935b48f433fa0268b828d5a0f822347c05fab" }, "downloads": -1, "filename": "merge_ics-0.1.6.tar.gz", "has_sig": false, "md5_digest": "3a21fdfcf74ed8f3abe594559be756f0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4507, "upload_time": "2015-10-05T19:00:38", "url": "https://files.pythonhosted.org/packages/97/89/aa86f1656b332bce4631e5468c73038673372a3303455cc4e599e43e5d26/merge_ics-0.1.6.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "241680946ef6db11c2a1959565e48ad1", "sha256": "974f899004f1fdd407cd9de9b8571169cc6223addc9dff13b7b381da617aa80e" }, "downloads": -1, "filename": "merge_ics-0.2.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "241680946ef6db11c2a1959565e48ad1", "packagetype": "bdist_wheel", "python_version": "3.5", "requires_python": null, "size": 6069, "upload_time": "2016-08-14T01:59:54", "url": "https://files.pythonhosted.org/packages/69/0d/3452be50c57f2adf5f1c23742d7460f70b0dcb3224f6a04a244b629d4fbe/merge_ics-0.2.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "bd24aa67bf5382984882790c21d175bd", "sha256": "a7d787f84939dff7d5ae3b0564761cb26ebb000ee1241591784aec054984d98b" }, "downloads": -1, "filename": "merge_ics-0.2.0.tar.gz", "has_sig": false, "md5_digest": "bd24aa67bf5382984882790c21d175bd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4546, "upload_time": "2016-08-14T01:59:51", "url": "https://files.pythonhosted.org/packages/1a/0d/ab31a1796fd52b45f7ea5a33f3d68da7869687b306064b0eb01d9182ae8d/merge_ics-0.2.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "241680946ef6db11c2a1959565e48ad1", "sha256": "974f899004f1fdd407cd9de9b8571169cc6223addc9dff13b7b381da617aa80e" }, "downloads": -1, "filename": "merge_ics-0.2.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "241680946ef6db11c2a1959565e48ad1", "packagetype": "bdist_wheel", "python_version": "3.5", "requires_python": null, "size": 6069, "upload_time": "2016-08-14T01:59:54", "url": "https://files.pythonhosted.org/packages/69/0d/3452be50c57f2adf5f1c23742d7460f70b0dcb3224f6a04a244b629d4fbe/merge_ics-0.2.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "bd24aa67bf5382984882790c21d175bd", "sha256": "a7d787f84939dff7d5ae3b0564761cb26ebb000ee1241591784aec054984d98b" }, "downloads": -1, "filename": "merge_ics-0.2.0.tar.gz", "has_sig": false, "md5_digest": "bd24aa67bf5382984882790c21d175bd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4546, "upload_time": "2016-08-14T01:59:51", "url": "https://files.pythonhosted.org/packages/1a/0d/ab31a1796fd52b45f7ea5a33f3d68da7869687b306064b0eb01d9182ae8d/merge_ics-0.2.0.tar.gz" } ] }