python-rclone
A Python wrapper for rclone.
rclone
must be already installed and discoverable in $PATH
.
Status
Work in progress. Experimental.
Usage
import rclone
cfg = """[local]
type = local
nounc = true"""
result = rclone.with_config(cfg).listremotes()
print(result.get('out'))
# b'local:\n'
print(result.get('code'))
# 0
print(result.get('error'))
# b''
Implemented commands:
copy
Copy files from source to dest, skipping already copiedsync
Make source and dest identical, modifying destination only.listremotes
List all the remotes in the config file.ls
List the objects in the path with size and path.lsjson
List directories and objects in the path in JSON format.delete
Remove the contents of path.
Even if not all rclone
commands have been exposed, it's possible to invoke any command using run_cmd
method directly, as shown in the example bellow:
import rclone
cfg = """[local]
type = local
nounc = true"""
result = rclone.with_config(cfg).run_cmd(command="lsd", extra_args=["local:/tmp", "-v", "--dry-run"])
Logging and Debugging
To see more info about which commands are executed, or what other messages they print, you can enable logging as the example bellow shows:
import logging
logging.basicConfig(
level=logging.DEBUG,
format="%(asctime)s %(name)s [%(levelname)s]: %(message)s")
import rclone
cfg = """[local]
type = local
nounc = true"""
result = rclone.with_config(cfg).listremotes()
Developer guide
$ pip install -r requirements.txt
$ make test