https://github.com/pr0pz/scene-release-parser
A library for parsing scene release names into human readable data.
https://github.com/pr0pz/scene-release-parser
parser parser-library predb release scene scene-release warez warez-scripts warezscene
Last synced: 4 months ago
JSON representation
A library for parsing scene release names into human readable data.
- Host: GitHub
- URL: https://github.com/pr0pz/scene-release-parser
- Owner: pr0pz
- Created: 2022-11-22T14:27:38.000Z (about 3 years ago)
- Default Branch: main
- Last Pushed: 2024-06-02T16:20:39.000Z (over 1 year ago)
- Last Synced: 2025-04-15T21:17:14.040Z (10 months ago)
- Topics: parser, parser-library, predb, release, scene, scene-release, warez, warez-scripts, warezscene
- Language: JavaScript
- Homepage:
- Size: 189 KB
- Stars: 26
- Watchers: 2
- Forks: 4
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: changelog.txt
Awesome Lists containing this project
README
# __Scene Release Parser__



## __A library for parsing scene release names into simpler, reusable data.__
_Like it? I'd appreciate the support :)_
[](https://propz.de/twitch/)
[](https://propz.de/youtube/)
[](https://propz.de/discord/)
[](https://propz.de/kofi/)
### __Description__
This library parses scene release names and splits the data into smaller, simpler, human readable and therefore more reusable data.
The applied rules are mostly based on studying the [existing collection of Scene rules](https://scenerules.org/) and other release examples from a PreDB, since a lot of releases are not named correctly (specially older ones).
The approach was to implement an algorithm that can really parse a variety of scene releases from all decades. The main test file covers some more complex names.
### __Instructions__
I suppose you already know some JavaScript and [Node](https://nodejs.org/en/) is already installed on your computer. The next steps are:
› Install the library via npm ___OR___ download the [latest release](https://github.com/pr0pz/scene-release-parser/releases/latest);
```sh
$ npm install release-parser
```
› Import the library into your project;\
› Use the function ReleaseParser and pass the release name and (optionally) the release section (for better type parsing);\
› The function will return an object with all the successfully parsed informations.
__Example:__
```js
import ReleaseParser from 'release-parser'
const release = ReleaseParser( '24.S02E02.9.00.Uhr.bis.10.00.Uhr.German.DL.TV.Dubbed.DVDRip.SVCD.READ.NFO-c0nFuSed', 'tv' )
=> {
release: '24.S02E02.9.00.Uhr.bis.10.00.Uhr.German.DL.TV.Dubbed.DVDRip.SVCD.READ.NFO-c0nFuSed',
title: '24',
titleExtra: '9 00 Uhr bis 10 00 Uhr',
group: 'c0nFuSed',
year: null,
date: null,
season: 2,
episode: 2,
disc: null,
flags: [ 'READNFO', 'TV Dubbed' ],
source: 'DVDRip',
format: 'SVCD',
resolution: null,
audio: null,
device: null,
os: null,
version: null,
language: { de: 'German' },
type: 'TV'
}
```
### __CLI__
You're also able to use the script via the command line.
› For that, you'll nee to install the script globally;
```sh
$ npm install -g release-parser
```
› Just pass the release name as first argument after calling the script with 'release-parser'.\
› If you get errors, try enclosing the release name in parenthesis: "Artist--Title-(Bla)-2000-Group". Some shells have issues with some characters (like brackets).
__Example:__
```sh
$ release-parser 24.S02E02.9.00.Uhr.bis.10.00.Uhr.German.DL.TV.Dubbed.DVDRip.SVCD.READ.NFO-c0nFuSed
=> {
release: '24.S02E02.9.00.Uhr.bis.10.00.Uhr.German.DL.TV.Dubbed.DVDRip.SVCD.READ.NFO-c0nFuSed',
title: '24',
titleExtra: '9 00 Uhr bis 10 00 Uhr',
group: 'c0nFuSed',
year: null,
date: null,
season: 2,
episode: 2,
disc: null,
flags: [ 'READNFO', 'TV Dubbed' ],
source: 'DVDRip',
format: 'SVCD',
resolution: null,
audio: null,
device: null,
os: null,
version: null,
language: { de: 'German' },
type: 'TV'
}
```
That's it!
### __Found any Bugs?__
If you find any bugs/errors, feel free to [post an issue](https://github.com/pr0pz/scene-release-parser/issues).
### __Similar projects and inspirations__
- [pr0pz/scene-release-parser-php](https://github.com/pr0pz/scene-release-parser-php) - Identical to this project but in PHP
- [matiassingers/scene-release](https://github.com/matiassingers/scene-release) (JavaScript)
- [thcolin/scene-release-parser-php](https://github.com/thcolin/scene-release-parser-php) (PHP)
- [majestixx/scene-release-parser-php-lib](https://github.com/majestixx/scene-release-parser-php-lib) (PHP)
### __License__

_That's it!_
___Be excellent to each other. And, Party on, dudes!___