Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/arsenlosenko/transfer.sh_client

Python client for uploading files to transfer.sh (https://transfer.sh/)
https://github.com/arsenlosenko/transfer.sh_client

command-line-tool commandline-interface python python-client python3

Last synced: 6 days ago
JSON representation

Python client for uploading files to transfer.sh (https://transfer.sh/)

Awesome Lists containing this project

README

        

# transfer.sh-client
Python client for uploading files to transfer.sh (https://transfer.sh/)
This command-line tool send file (or files, in case of directory download) to transfer.sh, and provides link to uploaded files,
so it could be easily shared

## Latest release:

https://pypi.org/project/transfersh-client/1.1.3/

## Getting Started

- Install python and pip (package manager):
```bash
sudo apt-get update
sudo apt-get install python3 python3-pip

OR

sudo apt-get install python python-pip
```

- Download package from pip:
```bash
pip3 install --user transfersh_client
```

## Usage

- After installation, you can run this package directly in command line. Launching it without arguments starts it in interactive mode:
```bash
transfer_files
```

### Sample output:
```bash
Github|⇒ transfer_files
Enter path to file or directory: ./sysinfo
Creating zipfile from files in... /home/path/to/directory/sysinfo
Added file: cython_tut.cpython-34m.so
Added file: cython_tut.pyx
Added file: setup.py
Added file: build
Added file: fib.cpython-34m.so
Added file: primes.c
Added file: .idea
Added file: fib.c
Added file: parse_proc_files.py
Added file: fib.pyx
Added file: primes.pyx
Added file: cython_tut.c
Added file: primes.cpython-34m.so

Sending zipfile: files_archive_09-02_18:34.zip (size of the file: 0.407897 MB)
Link to download zipfile(will be saved till 2017-09-16):
Could not save metadata

Link copied to clipboard
Remove archive? (y/n, yes/no):yes
Removing file... /home/path/to/directory/sysinfo/files_archive_09-02_18:34.zip
Removed.
```
- Besides that, you can start it with arguments:

-i --interactive - keys that will start app with prompts (same as running it without arguments)

-d --directory - enter path to directory (relative or absolute), which files will be sent in an archive

-f --file - same as --directory, but enter path to file

--ra --rm-archive - delete created archive, after it was sent

--rf --rm-file - delete file after it was sent

-h --help - display help message

### Sample output
```bash
transfer.sh_client|dev⚡ ⇒ transfer_files -f test.txt --rf

Sending file: /home/path/to/directory/transfer.sh_client/test.txt (size of the file: 0.000113 MB)
Link to download file(will be saved till 2017-09-16):
https://transfer.sh/CtaJs/test.txt
Link copied to clipboard
Removing file... /home/path/to/directory/transfer.sh_client/test.txt
Removed.
```

## Example of usage inside scripts

```python
#!/usr/bin/env python3

from transfersh_client.app import send_to_transfersh, create_zip, remove_file

def send_files_from_dir():
directory = './'
zip_file = create_zip(directory) # creates zip archive and returns it's absolute path
send_to_transfersh(zip_file) # sends archive to transfer.sh
remove_file(zip_file) # removes it

if __name__ == '__main__':
send_files_from_dir()
```

## Contributing
If you want to add some sort of a feature, fill free to fork this repo and submit your changes via a PR.