The objective of this package is to provide Command Line Interface (CLI) support within R for the Linux version of Dropbox.
The CLI is provided by Dropbox's dropbox.py interface that is only available on Linux. For details, please see No support for CLI exists on OS X or Windows.
As a result, all commands are run through:
~/dropbox.py <command> <options>
Please note this package is a work in progress (WIP) and is not suitable for production use or teaching without knowing what is going on. To help, a vignette was written and is available here: https://github.com/coatless/dropcli/blob/master/vignettes/using_dropcli.Rmd
If you need a package for multiple platforms, please see the rdrop2 by Karthik Ram. This package uses Dropbox's WebAPI via OAuth instead of an operating system specific package. The downside to this approach is the user must initiate the push instead of having a background process take care of it.
The commands available via the Dropbox CLI are as follows:
Command | Description | dropcli Functions |
---|---|---|
status | get current status of the dropboxd | dropbox_status() |
throttle | set bandwidth limits for Dropbox | MIA |
help | provide help | dropbox_help(topic) |
puburl | get public url of a file in your dropbox's public folder | dropbox_puburl(fp) |
stop | stop dropboxd | dropbox_stop() |
running | return whether dropbox is running | dropbox_running() |
start | start dropboxd | dropbox_start() |
filestatus | get current sync status of one or more files | dropbox_filestatus() |
ls | list directory contents with current sync status | MIA |
autostart | automatically start dropbox at login | dropbox_autostart() |
exclude | ignores/excludes a directory from syncing | MIA |
lansync | enables or disables LAN sync | MIA |
sharelink | get a shared link for a file in your dropbox | dropbox_sharelink(fp) |
proxy | set proxy settings for Dropbox | MIA |
The seemingly rapid development of this interface was inspired by Michael Levy's UseR2016 Talk (See the part at 7:20) that details live code piping from the instructor's computer.
The idea presented was very straightforward: Provide students with a direct link to the code file that updates upon every save done by the instructor.
The proposed approach alleviated my concerns for students not being able to:
- See the code being typed during STAT 385 @ UIUC;
- Type code sufficiently fast;
- Avoid sitting five feet from me while checking their thousands of Pokemon Go notifications
The rest is history...