All Projects → jaymoulin → google-music-manager-uploader

jaymoulin / google-music-manager-uploader

Licence: MIT license
Google Music Manager Uploader module / Easily upload MP3 (folder) to Google Music

Programming Languages

python
139335 projects - #7 most used programming language
Makefile
30231 projects

Projects that are alternatives of or similar to google-music-manager-uploader

RxUploader
Uploader for Android using RxJava
Stars: ✭ 72 (+242.86%)
Mutual labels:  upload, uploader, upload-manager, upload-file
react-native-tus-client
React Native client for the tus resumable upload protocol.
Stars: ✭ 38 (+80.95%)
Mutual labels:  upload, uploader, upload-file
Angular File Uploader
Angular file uploader is an Angular 2/4/5/6/7/8/9/10 + file uploader module with Real-Time Progress Bar, Responsive design, Angular Universal Compatibility, localization and multiple themes which includes Drag and Drop and much more.
Stars: ✭ 92 (+338.1%)
Mutual labels:  upload, uploader
Go Tus
A pure Go client for the tus resumable upload protocol
Stars: ✭ 105 (+400%)
Mutual labels:  upload, uploader
Vue Upload Component
Vue.js file upload component, Multi-file upload, Upload directory, Drag upload, Drag the directory, Upload multiple files at the same time, html4 (IE 9), `PUT` method, Customize the filter
Stars: ✭ 2,422 (+11433.33%)
Mutual labels:  upload, uploader
Laravel Simple Uploader
Simple file uploader for Laravel 5.
Stars: ✭ 59 (+180.95%)
Mutual labels:  upload, uploader
Uploadcare Php
PHP API client that handles uploads and further operations with files by wrapping Uploadcare Upload and REST APIs.
Stars: ✭ 77 (+266.67%)
Mutual labels:  upload, uploader
Uploadcare Widget
Uploadcare Widget, an ultimate tool for HTML5 file upload supporting multiple file upload, drag&drop, validation by file size/file extension/MIME file type, progress bar for file uploads, image preview.
Stars: ✭ 183 (+771.43%)
Mutual labels:  upload, uploader
Gphotos Uploader Cli
Command line tool to mass upload media folders to your google photos account(s) (Mac OS / Linux)
Stars: ✭ 502 (+2290.48%)
Mutual labels:  upload, uploader
Vue Transmit
Vue.js drag & drop uploader based on Dropzone.js
Stars: ✭ 209 (+895.24%)
Mutual labels:  upload, uploader
filestack-ios
Official iOS SDK for Filestack - API and content management system that makes it easy to add powerful file uploading and transformation capabilities to any web or mobile application.
Stars: ✭ 44 (+109.52%)
Mutual labels:  upload, uploader
Droply Js
Droply JS, a new responsive and cross browser chunk uploader with DragDrop and File Preview capabilities (HTML5/CSS3)
Stars: ✭ 50 (+138.1%)
Mutual labels:  upload, uploader
Upload
文件上传功能
Stars: ✭ 8 (-61.9%)
Mutual labels:  upload, uploader
React Images Uploading
The simple images uploader applied Render Props pattern that allows you to fully control UI component and behaviors.
Stars: ✭ 80 (+280.95%)
Mutual labels:  upload, uploader
Chibisafe
Blazing fast file uploader and awesome bunker written in node! 🚀
Stars: ✭ 657 (+3028.57%)
Mutual labels:  upload, uploader
Curldrop
⏫ web app for for easy file uploads via curl
Stars: ✭ 125 (+495.24%)
Mutual labels:  upload, uploader
tiny-qiniu-request
tiny-qiniu for rc-upload or antd upload component `customRequest` property
Stars: ✭ 13 (-38.1%)
Mutual labels:  upload, upload-file
rustypaste
A minimal file upload/pastebin service.
Stars: ✭ 102 (+385.71%)
Mutual labels:  upload, upload-file
ShareX-CDN
Basic image, text & file uploader CDN for ShareX
Stars: ✭ 22 (+4.76%)
Mutual labels:  upload, uploader
Cakephp File Storage
Abstract file storage and upload plugin for CakePHP. Write to local disk, FTP, S3, Dropbox and more through a single interface. It's not just yet another uploader but a complete storage solution.
Stars: ✭ 202 (+861.9%)
Mutual labels:  upload, uploader
logo

