{ "info": { "author": "Martin Aspeli", "author_email": "optilude@gmail.com", "bugtrack_url": null, "classifiers": [], "description": "Flickr Incremental Backup\n=========================\n\nA tool to incrementally backup your photos from `Flickr `_.\n\nNote: As of version 0.9, this now uses Python 3!\n\nInstallation\n-------------\n\nReqiures Python 3 and `pip`.\n\n $ pip install flickrbackup\n\nUsage\n-----\n\nNote: You must have a Flickr Pro account to use this tool, since Flickr only\nallows access to original-scale images for Pro members.\n\nThe first time you run flickrbackup, you should specify a start date, using the\nformat ``YYYY-MM-DD``::\n\n $ flickrbackup.py -f 2012-02-28 photos\n\nThis will ask you to visit a URL to authorize flickrbackup with your\nFlickr account, if you haven't already. You will then be given a short token\nby Flickr, which you must type into the console. This token is saved for future\nuse so you shouldn't need any manual intervention again, unless you or Flickr\nrevoke the token.\n\nOnce authorised, flickrbackup will download all photos and videos for the\nauthorised account that have been created or updated on or after the \"from\" date\n(February 28th, 2012 in this case) into the directory specified (``photos`` in\nthis case). Items are organised into subfolders by set and the year, month and\nday they were taken. If an item appears in multiple sets, it will be copied into\nboth set directories. Metadata such as the title, description, tags and other\ninformation will be placed in a file with a ``.txt`` extension next to the image\nfile. The image file name is based on the Flickr id of the image.\n\nAfter the first successful run, a special file named ``.stamp`` will be placed\nin the download directory, containing the date of the last backup. This allows\nflickrbackup to be run again without the ``-f`` argument, for example in a\nscheduled nightly \"cron\" job, picking up from where it left off::\n\n $ flickrbackup.py /path/to/photos\n\nHere, we have also omitted the \"-v\" (verbose) flag, which means only errors and\nimportant messages are output to the console, as well as a log of the ids of the\nphotos that have been processed (mostly as a progress indicator).\n\nIt may be useful to log important messages to a file. In this case, use the\n``--log-file`` (``-l``) option (with or without the ``-v`` flag to control the\namount of information output)::\n\n $ flickrbackup.py -l /var/log/flickrbackup.log /path/to/photos\n\nThe log file will contain the type of message (e.g. ``INFO`` for informational\nmessages or ``WARN`` for warnings) and the date and time of the message as well.\n\nWhat if there are errors, e.g. due to a temporary conneciton problem?\nflickrbackup will attempt to download them again (you can control how many times\nor turn this off using the ``--retry`` option; the default is to retry once),\nbut if there are still errors they will be printed to the console/log file.\n\nWe can store a list of the ids of the photos and videos that were not correctly\nprocessed by using the ``--error-file`` (``-e``) flag::\n\n $ flickrbackup.py -e /path/to/photos/errors.txt /path/to/photos\n\nLater, we can attempt to manually re-process just these photos using the\n``--download`` (``-d``) option::\n\n $ flickrbackup.py --download /path/to/photos/errors.txt /path/to/photos\n\nIf this succeeds, you should delete ``errors.txt``, since the ``-e`` option\nwill always append to, not replace, this file.\n\nTo see further help, run::\n\n $ flickrbackup.py --help\n\nKnown limitations\n-----------------\n\n* Movie files will always get the extension ``.mov``, even if originally\n uploaded as e.g. ``.avi`` or ``.mpg``, because Flickr doesn't provide a\n means of discovering the original file extension.\n* Photos that are deleted or moved between sets after being backed up will\n remain in the backup.\n\nLogging out\n-----------\n\nOAuth tokens are stored in a database in `~/.flickr/oauth-tokens.sqlite`. If\nyou need to, you can delete this file to force re-authorization.\n\nChangelog\n---------\n\nVersion 0.9.1, released 2019-08-15\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\n* Make metadata files use UTF-8 by default\n\nVersion 0.9.0, released 2019-08-15\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\n* Migrate to Python 3 and new `flickrapi` library\n* Make use of new command line solution for getting the auth token, thereby\n making it easier to run on a remote server.\n\nVersion 0.8.4, released 2019-01-08\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\n* Fix README to stop referring to a defunct website in the installation instructions\n\nVersion 0.8.3, released 2018-10-03\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\n* Fix encoding error with set names\n\n\nVersion 0.8.2, released 2013-07-29\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\n* Attempt to fix missing README.rst issue in tarball\n\nVersion 0.8.1, released 2013-06-01\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\n* Fixed potential issue with copying directories to sets they are already in\n\nVersion 0.7, released 2013-01-01\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\n* Added ``--log-file`` option\n* Added ``-download`` option\n* Added ``--retry`` and ``--error-file`` options\n\nVersion 0.6, released 2012-12-31\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\n* Exit with a nonzero return code on failure\n\nVersion 0.5, released 2012-12-31\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\n* Allow set names with characters that are not valid directory names\n* Print erroneous items at the end of the run\n\nVersion 0.4, released 2012-12-31\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\n* In non-verbose mode, print photo id instead of just \".\" for each completed\n download.\n\nVersion 0.3, released 2012-12-31\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\n* Added ``--store-once`` and ``--keep-existing`` options\n* Removed ``--username`` option - you must authenticate as the user to use", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://github.com/optilude/flickrbackup", "keywords": "flickr backup", "license": "BSD", "maintainer": "", "maintainer_email": "", "name": "flickrbackup", "package_url": "https://pypi.org/project/flickrbackup/", "platform": "", "project_url": "https://pypi.org/project/flickrbackup/", "project_urls": { "Homepage": "http://github.com/optilude/flickrbackup" }, "release_url": "https://pypi.org/project/flickrbackup/0.9.1/", "requires_dist": null, "requires_python": "", "summary": "Flickr backup utility", "version": "0.9.1" }, "last_serial": 5684497, "releases": { "0.1": [ { "comment_text": "", "digests": { "md5": "d3ae539a46f90995fc68502d0219c9d8", "sha256": "80b58ec0d1d207151ac9d22e6d207b72dda8119bd7a5c433333c588d43fa6661" }, "downloads": -1, "filename": "flickrbackup-0.1.tar.gz", "has_sig": false, "md5_digest": "d3ae539a46f90995fc68502d0219c9d8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4595, "upload_time": "2012-12-23T23:27:00", "url": "https://files.pythonhosted.org/packages/7d/99/0e3837053316af932c0033b04921f6ded04a1567b38918e6a63cd40e24d0/flickrbackup-0.1.tar.gz" } ], "0.2": [ { "comment_text": "", "digests": { "md5": "f39fc9dfe59118faeb3d28198b5c282d", "sha256": "1cb5eb27332fa09a64d25151c1f115c7b4f431f018f3302d9f87bd585d40ec29" }, "downloads": -1, "filename": "flickrbackup-0.2.tar.gz", "has_sig": false, "md5_digest": "f39fc9dfe59118faeb3d28198b5c282d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4759, "upload_time": "2012-12-23T23:29:07", "url": "https://files.pythonhosted.org/packages/55/6b/0a8e4d6444389b0627b17c5703cc2ad884e3dc8bcc6cc4dbf5a4e4f83d75/flickrbackup-0.2.tar.gz" } ], "0.3": [ { "comment_text": "", "digests": { "md5": "f5c6bc4aff1c5eed0abcc2dff036835f", "sha256": "8e180bafa0cdd6b21c2c7717145b0dca501fd8aa2300f0db26094d134ce05c40" }, "downloads": -1, "filename": "flickrbackup-0.3.tar.gz", "has_sig": false, "md5_digest": "f5c6bc4aff1c5eed0abcc2dff036835f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5122, "upload_time": "2012-12-31T13:59:51", "url": "https://files.pythonhosted.org/packages/39/80/f7ddf22042342eb9c6ed8e4b5af347f73f9316cb83c14abc5ea4f41858dd/flickrbackup-0.3.tar.gz" } ], "0.4": [ { "comment_text": "", "digests": { "md5": "6d5b131916745ec505a41b94b10cd4e2", "sha256": "d80eff381ac54474d32467953523ae3fd6e70407eef1cfbbd10a4faeed0dc9e1" }, "downloads": -1, "filename": "flickrbackup-0.4.tar.gz", "has_sig": false, "md5_digest": "6d5b131916745ec505a41b94b10cd4e2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5172, "upload_time": "2012-12-31T14:31:01", "url": "https://files.pythonhosted.org/packages/7d/1d/ecf3402ec1d71f6e7236ff3157706ffb529b5e53024902423b710563462b/flickrbackup-0.4.tar.gz" } ], "0.5": [ { "comment_text": "", "digests": { "md5": "9483d485e2ba2a04a81ad036c2fb103b", "sha256": "f95b7f266096e23e8803bea6ca236e48ad9f9a35488907b6e89a28aab48d9a45" }, "downloads": -1, "filename": "flickrbackup-0.5.tar.gz", "has_sig": false, "md5_digest": "9483d485e2ba2a04a81ad036c2fb103b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5413, "upload_time": "2012-12-31T19:27:57", "url": "https://files.pythonhosted.org/packages/1c/9e/994732d12640b5d45f89f4fd0d100913eb7e0046e3ad0148d1fd05ae0357/flickrbackup-0.5.tar.gz" } ], "0.7": [ { "comment_text": "", "digests": { "md5": "f0b825b2744a62c3f4ed6aa5009f7d0d", "sha256": "399a00cdad65846b958dc97415c9fed5613c8401a4564628c38c6a3f922f7c26" }, "downloads": -1, "filename": "flickrbackup-0.7.tar.gz", "has_sig": false, "md5_digest": "f0b825b2744a62c3f4ed6aa5009f7d0d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8820, "upload_time": "2013-01-01T19:39:38", "url": "https://files.pythonhosted.org/packages/3b/fe/0ac71da5943061477f9aa39e7650c673234ad5d59f1162ab263438954898/flickrbackup-0.7.tar.gz" } ], "0.8": [ { "comment_text": "", "digests": { "md5": "bfb6f2a4cd90f81e4c6c8e311c94b38b", "sha256": "e968656dc4c6a99d646bf19d93d138481327bc3e75478bbcde7a61dd8ece6e16" }, "downloads": -1, "filename": "flickrbackup-0.8.tar.gz", "has_sig": false, "md5_digest": "bfb6f2a4cd90f81e4c6c8e311c94b38b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11725, "upload_time": "2013-06-01T09:57:37", "url": "https://files.pythonhosted.org/packages/9d/b4/c53dd7cd85d8f730401e8d893da049d38654499d4f7646cb277d2c76b094/flickrbackup-0.8.tar.gz" } ], "0.8.1": [ { "comment_text": "", "digests": { "md5": "8ac14943e78b3ef8097e8e23b4a0c89f", "sha256": "9971bb5575b7566fcfa2675facc91fa20dc8543986a9403334a60e295eee8f7a" }, "downloads": -1, "filename": "flickrbackup-0.8.1.tar.gz", "has_sig": false, "md5_digest": "8ac14943e78b3ef8097e8e23b4a0c89f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11744, "upload_time": "2013-06-01T10:04:25", "url": "https://files.pythonhosted.org/packages/4c/af/8ed37a24afc3e52fc524235cc85bdebca1400f26ad2b01b317a9c4a0a1c0/flickrbackup-0.8.1.tar.gz" } ], "0.8.2": [ { "comment_text": "", "digests": { "md5": "2d43a884c295ae4ca520eae17eaef0c7", "sha256": "c63fe011201778f76620519323784d680a77e64ef40e5b8f63f77f95a2e51455" }, "downloads": -1, "filename": "flickrbackup-0.8.2.tar.gz", "has_sig": false, "md5_digest": "2d43a884c295ae4ca520eae17eaef0c7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12404, "upload_time": "2013-07-29T10:28:42", "url": "https://files.pythonhosted.org/packages/f2/ef/106417b10bee8afde4c10e4f66c0927f59005f269ffa301773e1ef672f35/flickrbackup-0.8.2.tar.gz" } ], "0.8.3": [ { "comment_text": "", "digests": { "md5": "6c4a9ef1cb2a14c96e4bf9a504faf1e3", "sha256": "551e1d6bc29120bdc0387e5191f38319b43042336af0ca6ec34cf97204d6a4d5" }, "downloads": -1, "filename": "flickrbackup-0.8.3.tar.gz", "has_sig": false, "md5_digest": "6c4a9ef1cb2a14c96e4bf9a504faf1e3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10379, "upload_time": "2018-10-03T08:55:05", "url": "https://files.pythonhosted.org/packages/ad/1b/7b1b19148e939193d8e907ecc2c74043d64b222e4a14587a8c7f2398c6d2/flickrbackup-0.8.3.tar.gz" } ], "0.8.4": [ { "comment_text": "", "digests": { "md5": "7b6f4f7bf9d5d3cc8f897addc76a22f5", "sha256": "db92c365877d0218aab2ee22a31df06aa1d37c4966b9d8507fc3ab35d27bad88" }, "downloads": -1, "filename": "flickrbackup-0.8.4-py2-none-any.whl", "has_sig": false, "md5_digest": "7b6f4f7bf9d5d3cc8f897addc76a22f5", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 9390, "upload_time": "2019-01-08T11:50:24", "url": "https://files.pythonhosted.org/packages/65/47/1705c569cf0532d412fdc103a20d6df291428143e0b7f09af8a9fbbac8cd/flickrbackup-0.8.4-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "be55f399ed4279598d4550b13371f03a", "sha256": "fd9c0be70271080667971d96e90199fb2590560d34f77b02f9010acbfe85c5fa" }, "downloads": -1, "filename": "flickrbackup-0.8.4.tar.gz", "has_sig": false, "md5_digest": "be55f399ed4279598d4550b13371f03a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10368, "upload_time": "2019-01-08T11:50:25", "url": "https://files.pythonhosted.org/packages/2a/6f/74ee74c854399427bc5b241298ac8b1bafad8d6062b251396c3e54606e54/flickrbackup-0.8.4.tar.gz" } ], "0.9.0": [ { "comment_text": "", "digests": { "md5": "a0942ce3d28317b1f293f249200de46d", "sha256": "7506588c40e5584fdcb6e39595867853931539c04616f8d0e13552b3b22722e8" }, "downloads": -1, "filename": "flickrbackup-0.9.0.tar.gz", "has_sig": false, "md5_digest": "a0942ce3d28317b1f293f249200de46d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9039, "upload_time": "2019-08-15T18:07:21", "url": "https://files.pythonhosted.org/packages/40/f6/42c837636176161a3eb62617b1c86ea804b709ac9f383c48ddd3e665a078/flickrbackup-0.9.0.tar.gz" } ], "0.9.1": [ { "comment_text": "", "digests": { "md5": "599af3aa266b6c937a804f1201dfada4", "sha256": "d1b7998d008267821dd7e4e93fcf5422476b963e59c6ddf90c16e5e3f704aa8b" }, "downloads": -1, "filename": "flickrbackup-0.9.1.tar.gz", "has_sig": false, "md5_digest": "599af3aa266b6c937a804f1201dfada4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9084, "upload_time": "2019-08-15T21:51:01", "url": "https://files.pythonhosted.org/packages/e9/8f/5678b1320318151c897f115093a5f60987b7bbad532f3a0aaef0ca138d47/flickrbackup-0.9.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "599af3aa266b6c937a804f1201dfada4", "sha256": "d1b7998d008267821dd7e4e93fcf5422476b963e59c6ddf90c16e5e3f704aa8b" }, "downloads": -1, "filename": "flickrbackup-0.9.1.tar.gz", "has_sig": false, "md5_digest": "599af3aa266b6c937a804f1201dfada4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9084, "upload_time": "2019-08-15T21:51:01", "url": "https://files.pythonhosted.org/packages/e9/8f/5678b1320318151c897f115093a5f60987b7bbad532f3a0aaef0ca138d47/flickrbackup-0.9.1.tar.gz" } ] }