CLI client for Google Drive
Project description
Drive Cli
Inspiration
-
Google Drive has become a vital part of our day to day life. As much as non-programmer use it, so do programmers in several situations,where we need not use git/github.
-
Drive-CLI is a command line utility tool for google drive which helps you access,sync, download,upload.. directly to your drive without leaving the command line. The best part being the commands are similar to git cli so that you can easily remember them :massage:
Features
view-file
:list your files, filter them by name,type.clone
:download file/folder from drive using sharing link or file ID and get it linkedadd_remote
:upload existing local file to drive and get it linkedcat
:view files contents of text format without actually downloading themrm
:remove particular file or folderls
:list put all the files present in the drive of equivalent current directorystatus
:list changes made to local files since last pull or pullpull
:get latest changes from drive to local filespush
:push the changes made in remote to drive
Demo
Installation
- For Usage
#install using pip
$ pip install drive-cli
- For Development
- clone the repo
$ git clone https://github.com/nurdtechie98/drive-cli.git
- get your client_secret.json from Oauth. Make sure to enable Drive Api for the project.
- rename the client secret as oauth.json and place it inside drive_cli directory.
- install the package
# move into package directory $ cd drive-cli # install package in edit mode $ pip install -e . #note the dot
Usage
Help
Any command in particular command or the entire list of commands can be displayed using help command
$ drive --help
Usage: drive [OPTIONS] COMMAND [ARGS]...
Options:
--help Show this message and exit.
Commands:
add_remote upload any existing file to drive
clone download any file using sharing link or file ID it will be
automatically tracked henceforth
login login to your google account and authenticate the service
logout logout from the account logged in with
ls list out all the files present in this directory in the drive
for tracked directories
pull get latest updates from online drive of the file
push push modification from local files to the drive
rm delete a particular file in drive
status list changes committed since last sync
view-files filter search files and file ID for files user has access to
Add Remote
Existing files or folders that have not been added to drive can be added and get tracked. Incase you need to add a particular file use file flag. The file folder can also be added inside particular parent folder in the drive using the file id of the folder
# adding entire folder named test to drive
$ cd test
$ drive add_remote
Created a tracked directory
uploading .DS_Store
uploading main.js
uploading test.html
uploading style.css
# adding a particular file(mailer.py) in current directory
$ drive add_remote --file mailer.py
uploaded mailer.py
#adding the file or folder inside particular parent file(test) using its file id
$ drive add_remote --file mailer.py --pid 1RJOWpW5MuP9RXpgZbp9OdauhaBtJd49g
uploaded mailer.py
content added under directory test
Clone
Download a file or folder present in drive using its file id or its sharing link. In case it is a folder it gets tracked.
# using file id note: since it is google doc it will be asked for a choice to select from
$ drive clone 1syTNkfXoc3pzpJSL0Z5LDioTFc46_LjzHjDDUvk90ks
Choose type to export to
(ENTER to select, s to stop):
=> pdf
txt
doc
zip
html
rtf
odt
Preparing: watson script for download
downloading file [####################################] 100%
completed download of watson script
# using file sharing link
$ drive clone https://docs.google.com/document/d/1syTNkfXoc3pzpJSL0Z5LDioTFc46_LjzHjDDUvk90ks
Choose type to export to
(ENTER to select, s to stop):
=> pdf
txt
doc
zip
html
rtf
odt
Preparing: watson script for download
downloading file [####################################] 100%
completed download of watson script
Uninstalling
$ pip uninstall drive-cli
Contributing
- We're are open to
enhancements
&bug-fixes
:smile:. - Feel free to add issues and submit patches
Author
Chirag Shetty - nurdtechie98
See also the list of contributors who participated in this project.
License
This project is licensed under the MIT - see the LICENSE file for details
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for drive_cli-1.1.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 38b509f399b6ca8f001b5144556d72459e6ed30bd7240c6e29c3245a84133182 |
|
MD5 | 1c1b9cb3be916972baf5d9fc63552ec4 |
|
BLAKE2b-256 | 39c0ce9118e1b60ac40276244603aa96efd8ee46bfda6c4ee0b6aa97dbab6326 |