-
The
chromedriverexecutable needs to be available in$PATH. -
Fill the config file before running the script
-
Use an absolute
folder_path -
Song titles must match the format
{number} - {title}.{format} -
The thumbnail must have the same name as the album
-
If your file explorer is not
Nautilus, the browse actions might not work -
Folder structure as follows
Files should be in a folder which is named after the album, inside a folder that is named after the artist.
. └── Red Hot Chili Peppers └── Californication ├── 01 - Around the World.flac ├── 02 - Parallel Universe.flac ├── 03 - Scar Tissue.flac ├── 04 - Otherside.flac ├── 05 - Get on Top.flac ├── 06 - Californication.flac ├── 07 - Easily.flac ├── 08 - Porcelain.flac ├── 09 - Emit Remmus.flac ├── 10 - I Like Dirt.flac ├── 11 - This Velvet Glove.flac ├── 12 - Savior.flac ├── 13 - Purple Stain.flac ├── 14 - Right on Time.flac ├── 15 - Road Trippin.flac ├── album_info.txt └── Californication.jpg
-
Clone the repo
git clone https://github.com/ibLeDy/lbry-batch-upload.git && \ cd lbry-batch-upload -
Create a virtual enviroment and activate it
python3 -m virtualenv .venv && \ source .venv/bin/activate -
Install the requirements
pip install -r requirements.txt
-
Fill the config
-
Run the script
python lbry_batch_upload.py
-
user -
filesfolder_pathfull (absolute) path to the album folder
audio_formatthe extension of the audio files (
.mp3,.flac, ...)thumbnail_formatthe extension of the thumbnail (
.jpg,.png, ...)excludedfiles that you don't want to upload
-
uploaddescriptionmulti-line string with the description
tagsup to 5
channelexact name as it appears on the channels list
depositfloating point number
pricefloating point number or false if you don't want to set a price
languagetwo-character language code (
en,es, ...)license_typelicense name, as it appears on the dropdown menu of an upload
license_noticetext for the license notice
-
March 20, 2021:
- Fix minor issues so the script works again
- Add license
- Revamp readme
- Add configuration section
- Add disclaimer about
Nautilus - Add warning about
chromedriver
- Bump requirements
- Start using
odysee.com
-
October 8, 2020:
- Fix outdated selectors
- Account for lbry's new upload confirmation popup
- Use thumbnail file inside the album folder instead of a url
- Delete
thumbnail_urlfrom upload section in config - Add
thumbnail_formatto files section in config - Don't use
-separator between song number and name
-
September 14, 2020:
- Basic validation for
languageandlicense_type
- Basic validation for
-
September 10, 2020:
- Closing the success popup is more reliable
- Selecting files is more reliable
- Fix outdated selectors
- Use ASCII in claim name
-
July 24, 2020:
- Changelog is now in reverse chronological order
-
June 17, 2020:
- Use toml instead of json for config file:
config.json -> config.toml - Define constants to catch basic config errors
- Replace
Nonechecks with existence ones
- Use toml instead of json for config file:
-
June 16, 2020:
- Rename settings file:
upload_settings.json -> config.json - Handle closing success upload popup with a custom decorator
- Add missing decorator to some functions
- Rename base class for pages
PageObject -> BasePage - Separate clicking and filling info so we can resume when a popup was detected
- Add sleep before uploading next file so they get uploaded in order
- Rename settings file:
-
June 13, 2020:
- Handle
priceoption, only LBC atm
- Handle
-
June 12, 2020:
- Change webdriver to improve speed:
Firefox -> Chrome - Change settings file name:
settings.json -> upload_settings.json - Move credentials from
.envtoupload_settings.json - Remove
python-dotenvrequirement - Implement PageObject pattern
- Remove
pricefrom settings until i manage to circunvent an obstructing label - Bump wait time before and after file selection to 1s
- Change webdriver to improve speed:
This project is licensed under the terms of the MIT license.
