{ "info": { "author": "Erasmose", "author_email": "sep@zepworks.com", "bugtrack_url": null, "classifiers": [ "Environment :: Web Environment", "Intended Audience :: Developers", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3.3", "Topic :: Software Development" ], "description": "##atomgen v 0.1.9\n=======\n\nCreates Apple Newsstand Atom Feed that is compatible with v1.2 of Atom Feed\nIt can also validate remote or local images based on Atomfeed specifications\nNote that this is different than normal Atom Feed: [Specification](https://itunesconnect.apple.com/docs/NewsstandAtomFeedSpecification.pdf)\n\n##Installation\n\nInstall from PyPi:\n\n pip install atomgen\n\nAtomgen is tested and used in production on Python 2.7\nAtomgen is compatible with Python 3.3 but has not been used in production.\n\n\n\n##Example usage\n \n\n >>> import datetime\n >>> from atomgen import AtomGen\n\n\nSimple\n\n >>> a=[{'id':'1','updated':datetime.datetime(2013, 12, 10, 1, 9, 53, 977342),\n ... 'published':datetime.datetime(2013, 12, 10, 1, 10, 53, 977342),\n ... 'summary':\"This is the summary 1\",'icon':\"http://ccc.com/img.png\"},\n ... {'id':2,'updated':datetime.datetime(2013, 12, 9, 1, 9, 53, 977342),\n ... 'published':datetime.datetime(2013, 12, 10, 1, 7, 53, 977342),\n ... 'summary':\"This is the summary 2\",'icon':\"http://ccc2.com/img2.png\"}]\n >>> my_atom = AtomGen()\n >>> print my_atom.run(a, update_time=datetime.datetime(2013, 12, 10, 1, 9, 53, 977342))\n \n 2013-12-10T01:09:53Z12013-12-10T01:09:53Z2013-12-10T01:10:53ZThis is the summary 122013-12-09T01:09:53Z2013-12-10T01:07:53ZThis is the summary 2\n\nRenaming element names in the original dictionary. you need to let AtomGen know the correspondence to the default names.\n\n >>> b=[{'my_id':'1','when_updated':datetime.datetime(2013, 12, 10, 1, 9, 53, 977342),\n ... 'when_published':datetime.datetime(2013, 12, 10, 1, 10, 53, 977342),\n ... 'the_summary':\"This is the summary 1\",'myicon':\"http://ccc.com/img.png\"},\n ... {'my_id':2,'when_updated':datetime.datetime(2013, 12, 9, 1, 9, 53, 977342),\n ... 'when_published':datetime.datetime(2013, 12, 10, 1, 7, 53, 977342),\n ... 'the_summary':\"This is the summary 2\",'myicon':\"http://ccc2.com/img2.png\"}]\n >>> my_atom2 = AtomGen(id=\"my_id\",published=\"when_published\",updated=\"when_updated\",\n ... summary=\"the_summary\",icon=\"myicon\")\n >>> print my_atom2.run(b, update_time=datetime.datetime(2013, 12, 10, 1, 9, 53, 977342))\n \n 2013-12-10T01:09:53Z12013-12-10T01:09:53Z2013-12-10T01:10:53ZThis is the summary 122013-12-09T01:09:53Z2013-12-10T01:07:53ZThis is the summary 2\n\nUsing a dicionary of dictionaries (like a json structure) for input\n\n >>> c={1:{'updated':datetime.datetime(2013, 12, 10, 1, 9, 53, 977342),\n ... 'published':datetime.datetime(2013, 12, 10, 1, 10, 53, 977342),\n ... 'summary':\"This is the summary 1\",'icon':\"http://ccc.com/img.png\"},\n ... 2:{'updated':datetime.datetime(2013, 12, 9, 1, 9, 53, 977342),\n ... 'published':datetime.datetime(2013, 12, 10, 1, 7, 53, 977342),\n ... 'summary':\"This is the summary 2\",'icon':\"http://ccc2.com/img2.png\"},}\n >>> print my_atom.run(c, update_time=datetime.datetime(2013, 12, 10, 1, 9, 53, 977342))\n \n 2013-12-10T01:09:53Z12013-12-10T01:09:53Z2013-12-10T01:10:53ZThis is the summary 122013-12-09T01:09:53Z2013-12-10T01:07:53ZThis is the summary 2\n\nUsing a dicionary of dictionaries for input with custom names\n\n >>> d={'1':{'when_updated':datetime.datetime(2013, 12, 10, 1, 9, 53, 977342),\n ... 'when_published':datetime.datetime(2013, 12, 10, 1, 10, 53, 977342),\n ... 'the_summary':\"This is the summary 1\",'myicon':\"http://ccc.com/img.png\"},\n ... 2:{'when_updated':datetime.datetime(2013, 12, 9, 1, 9, 53, 977342),\n ... 'when_published':datetime.datetime(2013, 12, 10, 1, 7, 53, 977342),\n ... 'the_summary':\"This is the summary 2\",'myicon':\"http://ccc2.com/img2.png\"},}\n >>> my_atom2 = AtomGen(id=\"my_id\",published=\"when_published\",updated=\"when_updated\",\n ... summary=\"the_summary\",icon=\"myicon\")\n >>> print my_atom2.run(d, update_time=datetime.datetime(2013, 12, 10, 1, 9, 53, 977342))\n \n 2013-12-10T01:09:53Z12013-12-10T01:09:53Z2013-12-10T01:10:53ZThis is the summary 122013-12-09T01:09:53Z2013-12-10T01:07:53ZThis is the summary 2\n\n\nThis will generate exactly the same Atom feed. But it gives you the flexibility of modifying your own dictionary keys with the names you like.\n\n\nAutomatically Validating Images\n\n >>> d={'1':{'when_updated':datetime.datetime(2013, 12, 10, 1, 9, 53, 977342),\n ... 'when_published':datetime.datetime(2013, 12, 10, 1, 10, 53, 977342),\n ... 'the_summary':\"This is the summary 1\",'myicon':\"http://cdn.tennis.com/uploads/magazine/test_material/img_1024_600.png\"},\n ... 2:{'when_updated':datetime.datetime(2013, 12, 9, 1, 9, 53, 977342),\n ... 'when_published':datetime.datetime(2013, 12, 10, 1, 7, 53, 977342),\n ... 'the_summary':\"This is the summary 2\",'myicon':\"http://cdn.tennis.com/uploads/magazine/test_material/img_1024_600.png\"},}\n >>> my_atom2 = AtomGen(id=\"my_id\",published=\"when_published\",updated=\"when_updated\",\n ... summary=\"the_summary\",icon=\"myicon\")\n >>> print (my_atom2.run(d, update_time=datetime.datetime(2013, 12, 10, 1, 9, 53, 977342), validate_image=True) )\n http://cdn.tennis.com/uploads/magazine/test_material/img_1024_600.png validated\n \n 2013-12-10T01:09:53Z12013-12-10T01:09:53Z2013-12-10T01:10:53ZThis is the summary 122013-12-09T01:09:53Z2013-12-10T01:07:53ZThis is the summary 2\n\n\n\n##Documents\n\n* [Documentations](http://atomgen.readthedocs.org/en/latest/)\n\n\n\n##Author\n\nErasmose\n* [Github](https://github.com/erasmose)\n* [Linkedin](http://www.linkedin.com/in/sepehr)", "description_content_type": null, "docs_url": null, "download_url": "https://github.com/erasmose/atomgen/tarball/master", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/erasmose/atomgen", "keywords": null, "license": "MIT", "maintainer": null, "maintainer_email": null, "name": "atomgen", "package_url": "https://pypi.org/project/atomgen/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/atomgen/", "project_urls": { "Download": "https://github.com/erasmose/atomgen/tarball/master", "Homepage": "https://github.com/erasmose/atomgen" }, "release_url": "https://pypi.org/project/atomgen/0.1.9/", "requires_dist": null, "requires_python": null, "summary": "Creates Apple Newsstand Atom Feed", "version": "0.1.9" }, "last_serial": 961420, "releases": { "0.1": [ { "comment_text": "", "digests": { "md5": "1896688ad9c476dd9f6271f1927a475b", "sha256": "e81f4f4ab7a626bb89520c0b43aabe0e67ae2b0cb68d81a354c60176230e45eb" }, "downloads": -1, "filename": "atomgen-0.1.tar.gz", "has_sig": false, "md5_digest": "1896688ad9c476dd9f6271f1927a475b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3270, "upload_time": "2013-12-10T07:13:23", "url": "https://files.pythonhosted.org/packages/58/ab/48751c98ffab8155e378a15253375fa9934812b218450bbf471f078811a6/atomgen-0.1.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "bf78510258b0ae8593f6b5a4f4790b98", "sha256": "cef6e3a669e4dd962ae06d55d18f65f6c4a453ed1ebdf5b8a3d5f1d05b5fca57" }, "downloads": -1, "filename": "atomgen-0.1.1.tar.gz", "has_sig": false, "md5_digest": "bf78510258b0ae8593f6b5a4f4790b98", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3518, "upload_time": "2013-12-10T07:22:48", "url": "https://files.pythonhosted.org/packages/04/9f/09e785d833c618d5228aefa04596b8f0516cd9d12c2fc63739a7d0b19f79/atomgen-0.1.1.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "72a5869fc2220ca86dfe5f66bd75e56e", "sha256": "d59ceb1040b4acfb3b0a8e715bbc06b848089f409e5d64a4b29b19550984e899" }, "downloads": -1, "filename": "atomgen-0.1.2.tar.gz", "has_sig": false, "md5_digest": "72a5869fc2220ca86dfe5f66bd75e56e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3541, "upload_time": "2013-12-10T07:43:22", "url": "https://files.pythonhosted.org/packages/0b/d6/429d8c2f67440103f7d83dd6ff32f86a41a04b1fc8fd93ac3070d129834d/atomgen-0.1.2.tar.gz" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "862a7277124cbd53eccce9391a1c404f", "sha256": "9aeb55bbebf5f356739d75980ba69766e72f0b30399f4e090cf4dcdb81b4d50f" }, "downloads": -1, "filename": "atomgen-0.1.3.tar.gz", "has_sig": false, "md5_digest": "862a7277124cbd53eccce9391a1c404f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3584, "upload_time": "2013-12-10T08:13:41", "url": "https://files.pythonhosted.org/packages/57/82/acf454b55d5b7a37368eadaedcac9f6a0ba85a61e28b632074fb4718744d/atomgen-0.1.3.tar.gz" } ], "0.1.4": [ { "comment_text": "", "digests": { "md5": "228a513a8a5759c2f50fa131149eaccc", "sha256": "59b8026851378b9f60d2ebbb11803ce65c378a32be24a1227be66083a96cef2c" }, "downloads": -1, "filename": "atomgen-0.1.4.tar.gz", "has_sig": false, "md5_digest": "228a513a8a5759c2f50fa131149eaccc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4214, "upload_time": "2013-12-10T19:39:57", "url": "https://files.pythonhosted.org/packages/b3/ee/50666d2fa81fa9516c9e2cc1c9f9b20fc6c9b80d11259f186cd99d50bffe/atomgen-0.1.4.tar.gz" } ], "0.1.5": [ { "comment_text": "", "digests": { "md5": "0a289f78e64d3e6b82b5813cb79f31d3", "sha256": "cc5772db66d449f562e0739fdb5ae7064c9f62df3bf581c144a286bf1fa70937" }, "downloads": -1, "filename": "atomgen-0.1.5.tar.gz", "has_sig": false, "md5_digest": "0a289f78e64d3e6b82b5813cb79f31d3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5388, "upload_time": "2013-12-11T20:06:53", "url": "https://files.pythonhosted.org/packages/34/a7/eb4a5140be51fc3a2cee3794905749650caced1c6589b825f3178e0ecd51/atomgen-0.1.5.tar.gz" } ], "0.1.6": [ { "comment_text": "", "digests": { "md5": "5a72da0c52b2c375c416c978f0c860df", "sha256": "333f965c26cdfd8543997af1d4f362c9ca1c92ce9e97e4f9383cacd0ad5f8bf1" }, "downloads": -1, "filename": "atomgen-0.1.6.tar.gz", "has_sig": false, "md5_digest": "5a72da0c52b2c375c416c978f0c860df", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5401, "upload_time": "2013-12-11T20:16:03", "url": "https://files.pythonhosted.org/packages/12/1b/385907c4e719bcc28054cb1722477c660ea46ec42c1c5351a26658bfcfeb/atomgen-0.1.6.tar.gz" } ], "0.1.7": [ { "comment_text": "", "digests": { "md5": "0bc44419897404605c5bd16ddb9811e7", "sha256": "71e1a1ad27497e60dabdff2708cf5243f4f0bf5ffe02afb8a094af46d916f2c7" }, "downloads": -1, "filename": "atomgen-0.1.7.tar.gz", "has_sig": false, "md5_digest": "0bc44419897404605c5bd16ddb9811e7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5384, "upload_time": "2013-12-11T20:32:29", "url": "https://files.pythonhosted.org/packages/60/63/4ef860613c9c58e511b2f770b2396f502e22587a504969fb21fae6b269ad/atomgen-0.1.7.tar.gz" } ], "0.1.8": [ { "comment_text": "", "digests": { "md5": "1edf534cdb9a5447bbc0257ddafecbcc", "sha256": "30959a4639dbb6b0357fb2ebe6de1eae4e4b761ae369bb7607cff21d1ca390c4" }, "downloads": -1, "filename": "atomgen-0.1.8.tar.gz", "has_sig": false, "md5_digest": "1edf534cdb9a5447bbc0257ddafecbcc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5436, "upload_time": "2013-12-25T09:43:36", "url": "https://files.pythonhosted.org/packages/d6/41/c918ddb87a46bb0e12b310447d30c229ee90dc86eca5ef05fce9153048ba/atomgen-0.1.8.tar.gz" } ], "0.1.9": [ { "comment_text": "", "digests": { "md5": "63197b98ac34f4a5d345a6ff66477405", "sha256": "4d7b05f58ef3dff8ba4ecac1b5131c869b36a63c188cbc39f0d9e57a7115a9de" }, "downloads": -1, "filename": "atomgen-0.1.9.tar.gz", "has_sig": false, "md5_digest": "63197b98ac34f4a5d345a6ff66477405", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 113682, "upload_time": "2014-01-06T03:47:55", "url": "https://files.pythonhosted.org/packages/dd/75/f8635ec0f11a057bfca5d67d5e79f59472a57852358a2844899996c5a0ca/atomgen-0.1.9.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "63197b98ac34f4a5d345a6ff66477405", "sha256": "4d7b05f58ef3dff8ba4ecac1b5131c869b36a63c188cbc39f0d9e57a7115a9de" }, "downloads": -1, "filename": "atomgen-0.1.9.tar.gz", "has_sig": false, "md5_digest": "63197b98ac34f4a5d345a6ff66477405", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 113682, "upload_time": "2014-01-06T03:47:55", "url": "https://files.pythonhosted.org/packages/dd/75/f8635ec0f11a057bfca5d67d5e79f59472a57852358a2844899996c5a0ca/atomgen-0.1.9.tar.gz" } ] }