-
The
chromedriver
executable 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
-
files
folder_path
full (absolute) path to the album folder
audio_format
the extension of the audio files (
.mp3
,.flac
, ...)thumbnail_format
the extension of the thumbnail (
.jpg
,.png
, ...)excluded
files that you don't want to upload
-
upload
description
multi-line string with the description
tags
up to 5
channel
exact name as it appears on the channels list
deposit
floating point number
price
floating point number or false if you don't want to set a price
language
two-character language code (
en
,es
, ...)license_type
license name, as it appears on the dropdown menu of an upload
license_notice
text 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_url
from upload section in config - Add
thumbnail_format
to files section in config - Don't use
-
separator between song number and name
-
September 14, 2020:
- Basic validation for
language
andlicense_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
None
checks 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
price
option, 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
.env
toupload_settings.json
- Remove
python-dotenv
requirement - Implement PageObject pattern
- Remove
price
from 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.