{ "info": { "author": "Lenko Grigorov", "author_email": "bnlsw@banica.org", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: BSD License", "Programming Language :: Python :: 3" ], "description": "# seersync\n\nSeersync is an application which can list the changes that a particular run of rsync would make.\nThe application can work in GUI mode or in batch mode via the command line. Seersync itself does\nnot make any changes. It uses the dry-run mode of rsync and then lets the user preview the collected\ninformation. Generally, arbitrary rsync command lines are supported with the exception of\ncommand lines which contain the quiet flag, `-q`. The rsync output is fully suppressed when the\nquiet flag is used and seersync cannot operate correctly in such situations.\n\n*Note that the information in seersync represents only a snapshot. If the file system gets modified\nafter running seersync, the list shown may no longer represent correctly what would happen when rsync\ngets executed.*\n\nSeersync is only tested on a Linux system. However, the application is written in Python 3 and may\nbe able to function correctly on other systems where Python 3 and rsync are available.\n\n## Installation\n\nTo install and use seersync, you need to have Python3 on your system. Then from the command line you\ncan run:\n```\npip install seersync\n```\nNote: On some systems you may need to call `pip3` instead of `pip`.\n\n## Launching\n\nTo launch seersync, from the command line run:\n```\nseersync\n```\nor\n```\npython -m seersync\n```\nNote: On some systems you may need to call `python3` instead of `python`.\n\nThe `pyqt5` package is needed to launch the seersync GUI. If this package is not available on your\nsystem, you can still use seersync in batch mode.\n\n## Using the GUI\n\nFollow these steps:\n1. Launch seersync.\n2. Enter the desired rsync command line in the \"Command line\" text field.\n3. Click the \"Check\" button.\n4. Explore the list of changes that rsync would make in the bottom half of the screen.\n\n![(Screenshot of the seersync GUI)](screenshot.png)\n\n## Passing the rsync command line\n\nLet us assume that we want to check what changes the command `rsync -a src_folder dst_folder` would\nmake. As an alternative to entering the command manually in the GUI, it is possible to pass the\ndesired rsync command line when launching seersync in one of two ways.\n\n### Pass the rsync command line as arguments to seersync\n\nThe full rsync command line can be specified directly as arguments to seersync. \n```\nseersync rsync -a src_folder dst_folder\n```\n\n### Read the rsync command line from a file\n\nThe desired rsync command can be also saved in a file. For example, we can create a file called\n`rsync.txt` with the following content:\n```\n# An example input file for seersync\nrsync -a src_folder dst_folder\n```\nThen, we can call seersync and specify this file as input.\n```\nseersync -i rsync.txt\n```\n\nSeersync interprests lines that start with the `#` character as comments. The first line which is not\na comment is assumed to contain the rsync command line.\n\n## Batch mode\n\nIn addition to the GUI, seersync offers batch mode which is useful for integration with other tools\nwhen creating scripts. To run seersync in batch mode, pass the `-b` option. Make sure that the batch\noption appers before the start of the rsync command line arguments.\n```\nseersync -b rsync -a src_folder dst_folder\n```\n\nThe output of seersync will be a plain list inspired by the short format of the Git status command.\nEach line will start with a letter indicating the type of change, followed by the path.\n\nThe letter will be one of `A`, `M` and `D`.\n- `A` indicates that the path is a new file or folder created at the destination.\n- `M` indicates that the file or folder at the destination exists but will be updated.\n- `D` indicates that the file or folder at the destination will be removed.\n\nIf the path contains a slash at the end, it indicates that this is a folder.\n\nThe following is an example output when seersync is run in batch mode.\n```\nM ./\nM modified dir/\nM modified dir/nested modified file\nA modified dir/nested new file\nD modified dir/nested surplus file\nM modified file\nM modified link\nA new dir/\nA new file\nA new link\nD surplus dir/\nD surplus file\nD surplus link\n```\n\nIn batch mode, seersync checks automatically for the presence of the quiet flag, `-q`, in the rsync\ncommand line and will exit with an error if it detects the flag. If this behavior is undesirable,\nfor example, if the detection algorithm results in a false positive, one can pass the\n`--skip-detect-quiet` to seersync.\n```\nseersync -b --skip-detect-quiet rsync ...\n```\n\n## Command line options\n\n`-h` or `--help` print command line help and exit\n\n`-i INPUT_FILE` read the rsync command line from INPUT_FILE\n\n`-b` run in batch mode, without opening GUI\n\n`--progress` display the progress of operation (batch mode only)\n\n`--version` print version and exit\n\n`--skip-detect-quiet` do not check if the rsync command line contains the quiet flag -q (batch mode only)\n\n## License\n\nSeersync is licensed under the 3-clause BSD license.\n\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/lenkog/seersync", "keywords": "", "license": "BSD", "maintainer": "", "maintainer_email": "", "name": "seersync", "package_url": "https://pypi.org/project/seersync/", "platform": "", "project_url": "https://pypi.org/project/seersync/", "project_urls": { "Homepage": "https://github.com/lenkog/seersync" }, "release_url": "https://pypi.org/project/seersync/1.0.0/", "requires_dist": [ "argparse" ], "requires_python": ">=3.4", "summary": "Tool to list the changes that rsync would make if a given rsync command line gets executed", "version": "1.0.0" }, "last_serial": 4902795, "releases": { "1.0.0": [ { "comment_text": "", "digests": { "md5": "2d6322dbe18c96b1004f4423fbde9259", "sha256": "ff523a99a70289c05c1e6d0bb1468abab4c9c4a994135a7a7b2487c0cfb4bfc4" }, "downloads": -1, "filename": "seersync-1.0.0-py3-none-any.whl", "has_sig": false, "md5_digest": "2d6322dbe18c96b1004f4423fbde9259", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.4", "size": 12438, "upload_time": "2019-03-06T00:40:14", "url": "https://files.pythonhosted.org/packages/b4/3e/eb6a8e0b1a2c55b4c73f8a1780265a4ec7be821bdc74e9e0839c9e9e2df9/seersync-1.0.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "9012803f42087f33823c533e2c4e1da1", "sha256": "a5168090842a3414d9f9bbbb1e95c290d9a991a74e57eb859c4e1e7d74282ef9" }, "downloads": -1, "filename": "seersync-1.0.0.tar.gz", "has_sig": false, "md5_digest": "9012803f42087f33823c533e2c4e1da1", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.4", "size": 65521, "upload_time": "2019-03-06T00:40:17", "url": "https://files.pythonhosted.org/packages/61/cb/dcbc205991541d2f972d2decca1e24588817780166cc1a811588f7e4c364/seersync-1.0.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "2d6322dbe18c96b1004f4423fbde9259", "sha256": "ff523a99a70289c05c1e6d0bb1468abab4c9c4a994135a7a7b2487c0cfb4bfc4" }, "downloads": -1, "filename": "seersync-1.0.0-py3-none-any.whl", "has_sig": false, "md5_digest": "2d6322dbe18c96b1004f4423fbde9259", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.4", "size": 12438, "upload_time": "2019-03-06T00:40:14", "url": "https://files.pythonhosted.org/packages/b4/3e/eb6a8e0b1a2c55b4c73f8a1780265a4ec7be821bdc74e9e0839c9e9e2df9/seersync-1.0.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "9012803f42087f33823c533e2c4e1da1", "sha256": "a5168090842a3414d9f9bbbb1e95c290d9a991a74e57eb859c4e1e7d74282ef9" }, "downloads": -1, "filename": "seersync-1.0.0.tar.gz", "has_sig": false, "md5_digest": "9012803f42087f33823c533e2c4e1da1", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.4", "size": 65521, "upload_time": "2019-03-06T00:40:17", "url": "https://files.pythonhosted.org/packages/61/cb/dcbc205991541d2f972d2decca1e24588817780166cc1a811588f7e4c364/seersync-1.0.0.tar.gz" } ] }