Google Music Manager - Uploader

latest release PyPI version PayPal donation Buy me a coffee Become a Patron

(This product is available under a free and permissive license, but needs financial support to sustain its continued improvements. In addition to maintenance and stability there are many desirable features yet to be added.)

This program will replace former Google MusicManager to upload your music library to Google Music

This work is based upon Simon Weber's Google Music API.

Installation

Avconv is needed to convert some of your files due to Google's MP3 constraint also, this program needs watchdog, gmusicapi, netifaces, requests and bs4 Python libraries to work.

apt-get install python3-pip libav-tools build-essential
pip3 install google-music-manager-uploader

Once installed, You have to authenticate to Google Music via the google-music-auth command

# Usage google-music-auth [path_to_oauth_cred_file=~/oauth]

If first parameter is not defined, the script will try to store/load your oauth credentials through the ~/oauth file.

Then follow prompted instructions.

You will be asked to go to a Google URL to allow the connection:

Visit the following url:
    https://accounts.google.com/o/oauth2/v2/auth?client_id=XXXXXXXXXXX.apps.googleusercontent.com&access_type=offline&scope=https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fmusicmanager&response_type=code&redirect_uri=urn%3Aietf%3Awg%3Aoauth%3A2.0%3Aoob
Follow the prompts, then paste the auth code here and hit enter:

Usage

Uploader

This program will scan a given directory for new elements to upload them to Google Music. First, launch the daemon to watch a directory new inputs.

It will NOT upload already existing files, ONLY new files while the daemon is running. (Please contribute if you want this to change)

usage: google-music-upload [-h] [--directory DIRECTORY] [--oauth OAUTH] [-r]
                          [--uploader_id UPLOADER_ID] [-o] [--deduplicate_api DEDUPLICATE_API]

optional arguments:
  -h, --help            show this help message and exit
  --directory DIRECTORY, -d DIRECTORY
                        Music Folder to upload from (default: .)
  --oauth OAUTH, -a OAUTH
                        Path to oauth file (default: ~/oauth)
  -r, --remove          Remove the file on your hard drive if it was already successfully uploaded (default: False)
  --uploader_id UPLOADER_ID, -u UPLOADER_ID
                        Uploader identification (should be an uppercase MAC
                        address) (default: <current eth0 MAC address>)
  -o, --oneshot         Upload folder and exit (default: False)
  -w DEDUPLICATE_API, --deduplicate_api DEDUPLICATE_API
                        Deduplicate API (should be HTTP and compatible with
                        the manifest (see README)) (default: None)

Deduplicate

This program will send all files or the specified file to the deduplication API

usage: google-music-upload-deduplicate [-h] --deduplicate_api DEDUPLICATE_API
                                   [--directory DIRECTORY] [--file FILE]
                                   [--remove]

optional arguments:
  -h, --help            show this help message and exit
  --directory DIRECTORY, -d DIRECTORY
                        Music Folder to deduplicate
  --file FILE, -f FILE
                        Music file path to deduplicate
  -r, --remove          Unmark specified file/folder (default: False)
  -w DEDUPLICATE_API, --deduplicate_api DEDUPLICATE_API
                        Deduplicate API (should be HTTP and compatible with
                        the manifest (see README)) (default: None)

Deduplication API

Preface

This API is completely optional. You don't have to implement this. It will only help you to avoid useless Google calls

You can use your own API implementation to avoid sampling + Google upload. This API should match with the following requirements.

You may want to use this existing one : Google MusicManager Deduplicate API.

Exists

path method parameter status code
/ GET name description value description
path path of your file 200 or 204 Your file was already uploaded
404 (or whatever) Your file was NOT uploaded

Saving

path method parameter status code
/ POST name description value description
path path of your file whatever Status code does not change anything

Removing

path method parameter status code
/ DELETE name description value description
path path of your file whatever Status code does not change anything

About

Requirements

Google Music Uploader works with Python 3 or above. It requires Simon Weber's Google Music API and Watchdog.

Submitting bugs and feature requests

Bugs and feature request are tracked on GitHub

Author

Jay MOULIN [email protected] See also the list of contributors which participated in this program.

License

Google Music Uploader is licensed under the MIT License

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].