{ "info": { "author": "Tamas Gulacsi", "author_email": "gthomas@fw.hu", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Intended Audience :: Developers", "License :: OSI Approved :: Artistic License", "License :: OSI Approved :: GNU General Public License (GPL)", "Programming Language :: Python", "Topic :: Multimedia :: Graphics", "Topic :: Utilities" ], "description": "IPTCInfo: extract and modify IPTC (metadata) information on images - port of IPTCInfo.pm by Josh Carter '\n\nPorted from Josh Carter's Perl IPTCInfo-1.9.pm by Tamas Gulacsi\n\nEver wish you add information to your photos like a caption, the place\nyou took it, the date, and perhaps even keywords and categories? You\nalready can. The International Press Telecommunications Council (IPTC)\ndefines a format for exchanging meta-information in news content, and\nthat includes photographs. You can embed all kinds of information in\nyour images. The trick is putting it to use.\n\nThat's where this IPTCInfo Python module comes into play. You can embed\ninformation using many programs, including Adobe Photoshop, and\nIPTCInfo will let your web server -- and other automated server\nprograms -- pull it back out. You can use the information directly in\nPython programs, export it to XML, or even export SQL statements ready\nto be fed into a database.\n\n1.9.5-6: to have a nice new upload (seems easy_install grabs an old version).\n\n1.9.5-5: fix some issues with \"super\"\n\n1.9.5-3: use logging module.\n\n1.9.5-2: Emil Stenstr\u00f6m pinpointed some bugs/misleading (un)comments\n Also a new (mis)feature is implemented: if you don't specify inp_charset\n (and the image misses such information, too) than no conversion is made\n to unicode, everything stays bytestring!\n This way you don't need to deal with charsets, BUT it is your risk to make\n the modifications with the SAME charset as it is in the image!\n\n1.9.5-1: getting in sync with the Perl version 1.9.5\n\n1.9.2-rc8:\n charset recognition loosened (failed with some image out of\n Adobe Lightroom).\n\n1.9.2-rc7: NOT READY\n IPTCInfo now accepts 'inp_charset' keyword for setting input charset.\n\n1.9.2-rc6: just PyLint-ed out some errors.\n\n1.9.2-rc5: Amos Latteier sent me a patch which releases the requirement of the\n file objects to be file objects (he uses this on jpeg files stored in\n databases as strings).\n It modifies the module in order to look for a read method on the file\n object. If one exists it assumes the argument is a file object, otherwise it\n assumes it's a filename.\n\n1.9.2-rc4: on Windows systems, tmpfile may not work correctly - now I use\n cStringIO on file save (to save the file without truncating it on Exception).\n\n1.9.2-rc3: some little bug fixes, some safety enhancements (now iptcinfo.py\n will overwrite the original image file (info.save()) only if everything goes\n fine (so if an exception is thrown at writing, it won't cut your original\n file).\n\n This is a pre-release version: needs some testing, and has an unfound bug\n (yet): some pictures can be enhanced with iptc data, and iptcinfo.py is able\n to read them, but some other iptc data readers will spit on it.\n\n1.9.1: a first release with some little encoding support\n\n The class IPTCInfo now has an inp_charset and an out_charset attribute - the\n first is the read image's charset (defaults to the system default charset),\n the second is the charset the writer will use (defaults to inp_charset).\n\n Reader will find the charset included in IPTC data (if any, defaults to the\n system's default charset), and use it to read to unicode strings. Writer will\n write using IPTCinfo.out_charset (if it is not set, will not write charset\n IPTC record).\n\n With this, it is possible to read and write i18n strings correctly.\n\n I haven't tested this functionality thoroughly, and that little test was only\n on my WinXP box only, with the only other IPTC reader: IrfanView.\n\n\nSYNOPSIS\n\n from iptcinfo import IPTCInfo\n import sys\n\n fn = (len(sys.argv) > 1 and [sys.argv[1]] or ['test.jpg'])[0]\n fn2 = (len(sys.argv) > 2 and [sys.argv[2]] or ['test_out.jpg'])[0]\n\n # Create new info object\n info = IPTCInfo(fn)\n\n # Check if file had IPTC data\n if len(info.data) < 4: raise Exception(info.error)\n\n # Print list of keywords, supplemental categories, contacts\n print info.keywords\n print info.supplementalCategories\n print info.contacts\n\n # Get specific attributes...\n caption = info.data['caption/abstract']\n\n # Create object for file that may does have IPTC data.\n # info = IPTCInfo(fn)\n # for files without IPTC data, use\n info = IPTCInfo(fn, force=True)\n\n # Add/change an attribute\n info.data['caption/abstract'] = 'Witty caption here'\n info.data['supplemental category'] = ['portrait']\n\n # Save new info to file\n ##### See disclaimer in 'SAVING FILES' section #####\n info.save()\n info.saveAs(fn2)\n\n #re-read IPTC info\n print IPTCInfo(fn2)", "description_content_type": null, "docs_url": null, "download_url": "http://bitbucket.org/gthomas/iptcinfo/get/iptcinfo-1.9.5-6.tar.bz2", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://bitbucket.org/gthomas/iptcinfo/downloads", "keywords": null, "license": "http://www.opensource.org/licenses/gpl-license.php", "maintainer": null, "maintainer_email": null, "name": "IPTCInfo", "package_url": "https://pypi.org/project/IPTCInfo/", "platform": "any", "project_url": "https://pypi.org/project/IPTCInfo/", "project_urls": { "Download": "http://bitbucket.org/gthomas/iptcinfo/get/iptcinfo-1.9.5-6.tar.bz2", "Homepage": "http://bitbucket.org/gthomas/iptcinfo/downloads" }, "release_url": "https://pypi.org/project/IPTCInfo/1.9.5-6/", "requires_dist": null, "requires_python": null, "summary": "IPTCInfo: extract and modify IPTC (metadata) information on images - port of IPTCInfo.pm by Josh Carter '", "version": "1.9.5-6" }, "last_serial": 317732, "releases": { "1.9": [], "1.9.1": [], "1.9.2-rc3": [], "1.9.2-rc4": [], "1.9.2-rc5": [], "1.9.2-rc6": [], "1.9.2-rc7": [], "1.9.2-rc8": [], "1.9.5-1": [], "1.9.5-2": [], "1.9.5-3": [], "1.9.5-3a": [], "1.9.5-4": [], "1.9.5-5": [ { "comment_text": "", "digests": { "md5": "ecd15497fbafe6fd55cc4742340844f5", "sha256": "9b738ea1b99142261f30fdd65e8c0f238c854cd5d2575bd062ef21d110324c99" }, "downloads": -1, "filename": "IPTCInfo-1.9.5-5.tar.gz", "has_sig": false, "md5_digest": "ecd15497fbafe6fd55cc4742340844f5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 17572, "upload_time": "2011-07-25T21:19:32", "url": "https://files.pythonhosted.org/packages/99/ba/05a43bba9a7fd44aef62475d9df36defee9f632d59b419b64b433463dfa8/IPTCInfo-1.9.5-5.tar.gz" } ], "1.9.5-6": [ { "comment_text": "", "digests": { "md5": "62976f0228efa517298dd6dc7669e56e", "sha256": "6b0a88c704afa915c35bf35f1c7ae96154807955b1ae1915eb3e07888302733a" }, "downloads": -1, "filename": "IPTCInfo-1.9.5-6.tar.gz", "has_sig": false, "md5_digest": "62976f0228efa517298dd6dc7669e56e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 17624, "upload_time": "2011-07-25T23:16:12", "url": "https://files.pythonhosted.org/packages/c1/4d/5e782ebcc38541088c44b16997cc468701f618e94aacc1b4b88c329ea3f3/IPTCInfo-1.9.5-6.tar.gz" } ], "1.9.5-aa3": [], "1.9.5-r3": [] }, "urls": [ { "comment_text": "", "digests": { "md5": "62976f0228efa517298dd6dc7669e56e", "sha256": "6b0a88c704afa915c35bf35f1c7ae96154807955b1ae1915eb3e07888302733a" }, "downloads": -1, "filename": "IPTCInfo-1.9.5-6.tar.gz", "has_sig": false, "md5_digest": "62976f0228efa517298dd6dc7669e56e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 17624, "upload_time": "2011-07-25T23:16:12", "url": "https://files.pythonhosted.org/packages/c1/4d/5e782ebcc38541088c44b16997cc468701f618e94aacc1b4b88c329ea3f3/IPTCInfo-1.9.5-6.tar.gz" } ] }