{ "info": { "author": "Mick Shine", "author_email": "madmixtar@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Environment :: Console", "Intended Audience :: Developers", "Intended Audience :: End Users/Desktop", "License :: OSI Approved :: MIT License", "Natural Language :: English", "Operating System :: Microsoft :: Windows", "Operating System :: POSIX :: Linux", "Programming Language :: Python :: 2.7", "Topic :: Utilities" ], "description": "Restorething\r\n============\r\n\r\n``restorething`` is a tool for restoring files from a syncthing\r\nversioning archive. Supply ``restorething`` the path to the syncthing\r\nversioning directory and a date, it will index the available files in\r\nthe versioning archive and restore files for you.\r\n\r\n``restorething`` has multiple restore modes and the ability to filter\r\nfiles and directories.\r\n\r\nRestore Modes\r\n-------------\r\n\r\n``restorething`` will restore files using the following modes\r\n\r\n- Nearest file before/after a specific date/time (default behaviour)\r\n- Nearest file before a specific date/time\r\n- Nearest file after a specific date/time\r\n- All instances of a specific file with no date/time restriction\r\n\r\n``restorething`` has filtering options\r\n\r\n- Filter files with specific string\r\n- Filter dir with specific string\r\n- Filter both dir and file with specific string\r\n\r\nInstallation\r\n------------\r\n\r\n``restorething`` from source\r\n\r\n.. code:: bash\r\n\r\n $ python setup.py sdist\r\n $ pip install dist\\restorething-x.x.x.tar.gz\r\n\r\n``restorething`` from PyPI\r\n\r\n.. code:: bash\r\n\r\n $ pip install restorething\r\n\r\nUsage\r\n-----\r\n\r\n``$ python -m restorething { date [ -hr {0-24} | -b | -a | -pm {int} | -ai {path and filename} | -vd {dir} | -rd {dir} | -dd {dir} | -df {filename} | -nf | -nd | -ic | -ns | [ -ff {string} | -fd {string} | -fb {path and filename} ] | -d | --version] }``\r\n\r\n+-----------+---------+---------------+--------------------------+-------------------+\r\n| Argument | Type | Format | Default | Description |\r\n+===========+=========+===============+==========================+===================+\r\n| date | integer | YYYYMMDD | No default value. Field | Date to restore |\r\n| | | | must be supplied by user | files, date will |\r\n| | | | | be used to find |\r\n| | | | | closest file |\r\n| | | | | before or after |\r\n| | | | | date |\r\n+-----------+---------+---------------+--------------------------+-------------------+\r\n| -hr | integer | -hr {0-24} | 12 | Hour to compare |\r\n| | | | | file's |\r\n| | | | | modification time |\r\n+-----------+---------+---------------+--------------------------+-------------------+\r\n| -b | switch | -b | disabled | Limit restore of |\r\n| | | | | files to before |\r\n| | | | | the supplied date |\r\n| | | | | and hour |\r\n+-----------+---------+---------------+--------------------------+-------------------+\r\n| -a | switch | -a | disabled | Limit restore of |\r\n| | | | | files to after |\r\n| | | | | the supplied date |\r\n| | | | | and hour |\r\n+-----------+---------+---------------+--------------------------+-------------------+\r\n| -pm | integer | -pm | 0 | Limit restore of |\r\n| | | {0-2147483647 | | files to |\r\n| | | hrs} | | plus/minus hours |\r\n| | | | | each side of the |\r\n| | | | | supplied date and |\r\n| | | | | hour |\r\n+-----------+---------+---------------+--------------------------+-------------------+\r\n| -ai | string | -ai {absolute | disabled | Recovers all |\r\n| | | path of file} | | versions of a |\r\n| | | | | file ignoring any |\r\n| | | | | date and times |\r\n| | | | | specified |\r\n+-----------+---------+---------------+--------------------------+-------------------+\r\n| -vd | string | -vd {absolute | .stversions | Sets the location |\r\n| | | or relative | | of the syncthing |\r\n| | | path of DIR} | | versioning |\r\n| | | | | folder, by |\r\n| | | | | default script |\r\n| | | | | looks in |\r\n| | | | | directory script |\r\n| | | | | is run from |\r\n+-----------+---------+---------------+--------------------------+-------------------+\r\n| -rd | string | -rd {absolute | restore | Enables the |\r\n| | | or relative | | ability to |\r\n| | | path of DIR} | | restore to a |\r\n| | | | | location other |\r\n| | | | | than the default |\r\n+-----------+---------+---------------+--------------------------+-------------------+\r\n| -dd | string | -dd {absolute | /home/name/.restorething | Enables the |\r\n| | | or relative | | ability to use a |\r\n| | | path of DIR} | | database file in |\r\n| | | | | a different |\r\n| | | | | location, default |\r\n| | | | | behaviour is to |\r\n| | | | | store database |\r\n| | | | | file in users |\r\n| | | | | home directory |\r\n+-----------+---------+---------------+--------------------------+-------------------+\r\n| -df | string | -df | restorething.db | Enables the |\r\n| | | {filename} | | ability to use a |\r\n| | | | | database file |\r\n| | | | | with a different |\r\n| | | | | name |\r\n+-----------+---------+---------------+--------------------------+-------------------+\r\n| -nf | switch | -nf | disabled | Enables indexing |\r\n| | | | | archived files |\r\n| | | | | every time script |\r\n| | | | | is run, by |\r\n| | | | | default script |\r\n| | | | | will reuse |\r\n| | | | | existing DB file |\r\n| | | | | for 24 hours |\r\n+-----------+---------+---------------+--------------------------+-------------------+\r\n| -nd | switch | -nd | disabled | Enables restoring |\r\n| | | | | files that have |\r\n| | | | | been deleted or |\r\n| | | | | changed due to |\r\n| | | | | renaming, by |\r\n| | | | | default deleted |\r\n| | | | | or renamed files |\r\n| | | | | are not included |\r\n| | | | | in restore |\r\n+-----------+---------+---------------+--------------------------+-------------------+\r\n| -ic | switch | -ic | disabled | Enables restoring |\r\n| | | | | files that were |\r\n| | | | | marked as |\r\n| | | | | conflict files by |\r\n| | | | | syncthing and |\r\n| | | | | deleted by user, |\r\n| | | | | by default |\r\n| | | | | conflict files |\r\n| | | | | are not restored |\r\n+-----------+---------+---------------+--------------------------+-------------------+\r\n| -ns | switch | -ns | disabled | Enables no |\r\n| | | | | simulation mode, |\r\n| | | | | default behaviour |\r\n| | | | | is to simulate |\r\n| | | | | restore, no |\r\n| | | | | simulation mode |\r\n| | | | | will copy files |\r\n| | | | | from syncthing |\r\n| | | | | archive to hard |\r\n| | | | | drive |\r\n+-----------+---------+---------------+--------------------------+-------------------+\r\n| -ff | string | -ff {string} | disabled | Recovers a single |\r\n| | | | | version of any |\r\n| | | | | files matching |\r\n| | | | | the string |\r\n| | | | | supplied |\r\n+-----------+---------+---------------+--------------------------+-------------------+\r\n| -fd | string | -fd {string} | disabled | Recovers a single |\r\n| | | | | version of all |\r\n| | | | | files in any DIR |\r\n| | | | | matching the |\r\n| | | | | string supplied |\r\n+-----------+---------+---------------+--------------------------+-------------------+\r\n| -fb | string | -fb {absolute | disabled | Recovers a single |\r\n| | | path of file} | | version of a file |\r\n| | | | | matching the DIR |\r\n| | | | | and Filename |\r\n+-----------+---------+---------------+--------------------------+-------------------+\r\n| -d | switch | -d | disabled | Enables debug |\r\n| | | | | output to console |\r\n+-----------+---------+---------------+--------------------------+-------------------+\r\n| --version | switch | --version | disabled | Displays version |\r\n+-----------+---------+---------------+--------------------------+-------------------+\r\n\r\nDefault behaviour\r\n-----------------\r\n\r\n- The default behaviour of the script is to look for the closest file\r\n older (before) than supplied date/time. If nothing is found, the\r\n script looks for the closest file younger (after) than supplied\r\n date/time. The default behaviour can be limited to plus/minus hours\r\n by supplying ``-pm {hours}`` argument or changed to only looking\r\n before or after supplied date/time by using the ``-b`` or ``-a``\r\n flags, respectively.\r\n- If no hour is supplied the default time value the script uses is\r\n 12pm. This can be changed by using the ``-hr {0-24}`` argument\r\n- The script will always simulate a restore by default giving the user\r\n an opportunity to review any detected warnings. By supplying the -ns\r\n flag, the user can enable the no simulation mode and do an actual\r\n restore, no simulation, no undo.\r\n- The script will create a directory named restore in the directory the\r\n script is being called from and restore all files recursively inside\r\n of it\r\n- If no syncthing versioning directory is supplied, the default\r\n behaviour is to look in the directory the script is being called\r\n from.\r\n- All config, log and database files are stored in user's home\r\n directory under the directory named .restorething.\r\n\r\nExamples\r\n--------\r\n\r\nRestore closest file before 6am 15th August 2016, if no file is found\r\nrestore closet file after 6am 15th August 2016. Due to not supplying\r\nversioning directory, script will need to be called from directory\r\ncontaining versioning directory\r\n\r\n.. code:: bash\r\n\r\n $ python -m restorething 20160815 -hr 6\r\n\r\nRestore closest file after 6am 15th August 2016, if no file is found, no\r\nfile will be restored. Versioning directory is supplied as a relative\r\npath to where the script is being called from.\r\n\r\n.. code:: bash\r\n\r\n $ python -m restorething 20160815 -hr 6 -a -vd sync/.stversions\r\n\r\nRestore closest file before 6am 15th August 2016, if no file is found,\r\nno file will be restored. Versioning directory is supplied as a relative\r\npath to where the script is being called from.\r\n\r\n.. code:: bash\r\n\r\n $ python -m restorething 20160815 -hr 6 -b -vd sync/.stversions\r\n\r\nRestore closest file no more than 10 hours before 6am 15th August 2016,\r\nif no file is found ``restorething`` will look for the closet file no\r\nmore than 10 hours after 6am 15th August 2016. Versioning directory is\r\nsupplied as a relative path to where the script is being called from.\r\n\r\n.. code:: bash\r\n\r\n $ python -m restorething 20160815 -hr 6 -pm 10 -vd sync/.stversions\r\n\r\nRestore all instances of a file located in directory\r\n``/some/important/directory/``, named ``file.txt``. Current script\r\nlimitation is you have to supply a date, although it will be ignored.\r\n\r\n.. code:: bash\r\n\r\n $ python -m restorething 20160815 -ai /some/important/directory/file.txt", "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/madmickstar/restorething", "keywords": null, "license": "MIT License\r\n\r\nCopyright (c) 2016 restorething\r\n\r\nPermission is hereby granted, free of charge, to any person obtaining a copy\r\nof this software and associated documentation files (the \"Software\"), to deal\r\nin the Software without restriction, including without limitation the rights\r\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\r\ncopies of the Software, and to permit persons to whom the Software is\r\nfurnished to do so, subject to the following conditions:\r\n\r\nThe above copyright notice and this permission notice shall be included in all\r\ncopies or substantial portions of the Software.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\r\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\r\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\r\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\r\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\r\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\r\nSOFTWARE.", "maintainer": null, "maintainer_email": null, "name": "restorething", "package_url": "https://pypi.org/project/restorething/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/restorething/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://github.com/madmickstar/restorething" }, "release_url": "https://pypi.org/project/restorething/0.2.4/", "requires_dist": null, "requires_python": null, "summary": "restorething is a tool for restoring files from a syncthing versioning archive", "version": "0.2.4" }, "last_serial": 2618857, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "97bd11d14420b1d0a7f271d589590962", "sha256": "640f293afb0cc48c4bfe2d38ff8aa071573f457e53487a056d7039dce567ff93" }, "downloads": -1, "filename": "restorething-0.1.0-py2.7.egg", "has_sig": false, "md5_digest": "97bd11d14420b1d0a7f271d589590962", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 31328, "upload_time": "2016-12-20T10:59:11", "url": "https://files.pythonhosted.org/packages/e0/bd/b9b1cb726f799907d25681b6bbcb3e69f3cdffa32fc2b77647ab2e1a80aa/restorething-0.1.0-py2.7.egg" }, { "comment_text": "", "digests": { "md5": "e8ee3dea91afcf79259893e681cb2558", "sha256": "324601aabdaec29f5dda2e1a203b549f961d40fbbdafa7f56d0075f30095093d" }, "downloads": -1, "filename": "restorething-0.1.0.tar.gz", "has_sig": false, "md5_digest": "e8ee3dea91afcf79259893e681cb2558", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14122, "upload_time": "2016-12-20T10:25:23", "url": "https://files.pythonhosted.org/packages/24/34/450a8ded52b57bb195a25ad200b7a71ced0007b73621460872553b39d7b7/restorething-0.1.0.tar.gz" } ], "0.2.0": [], "0.2.1": [ { "comment_text": "", "digests": { "md5": "fe431f2cfd434085ec67ca227cfe7517", "sha256": "d04d24333bf5716c7490a1ec1856a8e93d700e1b9335350d6375a7aa06dd15ad" }, "downloads": -1, "filename": "restorething-0.2.1-py2-none-any.whl", "has_sig": false, "md5_digest": "fe431f2cfd434085ec67ca227cfe7517", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 23231, "upload_time": "2017-01-08T10:55:22", "url": "https://files.pythonhosted.org/packages/5f/ed/1ec3595372920fe833d58962a9860bd843e579ec928c84952a735e1c1c14/restorething-0.2.1-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d4339a7f50d6914ac470a6a75c6fc9df", "sha256": "c94635283df100dd96a2a7be437fab47f9125edc7d9f64e93630b06ce2876aeb" }, "downloads": -1, "filename": "restorething-0.2.1.tar.gz", "has_sig": false, "md5_digest": "d4339a7f50d6914ac470a6a75c6fc9df", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 20715, "upload_time": "2017-01-08T10:55:19", "url": "https://files.pythonhosted.org/packages/5f/18/90f0e30892414162a813c741d6a164bdb5f9462d0f97008fd75ce6f569f0/restorething-0.2.1.tar.gz" } ], "0.2.3": [ { "comment_text": "", "digests": { "md5": "f690716cd6455cf007d0bad330e86040", "sha256": "de64fd989cd31fd661991f75f2bc4a957d687861a6a9cde8d441bf2c5f2ae1f1" }, "downloads": -1, "filename": "restorething-0.2.3-py2-none-any.whl", "has_sig": false, "md5_digest": "f690716cd6455cf007d0bad330e86040", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 23490, "upload_time": "2017-01-13T04:05:53", "url": "https://files.pythonhosted.org/packages/b2/cd/22555454565c637a49cf38da903d118f56a7a2c773cdb1605519d938e7bf/restorething-0.2.3-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "1145b96d0629f2b3ab5161d2e051fee0", "sha256": "2e45d69346e6fd230bae21cad9c3900141e170815e98999cd4ca0ae41af9d4d3" }, "downloads": -1, "filename": "restorething-0.2.3.tar.gz", "has_sig": false, "md5_digest": "1145b96d0629f2b3ab5161d2e051fee0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 20921, "upload_time": "2017-01-13T04:05:48", "url": "https://files.pythonhosted.org/packages/3d/65/72711053381be9c975ee09c22f71d9c84e6e03af9338b6c683daa9e8a97d/restorething-0.2.3.tar.gz" } ], "0.2.4": [ { "comment_text": "", "digests": { "md5": "d4c654c8e50189b18ba17a60b2beaa70", "sha256": "6ae5403c8a6a14166289deb61802827b91b2c33c5b300d7c5e76d98983509c6b" }, "downloads": -1, "filename": "restorething-0.2.4.tar.gz", "has_sig": false, "md5_digest": "d4c654c8e50189b18ba17a60b2beaa70", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 20911, "upload_time": "2017-02-04T12:09:05", "url": "https://files.pythonhosted.org/packages/f9/63/71c554c74428dcf047808f16836df18603ed1d07735fee3fdc2fd1235355/restorething-0.2.4.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "d4c654c8e50189b18ba17a60b2beaa70", "sha256": "6ae5403c8a6a14166289deb61802827b91b2c33c5b300d7c5e76d98983509c6b" }, "downloads": -1, "filename": "restorething-0.2.4.tar.gz", "has_sig": false, "md5_digest": "d4c654c8e50189b18ba17a60b2beaa70", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 20911, "upload_time": "2017-02-04T12:09:05", "url": "https://files.pythonhosted.org/packages/f9/63/71c554c74428dcf047808f16836df18603ed1d07735fee3fdc2fd1235355/restorething-0.2.4.tar.gz" } ] }