https://github.com/ribeaud/discogs-importer
Importer to Discogs
https://github.com/ribeaud/discogs-importer
csv discogs discogs-importer
Last synced: 12 months ago
JSON representation
Importer to Discogs
- Host: GitHub
- URL: https://github.com/ribeaud/discogs-importer
- Owner: ribeaud
- License: mit
- Created: 2016-12-22T15:15:14.000Z (over 9 years ago)
- Default Branch: master
- Last Pushed: 2025-02-23T14:11:52.000Z (about 1 year ago)
- Last Synced: 2025-04-06T18:18:08.778Z (12 months ago)
- Topics: csv, discogs, discogs-importer
- Language: JavaScript
- Size: 344 KB
- Stars: 3
- Watchers: 2
- Forks: 0
- Open Issues: 10
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Discogs Importer
Given a **CSV** file, it imports the releases (one release per line) into your named collection
at [Discogs](https://www.discogs.com/).
### CSV file format
#### Expectations regarding the __CSV__ file:
* Presence of header required. Minimum set of expected columns are **Artist**, **Title** and **Format** (case is _important_).
Optional column is **Catno**. **Catno** is currently NOT used.
### Program behaviour
#### Expectations regarding the program itself:
* It will NOT create any duplicate in the specified target folder. If the item already exists, then a log will be made
and adding will be skipped.
* Due to current [Discogs](https://www.discogs.com/) limitations concerning rate limitation
(`requests are throttled by the server to 240 per minute per IP address`),
each **CSV** record (line) is handled _synchronously_.
* Only regular releases will be considered. _While Label_, _Promo_ and _Master_ will NOT.
#### Logic
1. It first tries to find a _perfect_ match for a given **Artist**, **Title** and **Format**.
1. If nothing is found, then tries to find a _similar_ match for a given **Artist**, **Title** and **Format**.
1. If multiple matches are found, then a log is made and nothing will happen.
### Configuration
Current configuration could be found [here](config/default.json) and MUST be adapted to your needs:
```
{
"userName": // What is your Discogs user name?,
"folderName": // Where do you want to put the releases added?,
"userToken": // Generate a personal Discogs access token here ---> https://www.discogs.com/settings/developers,
"dryRun": // "false" if you do NOT want to really add the releases for now and prefer to see what the program will do,
"csv": {
"delimiter": // CSV delimiter
}
}
```
#### Running the program
1. Install [Node.js](https://nodejs.org/)
1. Go to this package's download directory
1. Adapt configuration [here](config/default.json)
1. Start the program with `node app.js `