mirror of
https://github.com/Dictionarry-Hub/profilarr.git
synced 2026-01-23 03:11:01 +01:00
Compare commits
32 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
63aeded8b6 | ||
|
|
895adc9f25 | ||
|
|
ff79de7724 | ||
|
|
2e5cabe7ab | ||
|
|
2c764f993c | ||
|
|
fc8196dc10 | ||
|
|
c39d477deb | ||
|
|
cbdc4a0c8e | ||
|
|
972d3bc1fc | ||
|
|
9232859a9d | ||
|
|
e41d74e4d1 | ||
|
|
b9bb39732e | ||
|
|
601e630ca2 | ||
|
|
76d7509e86 | ||
|
|
47aa3df44c | ||
|
|
37eb633760 | ||
|
|
246e4d2d74 | ||
|
|
78bc2afcff | ||
|
|
68c76872ae | ||
|
|
bae4d0c45c | ||
|
|
da2d76fc2c | ||
|
|
f6698516af | ||
|
|
a015fd1ccb | ||
|
|
6b09e4e297 | ||
|
|
47cf31ab10 | ||
|
|
827efd6633 | ||
|
|
aba057a8c9 | ||
|
|
eacb063164 | ||
|
|
d928c1f769 | ||
|
|
520af41f5f | ||
|
|
5615f6251a | ||
|
|
018e570199 |
4
.gitignore
vendored
4
.gitignore
vendored
@@ -158,3 +158,7 @@ cython_debug/
|
||||
# and can be added to the global gitignore or merged into this file. For a more nuclear
|
||||
# option (not recommended) you can uncomment the following to ignore the entire idea folder.
|
||||
#.idea/
|
||||
|
||||
config.yml
|
||||
|
||||
exports/
|
||||
276
README.md
276
README.md
@@ -1,41 +1,279 @@
|
||||
# Profilarr
|
||||
|
||||
Profilarr is a Python-based tool that enables seamless synchronization of custom formats and quality profiles in Radarr / Sonarr. It's designed to aid users in sharing / importing custom formats & quality profiles seamlessly.
|
||||
Profilarr is a Python-based tool designed to add import/export/sync functionality to the \*arr suite. It offers a user-friendly way to export existing custom formats / profiles, import new ones or sync a master instance of Radarr / Sonarr with extras.
|
||||
|
||||
## ⚠️ Before Continuing
|
||||
|
||||
- **This tool will overwrite any custom formats in your Radarr installation that have the same name.**
|
||||
- **Custom Formats MUST be imported before syncing any premade profile.**
|
||||
- **This tool will overwrite any custom formats in your \*arr installation that have the same name.**
|
||||
- **Always back up your Radarr and Sonarr configurations before using Profilarr to avoid unintended data loss.** (Seriously, do it. Even I've lost data to this tool because I forgot to back up my configs.)
|
||||
|
||||
## 🛠️ Installation
|
||||
|
||||
### Prerequisites
|
||||
|
||||
- Python 3.x installed. You can download it from [python.org](https://www.python.org/downloads/).
|
||||
- Radarr / Sonarr
|
||||
|
||||
### Steps
|
||||
### 📦 Dependencies
|
||||
|
||||
1. Download the Profilarr zip file from the release section.
|
||||
- run `pip install -r requirements.txt` to install dependencies.
|
||||
|
||||
### Initial Setup
|
||||
|
||||
1. Download the latest Profilarr package from the release section.
|
||||
2. Extract its contents into a folder.
|
||||
3. Open `import.py` in a text editor of your choice.
|
||||
- Add your Radarr API key to the designated section.
|
||||
- Modify the Base URL if needed
|
||||
4. Save the changes and close the text editor.
|
||||
3. Run `python setup.py` in your command line interface to generate a config file.
|
||||
- This will create a `config.yml` file in the same directory as `setup.py`.
|
||||
4. Open the `config.yml` file in a text editor.
|
||||
- Add the URL and API key to the master instances of Radarr / Sonarr.
|
||||
- If syncing, add the URL, API key and a name to each extra instance of Radarr / Sonarr.
|
||||
- If exporting, adjust the `export_path` to your desired export location.
|
||||
- If importing non Dictionarry files, adjust the `import_path` to your desired import location.
|
||||
5. Save the changes.
|
||||
|
||||
## 🚀 Usage
|
||||
- If using Windows, use `python script.py` or `py script.py`. If on Linux, use `python3 script.py`.
|
||||
|
||||
1. Open a terminal or command prompt.
|
||||
2. Navigate to the directory where you extracted Profilarr.
|
||||
3. Run the command `python import_cf.py` to import the necessary custom formats.
|
||||
4. Run the command `python import_qf.py` and follow the prompts to choose and import your desired profile.
|
||||
### Importing
|
||||
|
||||
## 📦 Dependencies
|
||||
Note: For users who start using Profilarr before v0.3, you no longer need to manually import custom formats. They will be imported automatically. Quality Profiles still require manual selection.
|
||||
|
||||
- `requests` (Install using `pip install requests`)
|
||||
1. If importing Dictionarry files, make sure the import path is `./imports` (This is the default path).
|
||||
2. If importing non Dictionarry files, make sure the import path is set to your desired import location.
|
||||
3. Run `python importarr.py` in your command line interface.
|
||||
4. Follow the on-screen prompts to select your desired app and which instance(s) to import to.
|
||||
5. Choose your desired quality profile(s) to import.
|
||||
|
||||
## ⚙️ Configuration
|
||||
#### Example: Importing 1080p Transparent and 2160p Optimal Quality Profiles
|
||||
|
||||
### Radarr API Key and Base URL
|
||||
```
|
||||
Select your app of choice
|
||||
1. Radarr
|
||||
2. Sonarr
|
||||
Enter your choice:
|
||||
1
|
||||
Select your Radarr instance
|
||||
1. Radarr (Master)
|
||||
2. Radarr (4k-radarr)
|
||||
Choose an instance by number, multiple numbers separated by commas or type 'all' for all instances:
|
||||
2
|
||||
|
||||
- Your Radarr API Key and Base URL can be configured in the `import.py` file.
|
||||
- The Base URL should be in the format `http://localhost:7878` unless you have a different host or port.
|
||||
Importing custom formats to Radarr : 4k-radarr
|
||||
|
||||
Adding custom format 'D-Z0N3' : SUCCESS
|
||||
Adding custom format 'DON' : SUCCESS
|
||||
Adding custom format 'EbP' : SUCCESS
|
||||
Adding custom format 'Geek' : SUCCESS
|
||||
Adding custom format 'TayTo' : SUCCESS
|
||||
... and 129 more.
|
||||
|
||||
Successfully added 0 custom formats, updated 134 custom formats.
|
||||
|
||||
Available profiles:
|
||||
1. 1080p Balanced (Radarr).json
|
||||
2. 1080p Balanced (Single Grab) (Radarr).json
|
||||
3. 1080p h265 Balanced (Radarr).json
|
||||
4. 1080p h265 Balanced (Single Grab) (Radarr).json
|
||||
5. 1080p Optimal (Radarr).json
|
||||
6. 1080p Optimal (Single Grab) (Radarr).json
|
||||
7. 1080p Transparent (Double Grab) (Radarr).json
|
||||
8. 1080p Transparent (Radarr).json
|
||||
9. 1080p Transparent (Single Grab) (Radarr).json
|
||||
10. 2160p Optimal (Radarr).json
|
||||
11. 2160p Optimal (Single Grab) (Radarr).json
|
||||
|
||||
Enter the numbers of the profiles you want to import separated by commas, or type 'all' to import all profiles:
|
||||
8,10
|
||||
Importing Quality Profiles to Radarr : 4k-radarr
|
||||
|
||||
Adding '1080p Transparent' quality profile : SUCCESS
|
||||
Adding '2160p Optimal' quality profile : SUCCESS
|
||||
```
|
||||
|
||||
### Exporting
|
||||
|
||||
1. Make sure the export path is set to your desired export location. The default is `./exports`.
|
||||
2. Run `python exportarr.py` in your command line interface.
|
||||
3. Follow the on-screen prompts to select your desired app and which instance(s) to export from.
|
||||
4. Choose the data you want to export.
|
||||
5. The data will be exported to `exports/{data_type}/{app}/`.
|
||||
|
||||
#### Example
|
||||
|
||||
```bash
|
||||
Select your app of choice
|
||||
1. Radarr
|
||||
2. Sonarr
|
||||
Enter your choice:
|
||||
1
|
||||
Select your Radarr instance
|
||||
1. Radarr (Master)
|
||||
2. Radarr (4k-radarr)
|
||||
Choose an instance by number, multiple numbers separated by commas or type 'all' for all instances:
|
||||
2
|
||||
|
||||
Exporting Custom Formats for Radarr : 4k-radarr
|
||||
Exported 134 custom formats to ./exports/custom_formats/Radarr for 4k-radarr
|
||||
|
||||
Exporting Quality Profiles for Radarr : 4k-radarr...
|
||||
Exported 2 quality profiles to ./exports/quality_profiles/Radarr for 4k-radarr
|
||||
```
|
||||
|
||||
### Syncing
|
||||
|
||||
1. Make sure the import path is set to whatever your export path is. This is important, as the script will look for the exported files in this location.
|
||||
1. Run `python syncarr.py` in your command line interface.
|
||||
1. The script will automatically export data from the master instance and import it to all other instances specified in `config.json`.
|
||||
|
||||
#### Example
|
||||
|
||||
```bash
|
||||
PS Z:\Profilarr> py syncarr.py
|
||||
Select your app of choice
|
||||
1. Radarr
|
||||
2. Sonarr
|
||||
Enter your choice:
|
||||
1
|
||||
Exporting Custom Formats for radarr : Master
|
||||
Exported 134 custom formats to ./exports\custom_formats\radarr for Master
|
||||
|
||||
Exporting Quality Profiles for radarr : Master...
|
||||
Exported 14 quality profiles to ./exports\quality_profiles\radarr for Master
|
||||
|
||||
Importing custom formats to radarr : 4k-radarr
|
||||
|
||||
...
|
||||
Updating custom format 'Blu-Ray (Remux)' : SUCCESS
|
||||
Updating custom format 'MAX' : SUCCESS
|
||||
Updating custom format 'h265 (4k)' : SUCCESS
|
||||
Updating custom format 'TEST FLAC' : SUCCESS
|
||||
|
||||
Successfully added 134 custom formats, updated 0 custom formats.
|
||||
|
||||
Available profiles:
|
||||
1. 1080p Balanced (Radarr).json
|
||||
2. 1080p Balanced (Single Grab) (Radarr).json
|
||||
3. 1080p h265 Balanced (Radarr).json
|
||||
4. 1080p h265 Balanced (Single Grab) (Radarr).json
|
||||
5. 1080p Optimal (Radarr).json
|
||||
6. 1080p Optimal (Single Grab) (Radarr).json
|
||||
7. 1080p Transparent (Double Grab) (Radarr).json
|
||||
8. 1080p Transparent (Radarr).json
|
||||
9. 1080p Transparent (Single Grab) (Radarr).json
|
||||
10. 2160p Optimal (Radarr).json
|
||||
11. 2160p Optimal (Single Grab) (Radarr).json
|
||||
|
||||
Enter the numbers of the profiles you want to import separated by commas, or type 'all' to import all profiles:
|
||||
all
|
||||
Importing Quality Profiles to radarr : 4k-radarr
|
||||
|
||||
Adding '1080p Balanced' quality profile : SUCCESS
|
||||
Adding '1080p Balanced (Single Grab)' quality profile : SUCCESS
|
||||
Adding '1080p h265 Balanced' quality profile : SUCCESS
|
||||
Adding '1080p h265 Balanced (Single Grab)' quality profile : SUCCESS
|
||||
Adding '1080p Optimal' quality profile : SUCCESS
|
||||
Adding '1080p Optimal (Single Grab)' quality profile : SUCCESS
|
||||
Adding '1080p Transparent (Double Grab)' quality profile : SUCCESS
|
||||
Updating '1080p Transparent' quality profile : SUCCESS
|
||||
Adding '1080p Transparent (Single Grab)' quality profile : SUCCESS
|
||||
Updating '2160p Optimal' quality profile : SUCCESS
|
||||
Adding '2160p Optimal (Single Grab)' quality profile : SUCCESS
|
||||
```
|
||||
|
||||
### Deleting
|
||||
|
||||
1. Run `python deletarr.py` in your command line interface.
|
||||
2. Select the instance(s) from which you wish to delete data.
|
||||
3. Choose between deleting Custom Formats, Quality Profiles or both
|
||||
4. Select specific items by typing their numbers separated by commas, or type 'all' to delete everything.
|
||||
|
||||
#### Example
|
||||
|
||||
```plaintext
|
||||
Select your app of choice
|
||||
1. Radarr
|
||||
2. Sonarr
|
||||
Enter your choice:
|
||||
1
|
||||
Select your Radarr instance
|
||||
1. Radarr (Master)
|
||||
2. Radarr (4k-radarr)
|
||||
Choose an instance by number, multiple numbers separated by commas or type 'all' for all instances:
|
||||
2
|
||||
|
||||
Please select what you want to delete:
|
||||
1. Custom Formats
|
||||
2. Quality Profiles
|
||||
3. Both
|
||||
Enter your choice: 3
|
||||
Available items to delete:
|
||||
1. D-Z0N3
|
||||
2. DON
|
||||
3. EbP
|
||||
4. Geek
|
||||
5. TayTo
|
||||
6. ZQ
|
||||
...
|
||||
|
||||
Enter the number(s) of the items you wish to delete, separated by commas, or type 'all' for all:
|
||||
Your choice: all
|
||||
Deleting Custom Format (D-Z0N3) : SUCCESS
|
||||
Deleting Custom Format (DON) : SUCCESS
|
||||
Deleting Custom Format (EbP) : SUCCESS
|
||||
Deleting Custom Format (Geek) : SUCCESS
|
||||
Deleting Custom Format (TayTo) : SUCCESS
|
||||
Deleting Custom Format (ZQ) : SUCCESS
|
||||
|
||||
Available items to delete:
|
||||
1. 1080p Transparent
|
||||
2. 2160p Optimal
|
||||
3. 1080p Balanced
|
||||
4. 1080p Balanced (Single Grab)
|
||||
5. 1080p h265 Balanced
|
||||
6. 1080p h265 Balanced (Single Grab)
|
||||
7. 1080p Optimal
|
||||
8. 1080p Optimal (Single Grab)
|
||||
9. 1080p Transparent (Double Grab)
|
||||
10. 1080p Transparent (Single Grab)
|
||||
11. 2160p Optimal (Single Grab)
|
||||
|
||||
Enter the number(s) of the items you wish to delete, separated by commas, or type 'all' for all:
|
||||
Your choice: all
|
||||
|
||||
Deleting Quality Profile (1080p Transparent) : SUCCESS
|
||||
Deleting Quality Profile (2160p Optimal) : SUCCESS
|
||||
Deleting Quality Profile (1080p Balanced) : SUCCESS
|
||||
Deleting Quality Profile (1080p Balanced (Single Grab)) : SUCCESS
|
||||
Deleting Quality Profile (1080p h265 Balanced) : SUCCESS
|
||||
Deleting Quality Profile (1080p h265 Balanced (Single Grab)) : SUCCESS
|
||||
Deleting Quality Profile (1080p Optimal) : SUCCESS
|
||||
Deleting Quality Profile (1080p Optimal (Single Grab)) : SUCCESS
|
||||
Deleting Quality Profile (1080p Transparent (Double Grab)) : SUCCESS
|
||||
Deleting Quality Profile (1080p Transparent (Single Grab)) : SUCCESS
|
||||
Deleting Quality Profile (2160p Optimal (Single Grab)) : SUCCESS
|
||||
PS Z:\Profilarr>
|
||||
```
|
||||
|
||||
### Radarr and Sonarr Compatibility
|
||||
|
||||
- You are only able to import / sync files to the app that is included in the file name (e.g. `Radarr` or `Sonarr`).
|
||||
- It is possible to manually rename the files to import them to the other app, but this is not recommended.
|
||||
- Custom Formats will succesfully import, but will require manual editing to work with the other app, i.e. you must adjust the quality sources to match the other app's naming scheme.
|
||||
- Quality Profiles will not import at all, as they are not compatible with the other app. It is possible to import them manually by editing the json directly, but this is not recommended.
|
||||
- In future, I may add a feature to automatically convert profiles between the two apps, but this is not currently a priority.
|
||||
|
||||
## 🌟 Upcoming Features
|
||||
|
||||
- **Lidarr Support:** Expand functionality to include Lidarr, allowing users to manage music quality profiles and custom formats.
|
||||
- **User Interface (UI):** Development of a graphical user interface (GUI) for easier and more intuitive interaction with Profilarr. This UI will cater to users who prefer graphical over command-line interactions.
|
||||
- **Automatic Updates:** Implement an auto-update mechanism for Profilarr, ensuring users always have access to the latest features, improvements, and bug fixes without manual intervention.
|
||||
|
||||
## Contributing
|
||||
|
||||
- I've added a docker compose file for testing custom formats / quality profiles. Run `docker-compose up -d` to start the Radarr/ Sonarr test containers. Add your API keys to the `config.yml` file and begin testing!
|
||||
|
||||
# TRaSH Guides
|
||||
|
||||
Some custom formats found here have been interated on from the trash guides. Credit for these goes entirely to trash, and can be found on their site here. It is not my intention to steal their work, but rather to build on it and make it more accessible to the average user through my quality profiles. Please check out their site for more information on their work.
|
||||
|
||||
https://trash-guides.info/
|
||||
|
||||
11879
custom_formats/cf.json
11879
custom_formats/cf.json
File diff suppressed because it is too large
Load Diff
101
deletarr.py
Normal file
101
deletarr.py
Normal file
@@ -0,0 +1,101 @@
|
||||
from helpers import *
|
||||
|
||||
def user_select_items_to_delete(items):
|
||||
"""
|
||||
Prompts the user to select items to delete from a given list of items.
|
||||
Each item in the list is expected to be a dictionary with at least an 'id' and 'name' key.
|
||||
"""
|
||||
print_message("Available items to delete:", "purple")
|
||||
for index, item in enumerate(items, start=1):
|
||||
print_message(f"{index}. {item['name']}", "green")
|
||||
|
||||
print_message("Enter the number(s) of the items you wish to delete, separated by commas, or type 'all' for all:", "yellow")
|
||||
user_input = input("Your choice: ").strip().lower()
|
||||
selected_items = []
|
||||
|
||||
if user_input == 'all':
|
||||
return items
|
||||
else:
|
||||
indices = user_input.split(',')
|
||||
for index in indices:
|
||||
try:
|
||||
index = int(index.strip()) - 1
|
||||
if 0 <= index < len(items):
|
||||
selected_items.append(items[index])
|
||||
else:
|
||||
print_message("Invalid selection, ignoring.", "red")
|
||||
except ValueError:
|
||||
print_message("Invalid input, please enter numbers only.", "red")
|
||||
|
||||
return selected_items
|
||||
|
||||
|
||||
def prompt_export_choice():
|
||||
"""
|
||||
Prompt user to choose between exporting Custom Formats, Quality Profiles, or both.
|
||||
Returns a list of choices.
|
||||
"""
|
||||
print_message("Please select what you want to delete:", "blue")
|
||||
options = {"1": "Custom Formats", "2": "Quality Profiles", "3": "Both"}
|
||||
for key, value in options.items():
|
||||
print_message(f"{key}. {value}", "green")
|
||||
choice = input("Enter your choice: ").strip()
|
||||
|
||||
# Validate choice
|
||||
while choice not in options:
|
||||
print_message("Invalid choice, please select a valid option:", "red")
|
||||
choice = input("Enter your choice: ").strip()
|
||||
|
||||
if choice == "3":
|
||||
return ["Custom Formats", "Quality Profiles"]
|
||||
else:
|
||||
return [options[choice]]
|
||||
|
||||
def delete_custom_formats_or_profiles(app, instance, item_type, config):
|
||||
"""
|
||||
Deletes either custom formats or quality profiles based on the item_type.
|
||||
"""
|
||||
api_key = instance['api_key']
|
||||
base_url = instance['base_url']
|
||||
resource_type = item_type # 'customformat' or 'qualityprofile'
|
||||
|
||||
if item_type == 'customformat':
|
||||
type = 'Custom Format'
|
||||
elif item_type == 'qualityprofile':
|
||||
type = 'Quality Profile'
|
||||
|
||||
# Fetch items to delete
|
||||
items = make_request('get', base_url, api_key, resource_type)
|
||||
if items is None or not isinstance(items, list):
|
||||
return
|
||||
|
||||
# Assuming a function to select items to delete. It could list items and ask the user which to delete.
|
||||
items_to_delete = user_select_items_to_delete(items) # This needs to be implemented or adapted
|
||||
|
||||
# Proceed to delete selected items
|
||||
for item in items_to_delete:
|
||||
item_id = item['id']
|
||||
item_name = item['name']
|
||||
print_message(f"Deleting {type} ({item_name})", "blue", newline=False)
|
||||
response = make_request('delete', base_url, api_key, f"{resource_type}/{item_id}")
|
||||
if response in [200, 202, 204]:
|
||||
print_message(" : SUCCESS", "green")
|
||||
else:
|
||||
print_message(" : FAIL", "red")
|
||||
|
||||
def main():
|
||||
app = get_app_choice()
|
||||
instances = get_instance_choice(app)
|
||||
config = load_config()
|
||||
|
||||
choices = prompt_export_choice()
|
||||
for instance in instances:
|
||||
for choice in choices:
|
||||
if choice == "Custom Formats":
|
||||
delete_custom_formats_or_profiles(app, instance, 'customformat', config)
|
||||
elif choice == "Quality Profiles":
|
||||
delete_custom_formats_or_profiles(app, instance, 'qualityprofile', config)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
37
develop/docker-compose.yml
Normal file
37
develop/docker-compose.yml
Normal file
@@ -0,0 +1,37 @@
|
||||
version: "3.3"
|
||||
|
||||
x-common-settings: &common-settings
|
||||
environment:
|
||||
PUID: 1000 # user id, change as necessary
|
||||
PGID: 1000 # group id, change as necessary
|
||||
TZ: Europe/London # timezone, change as necessary
|
||||
restart: unless-stopped
|
||||
|
||||
services:
|
||||
radarr:
|
||||
<<: *common-settings
|
||||
image: linuxserver/radarr
|
||||
container_name: radarr
|
||||
ports:
|
||||
- "7887:7878" # change the left value to the desired host port for Radarr
|
||||
|
||||
radarr2:
|
||||
<<: *common-settings
|
||||
image: linuxserver/radarr
|
||||
container_name: radarr2
|
||||
ports:
|
||||
- "7888:7878" # change the left value to the desired host port for Radarr
|
||||
|
||||
sonarr:
|
||||
<<: *common-settings
|
||||
image: linuxserver/sonarr
|
||||
container_name: sonarr
|
||||
ports:
|
||||
- "8998:8989" # change the left value to the desired host port for Sonarr
|
||||
|
||||
sonarr2:
|
||||
<<: *common-settings
|
||||
image: linuxserver/sonarr
|
||||
container_name: sonarr2
|
||||
ports:
|
||||
- "8999:8989" # change the left value to the desired host port for Sonarr
|
||||
85
export.py
85
export.py
@@ -1,85 +0,0 @@
|
||||
import json
|
||||
import requests
|
||||
import os
|
||||
import re
|
||||
|
||||
# Define constants
|
||||
base_url = "http://localhost:7878"
|
||||
api_key = "API_GOES_HERE"
|
||||
|
||||
# Define parameters and headers
|
||||
params = {"apikey": api_key}
|
||||
headers = {"X-Api-Key": api_key}
|
||||
files = {'file': ('', '')} # Empty file to force multipart/form-data
|
||||
|
||||
# Login
|
||||
login_url = f"{base_url}/login"
|
||||
response = requests.get(login_url, params=params, headers=headers, files=files)
|
||||
|
||||
if response.status_code != 200:
|
||||
print(f"Login Failed! (HTTP {response.status_code})")
|
||||
print("Response Content: ", response.content)
|
||||
exit()
|
||||
|
||||
def export_cf():
|
||||
custom_format_url = f"{base_url}/api/v3/customformat"
|
||||
response = requests.get(custom_format_url, params=params, headers=headers)
|
||||
|
||||
if response.status_code == 200:
|
||||
data = response.json()
|
||||
|
||||
# Remove 'id' from each custom format
|
||||
for custom_format in data:
|
||||
custom_format.pop('id', None)
|
||||
|
||||
# Ensure the ./custom_formats directory exists
|
||||
if not os.path.exists('./custom_formats'):
|
||||
os.makedirs('./custom_formats')
|
||||
|
||||
# Save to JSON file
|
||||
with open('./custom_formats/cf.json', 'w') as f:
|
||||
json.dump(data, f, indent=4)
|
||||
print("Custom Formats have been saved to './custom_formats/cf.json'")
|
||||
else:
|
||||
print(f"Failed to retrieve custom formats! (HTTP {response.status_code})")
|
||||
print("Response Content: ", response.content)
|
||||
|
||||
def sanitize_filename(filename):
|
||||
# Replace any characters not allowed in filenames with _
|
||||
sanitized_filename = re.sub(r'[\\/*?:"<>|]', '_', filename)
|
||||
return sanitized_filename
|
||||
|
||||
def export_qf():
|
||||
response = requests.get(f"{base_url}/api/v3/qualityprofile", params=params, headers=headers)
|
||||
|
||||
if response.status_code == 200:
|
||||
quality_profiles = response.json()
|
||||
|
||||
# Ensure the ./profiles directory exists
|
||||
if not os.path.exists('./profiles'):
|
||||
os.makedirs('./profiles')
|
||||
|
||||
# Process each profile separately
|
||||
for profile in quality_profiles:
|
||||
profile.pop('id', None) # Remove the 'id' field
|
||||
|
||||
# Use the name of the profile to create a filename
|
||||
profile_name = profile.get('name', 'unnamed_profile') # Use a default name if the profile has no name
|
||||
profile_name = sanitize_filename(profile_name) # Sanitize the filename
|
||||
profile_filename = f"{profile_name}.json"
|
||||
profile_filepath = os.path.join('./profiles', profile_filename)
|
||||
|
||||
# Save the individual profile to a file as a single-element array
|
||||
with open(profile_filepath, 'w') as file:
|
||||
json.dump([profile], file, indent=4) # Note the [profile], it will make it an array with a single element
|
||||
|
||||
print("Quality profiles have been successfully saved to the ./profiles directory")
|
||||
else:
|
||||
print("Failed to retrieve quality profiles!")
|
||||
print("Response Content: ", response.content.decode('utf-8'))
|
||||
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
export_cf()
|
||||
export_qf()
|
||||
134
exportarr.py
Normal file
134
exportarr.py
Normal file
@@ -0,0 +1,134 @@
|
||||
from helpers import *
|
||||
import os
|
||||
import re
|
||||
|
||||
def prompt_export_choice():
|
||||
options = { "1": "Custom Formats", "2": "Quality Profiles" }
|
||||
|
||||
print_message("Please select what you want to export:", "blue")
|
||||
for number, option in options.items():
|
||||
print_message(f"{number}. {option}", "green")
|
||||
print_message("Enter the number(s) of your choice, multiple separated by commas, or type 'all' for all options", "yellow")
|
||||
|
||||
user_choice = input("Your choice: ")
|
||||
|
||||
if user_choice.lower() == 'all':
|
||||
return list(options.values())
|
||||
else:
|
||||
return [options[choice] for choice in user_choice.split(',') if choice in options]
|
||||
|
||||
def create_export_path(export_path, app):
|
||||
# Convert app to lowercase
|
||||
app = app.lower() # Ensure app is in lowercase
|
||||
# Create a directory path for the export in lowercase
|
||||
dir_path = os.path.join(export_path, 'custom_formats', app).lower() # Convert entire path to lowercase
|
||||
|
||||
# Create the directory if it doesn't exist
|
||||
os.makedirs(dir_path, exist_ok=True)
|
||||
|
||||
return dir_path
|
||||
|
||||
def export_custom_formats(app, instances, config):
|
||||
|
||||
|
||||
for instance in instances:
|
||||
print_message(f"Exporting Custom Formats for {app.capitalize()} : {instance['name']}", 'blue')
|
||||
|
||||
url = instance['base_url']
|
||||
api_key = instance['api_key']
|
||||
|
||||
# Get the export path from the config
|
||||
export_path = config['settings']['export_path']
|
||||
|
||||
# Create the export directory
|
||||
dir_path = create_export_path(export_path, app)
|
||||
|
||||
# Assuming 'export' is a valid resource_type for the API
|
||||
response = make_request('get', url, api_key, 'customformat')
|
||||
|
||||
successful_exports = 0 # Counter for successful exports
|
||||
|
||||
# Scrub the JSON data and save each custom format in its own file
|
||||
all_custom_formats = []
|
||||
for custom_format in response:
|
||||
# Remove the 'id' field
|
||||
custom_format.pop('id', None)
|
||||
|
||||
all_custom_formats.append(custom_format)
|
||||
successful_exports += 1 # Increment the counter if the export was successful
|
||||
|
||||
file_name = f"custom formats ({app.lower()} - {instance['name'].lower()}).json"
|
||||
|
||||
# Save all custom formats to a single file in the export directory
|
||||
try:
|
||||
with open(os.path.join(dir_path, file_name), 'w') as f:
|
||||
json.dump(all_custom_formats, f, indent=4)
|
||||
status = 'SUCCESS'
|
||||
status_color = 'green'
|
||||
except Exception as e:
|
||||
status = 'FAILED'
|
||||
status_color = 'red'
|
||||
|
||||
print_message(f"Exported {successful_exports} custom formats to {dir_path} for {instance['name']}", 'yellow')
|
||||
print()
|
||||
|
||||
def create_quality_profiles_export_path(app, config):
|
||||
# Get the export path from the config
|
||||
export_path = config['settings']['export_path']
|
||||
|
||||
# Create a directory path for the export
|
||||
dir_path = os.path.join(export_path, 'quality_profiles', app)
|
||||
|
||||
# Create the directory if it doesn't exist
|
||||
os.makedirs(dir_path, exist_ok=True)
|
||||
|
||||
return dir_path
|
||||
|
||||
def export_quality_profiles(app, instances, config):
|
||||
for instance in instances:
|
||||
print_message(f"Exporting Quality Profiles for {app.capitalize()} : {instance['name']}", 'blue')
|
||||
url = instance['base_url']
|
||||
api_key = instance['api_key']
|
||||
|
||||
# Create the export directory
|
||||
dir_path = create_quality_profiles_export_path(app, config)
|
||||
|
||||
# Assuming 'qualityprofile' is the valid resource_type for the API
|
||||
response = make_request('get', url, api_key, 'qualityprofile')
|
||||
|
||||
successful_exports = 0 # Counter for successful exports
|
||||
|
||||
# Scrub the JSON data and save each quality profile in its own file
|
||||
for quality_profile in response:
|
||||
# Remove the 'id' field
|
||||
quality_profile.pop('id', None)
|
||||
|
||||
# Create a file name from the quality profile name and app
|
||||
file_name = f"{quality_profile['name']} ({app.lower()} - {instance['name'].lower()}).json"
|
||||
file_name = re.sub(r'[\\/*?:"<>|]', '', file_name) # Remove invalid characters
|
||||
|
||||
# Save the quality profile to a file in the export directory
|
||||
try:
|
||||
with open(os.path.join(dir_path, file_name), 'w') as f:
|
||||
json.dump([quality_profile], f, indent=4) # Wrap quality_profile in a list
|
||||
status = 'SUCCESS'
|
||||
status_color = 'green'
|
||||
except Exception as e:
|
||||
status = 'FAILED'
|
||||
status_color = 'red'
|
||||
if status == 'SUCCESS':
|
||||
successful_exports += 1 # Increment the counter if the export was successful
|
||||
|
||||
print_message(f"Exported {successful_exports} quality profiles to {dir_path} for {instance['name']}", 'yellow')
|
||||
print()
|
||||
|
||||
def main():
|
||||
app = get_app_choice()
|
||||
instances = get_instance_choice(app)
|
||||
config = load_config()
|
||||
|
||||
export_custom_formats(app, instances, config)
|
||||
export_quality_profiles(app, instances, config)
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
131
helpers.py
Normal file
131
helpers.py
Normal file
@@ -0,0 +1,131 @@
|
||||
import yaml
|
||||
import json
|
||||
import requests
|
||||
from requests.exceptions import ConnectionError, Timeout, TooManyRedirects
|
||||
import json
|
||||
|
||||
class Colors:
|
||||
GREEN = '\033[92m'
|
||||
RED = '\033[91m'
|
||||
YELLOW = '\033[93m'
|
||||
BLUE = '\033[94m'
|
||||
PURPLE = '\033[95m'
|
||||
ENDC = '\033[0m'
|
||||
|
||||
class Apps:
|
||||
APP_CHOICES = {
|
||||
"1": "radarr",
|
||||
"2": "sonarr",
|
||||
# Add more apps here as needed
|
||||
}
|
||||
|
||||
def print_message(message, message_type='', newline=True):
|
||||
color = Colors.ENDC # default color
|
||||
message_type = message_type.lower()
|
||||
|
||||
if message_type == 'green':
|
||||
color = Colors.GREEN
|
||||
elif message_type == 'red':
|
||||
color = Colors.RED
|
||||
elif message_type == 'yellow':
|
||||
color = Colors.YELLOW
|
||||
elif message_type == 'blue':
|
||||
color = Colors.BLUE
|
||||
elif message_type == 'purple':
|
||||
color = Colors.PURPLE
|
||||
|
||||
if newline:
|
||||
print(color + message + Colors.ENDC)
|
||||
else:
|
||||
print(color + message + Colors.ENDC, end='')
|
||||
|
||||
|
||||
def load_config():
|
||||
with open('config.yml', 'r') as config_file:
|
||||
config = yaml.safe_load(config_file)
|
||||
return config
|
||||
|
||||
def get_app_choice():
|
||||
print_message("Select your app of choice", "blue")
|
||||
# Dynamically generate the app selection menu
|
||||
app_menu = "\n".join([f"{key}. {value}" for key, value in Apps.APP_CHOICES.items()])
|
||||
print_message(app_menu)
|
||||
print_message("Enter your choice: ", "blue")
|
||||
app_choice = input().strip()
|
||||
|
||||
while app_choice not in Apps.APP_CHOICES.keys():
|
||||
print_message("Invalid input. Please enter a valid choice.", "red")
|
||||
app_choice = input().strip()
|
||||
|
||||
app = Apps.APP_CHOICES[app_choice]
|
||||
|
||||
return app
|
||||
|
||||
def get_instance_choice(app):
|
||||
config = load_config()
|
||||
app_instances = config['instances'].get(app.lower(), [])
|
||||
|
||||
print_message(f"Select your {app.capitalize()} instance", "blue")
|
||||
# Display instances and prompt for choice
|
||||
for i, instance in enumerate(app_instances, start=1):
|
||||
print_message(f"{i}. {app.capitalize()} ({instance['name']})")
|
||||
|
||||
print_message("Choose an instance by number, multiple numbers separated by commas or type 'all' for all instances: ", "blue")
|
||||
choice = input().strip()
|
||||
print()
|
||||
selected_instances = []
|
||||
|
||||
if choice.lower() == 'all':
|
||||
selected_instances = app_instances
|
||||
else:
|
||||
choices = choice.split(',')
|
||||
for choice in choices:
|
||||
choice = choice.strip() # remove any leading/trailing whitespace
|
||||
while not choice.isdigit() or int(choice) < 1 or int(choice) > len(app_instances):
|
||||
print_message("Invalid input. Please select a valid number.", "warning")
|
||||
choice = input().strip()
|
||||
selected_instance = app_instances[int(choice) - 1]
|
||||
selected_instances.append(selected_instance)
|
||||
|
||||
return selected_instances
|
||||
|
||||
def make_request(request_type, url, api_key, resource_type, json_payload=None):
|
||||
full_url = f"{url}/api/v3/{resource_type}"
|
||||
|
||||
headers = {"X-Api-Key": api_key}
|
||||
|
||||
try:
|
||||
# Make the appropriate request based on the request_type
|
||||
if request_type.lower() == 'get':
|
||||
response = requests.get(full_url, headers=headers, json=json_payload)
|
||||
elif request_type.lower() == 'post':
|
||||
response = requests.post(full_url, headers=headers, json=json_payload)
|
||||
elif request_type.lower() == 'put':
|
||||
response = requests.put(full_url, headers=headers, json=json_payload)
|
||||
elif request_type.lower() == 'delete':
|
||||
response = requests.delete(full_url, headers=headers)
|
||||
return response.status_code
|
||||
elif request_type.lower() == 'patch':
|
||||
response = requests.patch(full_url, headers=headers, json=json_payload)
|
||||
else:
|
||||
raise ValueError("Unsupported request type provided.")
|
||||
|
||||
# Process response
|
||||
if response.status_code in [200, 201, 202]:
|
||||
try:
|
||||
return response.json()
|
||||
except json.JSONDecodeError:
|
||||
print_message("Failed to decode JSON response.", "red")
|
||||
return None
|
||||
elif response.status_code == 401:
|
||||
print_message("Unauthorized. Check your API key.", "red")
|
||||
elif response.status_code == 409:
|
||||
print_message("Conflict detected. The requested action could not be completed.", "red")
|
||||
else:
|
||||
print_message(f"HTTP Error {response.status_code}.", "red")
|
||||
except (ConnectionError, Timeout, TooManyRedirects) as e:
|
||||
# Update the message here to suggest checking the application's accessibility
|
||||
print_message("Network error. Make sure the application is running and accessible.", "red")
|
||||
|
||||
return None
|
||||
|
||||
60
import_cf.py
60
import_cf.py
@@ -1,60 +0,0 @@
|
||||
import json
|
||||
import requests
|
||||
|
||||
# Define constants
|
||||
base_url = "http://localhost:7878" # Update to your Radarr URL
|
||||
api_key = "API_GOES_HERE" # Update to your Radarr API Key
|
||||
|
||||
# Define headers
|
||||
headers = {"X-Api-Key": api_key}
|
||||
|
||||
def get_existing_formats():
|
||||
get_url = f"{base_url}/api/v3/customformat"
|
||||
print(f"Getting existing formats from {get_url}")
|
||||
response = requests.get(get_url, headers=headers)
|
||||
|
||||
if response.status_code == 200:
|
||||
with open('temp_cf.json', 'w') as temp_file:
|
||||
json.dump(response.json(), temp_file)
|
||||
else:
|
||||
print(f"Failed to retrieve existing custom formats from {get_url}! (HTTP {response.status_code})")
|
||||
print("Response Content: \n", response.content.decode())
|
||||
exit(1)
|
||||
|
||||
def import_custom_formats():
|
||||
with open('temp_cf.json', 'r') as temp_file:
|
||||
existing_formats = json.load(temp_file)
|
||||
existing_names_to_id = {format['name']: format['id'] for format in existing_formats}
|
||||
|
||||
with open('custom_formats/cf.json', 'r') as import_file:
|
||||
import_formats = json.load(import_file)
|
||||
|
||||
for format in import_formats:
|
||||
format_name = format['name']
|
||||
if format_name in existing_names_to_id:
|
||||
format_id = existing_names_to_id[format_name]
|
||||
put_url = f"{base_url}/api/v3/customformat/{format_id}"
|
||||
print(f"Updating existing format {format_name} using PUT at {put_url}")
|
||||
format['id'] = format_id # Include the id in the request body
|
||||
response = requests.put(put_url, json=format, headers=headers)
|
||||
|
||||
if response.status_code in [200, 201, 202]:
|
||||
print(f"Successfully updated custom format {format_name}! (HTTP {response.status_code})")
|
||||
else:
|
||||
print(f"Failed to update custom format {format_name} at {put_url}! (HTTP {response.status_code})")
|
||||
print("Response Content: \n", response.content.decode())
|
||||
|
||||
else:
|
||||
post_url = f"{base_url}/api/v3/customformat"
|
||||
print(f"Creating new format {format_name} using POST at {post_url}")
|
||||
response = requests.post(post_url, json=format, headers=headers)
|
||||
|
||||
if response.status_code in [200, 201]:
|
||||
print(f"Successfully created custom format {format_name}! (HTTP {response.status_code})")
|
||||
else:
|
||||
print(f"Failed to create custom format {format_name} at {post_url}! (HTTP {response.status_code})")
|
||||
print("Response Content: \n", response.content.decode())
|
||||
|
||||
if __name__ == "__main__":
|
||||
get_existing_formats()
|
||||
import_custom_formats()
|
||||
115
import_qf.py
115
import_qf.py
@@ -1,115 +0,0 @@
|
||||
import json
|
||||
import requests
|
||||
import os # For deleting the temporary file
|
||||
|
||||
# Define constants
|
||||
base_url = "http://localhost:7878" # Update to your Radarr URL
|
||||
api_key = "API_GOES_HERE" # Update to your Radarr API Key
|
||||
|
||||
# Define headers
|
||||
params = {"apikey": api_key}
|
||||
headers = {"X-Api-Key": api_key}
|
||||
|
||||
def cf_import_sync():
|
||||
custom_format_url = f"{base_url}/api/v3/customformat"
|
||||
response = requests.get(custom_format_url, headers=headers)
|
||||
|
||||
if response.status_code == 200:
|
||||
data = response.json()
|
||||
with open('custom_formats.json', 'w') as file:
|
||||
json.dump(data, file, indent=4)
|
||||
print("Custom Formats have been saved to 'custom_formats.json'")
|
||||
return True
|
||||
else:
|
||||
print(f"Failed to retrieve custom formats! (HTTP {response.status_code})")
|
||||
print("Response Content: ", response.content.decode('utf-8'))
|
||||
return False
|
||||
|
||||
|
||||
def import_qf():
|
||||
# Call cf_import_sync first
|
||||
cf_import_sync()
|
||||
|
||||
profile_dir = './profiles'
|
||||
profiles = [f for f in os.listdir(profile_dir) if f.endswith('.json')]
|
||||
|
||||
# Prompt user to select a profile
|
||||
print("Available Profiles:")
|
||||
for i, profile in enumerate(profiles, 1):
|
||||
print(f"{i}. {profile}")
|
||||
|
||||
selection = input("Please enter the number of the profile you want to import: ")
|
||||
|
||||
try:
|
||||
selected_file = profiles[int(selection) - 1]
|
||||
except (ValueError, IndexError):
|
||||
print("Invalid selection, please enter a valid number.")
|
||||
return
|
||||
|
||||
# Load the selected profile
|
||||
with open(os.path.join(profile_dir, selected_file), 'r') as file:
|
||||
try:
|
||||
quality_profiles = json.load(file)
|
||||
except json.JSONDecodeError as e:
|
||||
print(f"Error loading selected profile: {e}")
|
||||
return
|
||||
|
||||
# Load custom formats
|
||||
try:
|
||||
with open('custom_formats.json', 'r') as file:
|
||||
custom_formats_data = json.load(file)
|
||||
custom_formats = {format['name']: format['id'] for format in custom_formats_data}
|
||||
except Exception as e:
|
||||
print(f"Failed to load custom formats! Error: {e}")
|
||||
return
|
||||
|
||||
# Process each profile and send requests
|
||||
for profile in quality_profiles:
|
||||
existing_format_names = set()
|
||||
if 'formatItems' in profile:
|
||||
for format_item in profile['formatItems']:
|
||||
format_name = format_item.get('name')
|
||||
if format_name:
|
||||
existing_format_names.add(format_name)
|
||||
if format_name in custom_formats:
|
||||
format_item['format'] = custom_formats[format_name]
|
||||
|
||||
for format_name, format_id in custom_formats.items():
|
||||
if format_name not in existing_format_names:
|
||||
profile.setdefault('formatItems', []).append({
|
||||
"format": format_id,
|
||||
"name": format_name,
|
||||
"score": 0
|
||||
})
|
||||
|
||||
post_url = f"{base_url}/api/v3/qualityprofile"
|
||||
response = requests.post(post_url, json=profile, params=params, headers=headers)
|
||||
|
||||
if response.status_code in [200, 201]:
|
||||
print(f"Successfully added Quality Profile {profile['name']}! (HTTP {response.status_code})")
|
||||
else:
|
||||
try:
|
||||
# Assuming the response is JSON, parse it
|
||||
errors = response.json()
|
||||
|
||||
# Extract relevant information from the error message
|
||||
message = errors.get("message", "No Message Provided")
|
||||
description = errors.get("description", "No Description Provided")
|
||||
|
||||
# Format and print the error message
|
||||
print(f"Failed to add Quality Profile {profile['name']}! (HTTP {response.status_code})")
|
||||
print(f"Error Message: {message}")
|
||||
|
||||
except json.JSONDecodeError:
|
||||
# If response is not JSON, print the whole response
|
||||
print("Failed to parse error message:")
|
||||
print(response.text)
|
||||
try:
|
||||
os.remove('custom_formats.json')
|
||||
except FileNotFoundError:
|
||||
pass # File already deleted or does not exist
|
||||
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
import_qf()
|
||||
211
importarr.py
Normal file
211
importarr.py
Normal file
@@ -0,0 +1,211 @@
|
||||
from helpers import *
|
||||
import os
|
||||
import fnmatch
|
||||
import json
|
||||
|
||||
def get_custom_formats(app):
|
||||
config = load_config()
|
||||
import_path = f"{config['settings']['import_path']}/custom_formats/{app.lower()}" # Adjusted path
|
||||
for file in os.listdir(import_path):
|
||||
if fnmatch.fnmatch(file, f'*{app}*'):
|
||||
return file
|
||||
return None
|
||||
|
||||
|
||||
def process_format(format, existing_names_to_id, base_url, api_key):
|
||||
format_name = format['name']
|
||||
if format_name in existing_names_to_id:
|
||||
format_id = existing_names_to_id[format_name]
|
||||
response = make_request('put', base_url, api_key, f'customformat/{format_id}', format)
|
||||
if response is not None:
|
||||
print_message(f"Updating custom format '{format_name}'", "yellow", newline=False)
|
||||
print_message(" : SUCCESS", "green")
|
||||
return 0, 1
|
||||
else:
|
||||
print_message(f"Updating custom format '{format_name}'", "yellow", newline=False)
|
||||
print_message(" : FAIL", "red", newline=False)
|
||||
else:
|
||||
response = make_request('post', base_url, api_key, 'customformat', format)
|
||||
if response is not None:
|
||||
print_message(f"Adding custom format '{format_name}'", "blue", newline=False)
|
||||
print_message(" : SUCCESS", "green")
|
||||
return 1, 0
|
||||
else:
|
||||
print_message(f"Adding custom format '{format_name}'", "blue", newline=False)
|
||||
print_message(" : FAIL", "red", newline=False)
|
||||
return 0, 0
|
||||
|
||||
def import_custom_formats(app, instances):
|
||||
|
||||
config = load_config()
|
||||
|
||||
for instance in instances:
|
||||
api_key = instance['api_key']
|
||||
base_url = instance['base_url']
|
||||
|
||||
existing_formats = make_request('get', base_url, api_key, 'customformat')
|
||||
existing_names_to_id = {format['name']: format['id'] for format in existing_formats}
|
||||
|
||||
app_file = get_custom_formats(app)
|
||||
if app_file is None:
|
||||
print_message(f"No file found for app: {app}", "red")
|
||||
continue
|
||||
|
||||
added_count, updated_count = 0, 0
|
||||
with open(f"{config['settings']['import_path']}/custom_formats/{app.lower()}/{app_file}", 'r') as import_file:
|
||||
import_formats = json.load(import_file)
|
||||
|
||||
print_message(f"Importing custom formats to {app.capitalize()} : {instance['name']}", "purple")
|
||||
print()
|
||||
|
||||
for format in import_formats:
|
||||
added, updated = process_format(format, existing_names_to_id, base_url, api_key)
|
||||
added_count += added
|
||||
updated_count += updated
|
||||
|
||||
print()
|
||||
print_message(
|
||||
f"Successfully added {added_count} custom formats, "
|
||||
f"updated {updated_count} custom formats.",
|
||||
"purple"
|
||||
)
|
||||
print()
|
||||
|
||||
def get_profiles(app):
|
||||
config = load_config()
|
||||
import_path = f"{config['settings']['import_path']}/quality_profiles/{app.lower()}" # Adjusted path
|
||||
matching_files = [] # Create an empty list to hold matching files
|
||||
for file in os.listdir(import_path):
|
||||
if fnmatch.fnmatch(file, f'*{app}*'):
|
||||
matching_files.append(file) # Add matching file to the list
|
||||
return matching_files # Return the list of matching files
|
||||
|
||||
def get_existing_profiles(base_url, api_key):
|
||||
resource_type = 'qualityprofile'
|
||||
existing_profiles = make_request('get', base_url, api_key, resource_type)
|
||||
|
||||
|
||||
return {profile['name']: profile for profile in existing_profiles} if existing_profiles else {}
|
||||
|
||||
def cf_import_sync(instances):
|
||||
for instance in instances:
|
||||
api_key = instance['api_key']
|
||||
base_url = instance['base_url']
|
||||
resource_type = 'customformat'
|
||||
response = make_request('get', base_url, api_key, resource_type)
|
||||
|
||||
if response:
|
||||
instance['custom_formats'] = {format['name']: format['id'] for format in response}
|
||||
else:
|
||||
print_message("No custom formats found for this instance.", "purple")
|
||||
print()
|
||||
|
||||
def user_select_profiles(profiles):
|
||||
print_message("Available profiles:", "purple")
|
||||
for idx, profile in enumerate(profiles, start=1):
|
||||
print(f"{idx}. {profile}")
|
||||
print()
|
||||
|
||||
while True:
|
||||
# Display prompt message
|
||||
print_message("Enter the numbers of the profiles you want to import separated by commas, or type 'all' to import all profiles: ", "blue", newline=False)
|
||||
print()
|
||||
user_input = input().strip()
|
||||
|
||||
if user_input.lower() == 'all':
|
||||
return profiles # Return all profiles if 'all' is selected
|
||||
|
||||
selected_profiles = []
|
||||
try:
|
||||
selected_indices = [int(index.strip()) for index in user_input.split(',')]
|
||||
for index in selected_indices:
|
||||
if 1 <= index <= len(profiles):
|
||||
selected_profiles.append(profiles[index - 1])
|
||||
else:
|
||||
raise ValueError(f"Invalid selection: {index}. Please enter valid numbers.") # Raise an error to trigger except block
|
||||
return selected_profiles # Return the selected profiles if all inputs are valid
|
||||
except ValueError as e:
|
||||
print_message(str(e), "red") # Display error message in red
|
||||
|
||||
|
||||
|
||||
def process_profile(profile, base_url, api_key, custom_formats, existing_profiles):
|
||||
profile_name = profile.get('name')
|
||||
existing_profile = existing_profiles.get(profile_name)
|
||||
|
||||
# Update or add custom format items as needed
|
||||
if 'formatItems' in profile:
|
||||
for format_item in profile['formatItems']:
|
||||
format_name = format_item.get('name')
|
||||
if format_name and format_name in custom_formats:
|
||||
format_item['format'] = custom_formats[format_name]
|
||||
|
||||
for format_name, format_id in custom_formats.items():
|
||||
if format_name not in {item.get('name') for item in profile.get('formatItems', [])}:
|
||||
profile.setdefault('formatItems', []).append({
|
||||
"format": format_id,
|
||||
"name": format_name,
|
||||
"score": 0
|
||||
})
|
||||
|
||||
if existing_profile:
|
||||
profile['id'] = existing_profile['id']
|
||||
action = "Updating"
|
||||
action_color = "yellow"
|
||||
resource_type = f"qualityprofile/{profile['id']}"
|
||||
else:
|
||||
action = "Adding"
|
||||
action_color = "blue"
|
||||
resource_type = "qualityprofile"
|
||||
|
||||
response = make_request('put' if existing_profile else 'post', base_url, api_key, resource_type, profile)
|
||||
|
||||
# Print the action statement in blue for Adding and yellow for Updating
|
||||
print_message(f"{action} '{profile_name}' quality profile", action_color, newline=False)
|
||||
|
||||
# Determine the status and print the status in green (OK) or red (FAIL)
|
||||
if response:
|
||||
print_message(" : SUCCESS", "green")
|
||||
else:
|
||||
print_message(" : FAIL", "red")
|
||||
|
||||
def import_quality_profiles(app, instances):
|
||||
|
||||
config = load_config()
|
||||
|
||||
cf_import_sync(instances)
|
||||
|
||||
all_profiles = get_profiles(app)
|
||||
selected_profiles_names = user_select_profiles(all_profiles)
|
||||
|
||||
for instance in instances:
|
||||
base_url = instance['base_url']
|
||||
api_key = instance['api_key']
|
||||
custom_formats = instance.get('custom_formats', {})
|
||||
existing_profiles = get_existing_profiles(base_url, api_key) # Retrieve existing profiles
|
||||
|
||||
print_message(f"Importing Quality Profiles to {app} : {instance['name']}", "purple")
|
||||
print()
|
||||
|
||||
for profile_file in selected_profiles_names:
|
||||
with open(f"{config['settings']['import_path']}/quality_profiles/{app.lower()}/{profile_file}", 'r') as file:
|
||||
try:
|
||||
quality_profiles = json.load(file)
|
||||
except json.JSONDecodeError as e:
|
||||
print_message(f"Error loading selected profile: {e}", "red")
|
||||
continue
|
||||
|
||||
for profile in quality_profiles:
|
||||
process_profile(profile, base_url, api_key, custom_formats, existing_profiles)
|
||||
|
||||
print()
|
||||
|
||||
def main():
|
||||
app = get_app_choice()
|
||||
instances = get_instance_choice(app)
|
||||
|
||||
import_custom_formats(app, instances)
|
||||
import_quality_profiles(app, instances)
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
13304
imports/custom_formats/radarr/custom formats (radarr - master).json
Normal file
13304
imports/custom_formats/radarr/custom formats (radarr - master).json
Normal file
File diff suppressed because it is too large
Load Diff
11232
imports/custom_formats/sonarr/custom formats (sonarr - master).json
Normal file
11232
imports/custom_formats/sonarr/custom formats (sonarr - master).json
Normal file
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
1063
imports/quality_profiles/radarr/1080p Optimal (radarr - master).json
Normal file
1063
imports/quality_profiles/radarr/1080p Optimal (radarr - master).json
Normal file
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -1,6 +1,6 @@
|
||||
[
|
||||
{
|
||||
"name": "Transparent",
|
||||
"name": "1080p Transparent",
|
||||
"upgradeAllowed": true,
|
||||
"cutoff": 1002,
|
||||
"items": [
|
||||
@@ -366,6 +366,61 @@
|
||||
"minFormatScore": 0,
|
||||
"cutoffFormatScore": 500,
|
||||
"formatItems": [
|
||||
{
|
||||
"format": 344,
|
||||
"name": "jennaortegaUHD",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 342,
|
||||
"name": "Freeleech25",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 341,
|
||||
"name": "Freeleech50",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 340,
|
||||
"name": "Freeleech75",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 339,
|
||||
"name": "Freeleech100",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 338,
|
||||
"name": "TEST FLAC",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 337,
|
||||
"name": "h265 (4k)",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 336,
|
||||
"name": "MAX",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 335,
|
||||
"name": "Blu-Ray (Remux)",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 334,
|
||||
"name": "PCM",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 333,
|
||||
"name": "h265",
|
||||
"score": -9999
|
||||
},
|
||||
{
|
||||
"format": 331,
|
||||
"name": "Golden Popcorn 720p",
|
||||
@@ -414,7 +469,7 @@
|
||||
{
|
||||
"format": 322,
|
||||
"name": "Dolby Vision w/out Fallback",
|
||||
"score": 0
|
||||
"score": -9999
|
||||
},
|
||||
{
|
||||
"format": 321,
|
||||
@@ -429,27 +484,27 @@
|
||||
{
|
||||
"format": 317,
|
||||
"name": "TrueHD (Missing)",
|
||||
"score": -9999
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 316,
|
||||
"name": "HDR10 (Missing)",
|
||||
"score": 0
|
||||
"score": -9999
|
||||
},
|
||||
{
|
||||
"format": 315,
|
||||
"name": "HDR10",
|
||||
"score": 0
|
||||
"score": -9999
|
||||
},
|
||||
{
|
||||
"format": 314,
|
||||
"name": "Dolby Vision",
|
||||
"score": 0
|
||||
"score": -9999
|
||||
},
|
||||
{
|
||||
"format": 312,
|
||||
"name": "HDR10+",
|
||||
"score": 0
|
||||
"score": -9999
|
||||
},
|
||||
{
|
||||
"format": 308,
|
||||
@@ -469,7 +524,7 @@
|
||||
{
|
||||
"format": 303,
|
||||
"name": "mHD",
|
||||
"score": -999999
|
||||
"score": -99999
|
||||
},
|
||||
{
|
||||
"format": 302,
|
||||
@@ -569,12 +624,12 @@
|
||||
{
|
||||
"format": 281,
|
||||
"name": "TrueHD",
|
||||
"score": -9999
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 280,
|
||||
"name": "DTS-X",
|
||||
"score": -9999
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 279,
|
||||
@@ -584,7 +639,7 @@
|
||||
{
|
||||
"format": 278,
|
||||
"name": "DTS-HD MA",
|
||||
"score": -9999
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 276,
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -1,6 +1,6 @@
|
||||
[
|
||||
{
|
||||
"name": "Optimal",
|
||||
"name": "2160p Optimal (Single Grab)",
|
||||
"upgradeAllowed": true,
|
||||
"cutoff": 31,
|
||||
"items": [
|
||||
@@ -359,6 +359,61 @@
|
||||
"minFormatScore": 0,
|
||||
"cutoffFormatScore": 0,
|
||||
"formatItems": [
|
||||
{
|
||||
"format": 344,
|
||||
"name": "jennaortegaUHD",
|
||||
"score": -9999
|
||||
},
|
||||
{
|
||||
"format": 342,
|
||||
"name": "Freeleech25",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 341,
|
||||
"name": "Freeleech50",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 340,
|
||||
"name": "Freeleech75",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 339,
|
||||
"name": "Freeleech100",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 338,
|
||||
"name": "TEST FLAC",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 337,
|
||||
"name": "h265 (4k)",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 336,
|
||||
"name": "MAX",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 335,
|
||||
"name": "Blu-Ray (Remux)",
|
||||
"score": 60
|
||||
},
|
||||
{
|
||||
"format": 334,
|
||||
"name": "PCM",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 333,
|
||||
"name": "h265",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 331,
|
||||
"name": "Golden Popcorn 720p",
|
||||
1063
imports/quality_profiles/radarr/2160p Optimal (radarr - master).json
Normal file
1063
imports/quality_profiles/radarr/2160p Optimal (radarr - master).json
Normal file
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,927 @@
|
||||
[
|
||||
{
|
||||
"name": "1080p Balanced (Single Grab)",
|
||||
"upgradeAllowed": true,
|
||||
"cutoff": 1001,
|
||||
"items": [
|
||||
{
|
||||
"quality": {
|
||||
"id": 0,
|
||||
"name": "Unknown",
|
||||
"source": "unknown",
|
||||
"resolution": 0
|
||||
},
|
||||
"items": [],
|
||||
"allowed": false
|
||||
},
|
||||
{
|
||||
"quality": {
|
||||
"id": 13,
|
||||
"name": "Bluray-480p",
|
||||
"source": "bluray",
|
||||
"resolution": 480
|
||||
},
|
||||
"items": [],
|
||||
"allowed": false
|
||||
},
|
||||
{
|
||||
"quality": {
|
||||
"id": 4,
|
||||
"name": "HDTV-720p",
|
||||
"source": "television",
|
||||
"resolution": 720
|
||||
},
|
||||
"items": [],
|
||||
"allowed": false
|
||||
},
|
||||
{
|
||||
"quality": {
|
||||
"id": 14,
|
||||
"name": "WEBRip-720p",
|
||||
"source": "webRip",
|
||||
"resolution": 720
|
||||
},
|
||||
"items": [],
|
||||
"allowed": false
|
||||
},
|
||||
{
|
||||
"quality": {
|
||||
"id": 5,
|
||||
"name": "WEBDL-720p",
|
||||
"source": "web",
|
||||
"resolution": 720
|
||||
},
|
||||
"items": [],
|
||||
"allowed": false
|
||||
},
|
||||
{
|
||||
"quality": {
|
||||
"id": 6,
|
||||
"name": "Bluray-720p",
|
||||
"source": "bluray",
|
||||
"resolution": 720
|
||||
},
|
||||
"items": [],
|
||||
"allowed": false
|
||||
},
|
||||
{
|
||||
"name": "Else",
|
||||
"items": [
|
||||
{
|
||||
"quality": {
|
||||
"id": 1,
|
||||
"name": "SDTV",
|
||||
"source": "television",
|
||||
"resolution": 480
|
||||
},
|
||||
"items": [],
|
||||
"allowed": true
|
||||
},
|
||||
{
|
||||
"quality": {
|
||||
"id": 12,
|
||||
"name": "WEBRip-480p",
|
||||
"source": "webRip",
|
||||
"resolution": 480
|
||||
},
|
||||
"items": [],
|
||||
"allowed": true
|
||||
},
|
||||
{
|
||||
"quality": {
|
||||
"id": 8,
|
||||
"name": "WEBDL-480p",
|
||||
"source": "web",
|
||||
"resolution": 480
|
||||
},
|
||||
"items": [],
|
||||
"allowed": true
|
||||
},
|
||||
{
|
||||
"quality": {
|
||||
"id": 2,
|
||||
"name": "DVD",
|
||||
"source": "dvd",
|
||||
"resolution": 480
|
||||
},
|
||||
"items": [],
|
||||
"allowed": true
|
||||
},
|
||||
{
|
||||
"quality": {
|
||||
"id": 10,
|
||||
"name": "Raw-HD",
|
||||
"source": "televisionRaw",
|
||||
"resolution": 1080
|
||||
},
|
||||
"items": [],
|
||||
"allowed": true
|
||||
},
|
||||
{
|
||||
"quality": {
|
||||
"id": 9,
|
||||
"name": "HDTV-1080p",
|
||||
"source": "television",
|
||||
"resolution": 1080
|
||||
},
|
||||
"items": [],
|
||||
"allowed": true
|
||||
}
|
||||
],
|
||||
"allowed": true,
|
||||
"id": 1002
|
||||
},
|
||||
{
|
||||
"name": "Balanced Capable",
|
||||
"items": [
|
||||
{
|
||||
"quality": {
|
||||
"id": 3,
|
||||
"name": "WEBDL-1080p",
|
||||
"source": "web",
|
||||
"resolution": 1080
|
||||
},
|
||||
"items": [],
|
||||
"allowed": true
|
||||
},
|
||||
{
|
||||
"quality": {
|
||||
"id": 15,
|
||||
"name": "WEBRip-1080p",
|
||||
"source": "webRip",
|
||||
"resolution": 1080
|
||||
},
|
||||
"items": [],
|
||||
"allowed": true
|
||||
},
|
||||
{
|
||||
"quality": {
|
||||
"id": 7,
|
||||
"name": "Bluray-1080p",
|
||||
"source": "bluray",
|
||||
"resolution": 1080
|
||||
},
|
||||
"items": [],
|
||||
"allowed": true
|
||||
}
|
||||
],
|
||||
"allowed": true,
|
||||
"id": 1001
|
||||
},
|
||||
{
|
||||
"quality": {
|
||||
"id": 20,
|
||||
"name": "Bluray-1080p Remux",
|
||||
"source": "blurayRaw",
|
||||
"resolution": 1080
|
||||
},
|
||||
"items": [],
|
||||
"allowed": false
|
||||
},
|
||||
{
|
||||
"quality": {
|
||||
"id": 16,
|
||||
"name": "HDTV-2160p",
|
||||
"source": "television",
|
||||
"resolution": 2160
|
||||
},
|
||||
"items": [],
|
||||
"allowed": false
|
||||
},
|
||||
{
|
||||
"quality": {
|
||||
"id": 17,
|
||||
"name": "WEBRip-2160p",
|
||||
"source": "webRip",
|
||||
"resolution": 2160
|
||||
},
|
||||
"items": [],
|
||||
"allowed": false
|
||||
},
|
||||
{
|
||||
"quality": {
|
||||
"id": 19,
|
||||
"name": "Bluray-2160p",
|
||||
"source": "bluray",
|
||||
"resolution": 2160
|
||||
},
|
||||
"items": [],
|
||||
"allowed": false
|
||||
},
|
||||
{
|
||||
"quality": {
|
||||
"id": 18,
|
||||
"name": "WEBDL-2160p",
|
||||
"source": "web",
|
||||
"resolution": 2160
|
||||
},
|
||||
"items": [],
|
||||
"allowed": false
|
||||
},
|
||||
{
|
||||
"quality": {
|
||||
"id": 21,
|
||||
"name": "Bluray-2160p Remux",
|
||||
"source": "blurayRaw",
|
||||
"resolution": 2160
|
||||
},
|
||||
"items": [],
|
||||
"allowed": false
|
||||
}
|
||||
],
|
||||
"minFormatScore": 0,
|
||||
"cutoffFormatScore": 0,
|
||||
"formatItems": [
|
||||
{
|
||||
"format": 229,
|
||||
"name": "HR",
|
||||
"score": 30
|
||||
},
|
||||
{
|
||||
"format": 228,
|
||||
"name": "MAX",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 227,
|
||||
"name": "h265 (4k)",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 226,
|
||||
"name": "PCM",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 225,
|
||||
"name": "Blu-Ray (Remux)",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 224,
|
||||
"name": "h265",
|
||||
"score": -9999
|
||||
},
|
||||
{
|
||||
"format": 214,
|
||||
"name": "LQ",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 213,
|
||||
"name": "EPSiLON",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 212,
|
||||
"name": "playBD",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 211,
|
||||
"name": "BLURANiUM",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 210,
|
||||
"name": "PmP",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 209,
|
||||
"name": "WiLDCAT",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 208,
|
||||
"name": "TRiToN",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 207,
|
||||
"name": "3L",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 206,
|
||||
"name": "Dolby Vision w/out Fallback",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 205,
|
||||
"name": "UHDBits",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 204,
|
||||
"name": "ATMOS (Missing)",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 203,
|
||||
"name": "TrueHD (Missing)",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 202,
|
||||
"name": "HDR10 (Missing)",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 201,
|
||||
"name": "HDR10",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 200,
|
||||
"name": "Dolby Vision",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 199,
|
||||
"name": "HDR10+",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 198,
|
||||
"name": "Stream Optimised",
|
||||
"score": 80
|
||||
},
|
||||
{
|
||||
"format": 197,
|
||||
"name": "LoRD",
|
||||
"score": 30
|
||||
},
|
||||
{
|
||||
"format": 196,
|
||||
"name": "Scene",
|
||||
"score": 20
|
||||
},
|
||||
{
|
||||
"format": 195,
|
||||
"name": "mHD",
|
||||
"score": -99999
|
||||
},
|
||||
{
|
||||
"format": 194,
|
||||
"name": "AV-1",
|
||||
"score": -9999
|
||||
},
|
||||
{
|
||||
"format": 193,
|
||||
"name": "VVC",
|
||||
"score": -9999
|
||||
},
|
||||
{
|
||||
"format": 192,
|
||||
"name": "Extras",
|
||||
"score": -9999
|
||||
},
|
||||
{
|
||||
"format": 191,
|
||||
"name": "480p",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 190,
|
||||
"name": "Dariush ",
|
||||
"score": 30
|
||||
},
|
||||
{
|
||||
"format": 189,
|
||||
"name": "TBB SD",
|
||||
"score": 30
|
||||
},
|
||||
{
|
||||
"format": 188,
|
||||
"name": "Xvid",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 187,
|
||||
"name": "DVD",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 186,
|
||||
"name": "DVD REMUX ",
|
||||
"score": 40
|
||||
},
|
||||
{
|
||||
"format": 185,
|
||||
"name": "HANDJOB SD",
|
||||
"score": 20
|
||||
},
|
||||
{
|
||||
"format": 184,
|
||||
"name": "iTunes (Missing)",
|
||||
"score": 90
|
||||
},
|
||||
{
|
||||
"format": 183,
|
||||
"name": "ROKU",
|
||||
"score": 190
|
||||
},
|
||||
{
|
||||
"format": 182,
|
||||
"name": "BeyondHD",
|
||||
"score": -9999
|
||||
},
|
||||
{
|
||||
"format": 181,
|
||||
"name": "Disc ",
|
||||
"score": -9999
|
||||
},
|
||||
{
|
||||
"format": 180,
|
||||
"name": "3D",
|
||||
"score": -9999
|
||||
},
|
||||
{
|
||||
"format": 179,
|
||||
"name": "Unwanted",
|
||||
"score": -9999
|
||||
},
|
||||
{
|
||||
"format": 178,
|
||||
"name": "RightSIZE",
|
||||
"score": 30
|
||||
},
|
||||
{
|
||||
"format": 177,
|
||||
"name": "Black and White",
|
||||
"score": -9999
|
||||
},
|
||||
{
|
||||
"format": 176,
|
||||
"name": "TrueHD",
|
||||
"score": -9999
|
||||
},
|
||||
{
|
||||
"format": 175,
|
||||
"name": "DTS-X",
|
||||
"score": -9999
|
||||
},
|
||||
{
|
||||
"format": 174,
|
||||
"name": "FLAC",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 173,
|
||||
"name": "DTS-HD MA",
|
||||
"score": -9999
|
||||
},
|
||||
{
|
||||
"format": 172,
|
||||
"name": "x265",
|
||||
"score": -9999
|
||||
},
|
||||
{
|
||||
"format": 171,
|
||||
"name": "IMAX",
|
||||
"score": 10
|
||||
},
|
||||
{
|
||||
"format": 170,
|
||||
"name": "ATMOS",
|
||||
"score": 10
|
||||
},
|
||||
{
|
||||
"format": 169,
|
||||
"name": "DD",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 168,
|
||||
"name": "DTS",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 167,
|
||||
"name": "DD+",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 166,
|
||||
"name": "iTunes",
|
||||
"score": 90
|
||||
},
|
||||
{
|
||||
"format": 165,
|
||||
"name": "Paramount+",
|
||||
"score": 190
|
||||
},
|
||||
{
|
||||
"format": 164,
|
||||
"name": "Peacock TV",
|
||||
"score": 190
|
||||
},
|
||||
{
|
||||
"format": 163,
|
||||
"name": "Hulu",
|
||||
"score": 190
|
||||
},
|
||||
{
|
||||
"format": 162,
|
||||
"name": "Netflix",
|
||||
"score": 200
|
||||
},
|
||||
{
|
||||
"format": 161,
|
||||
"name": "HBO Max",
|
||||
"score": 200
|
||||
},
|
||||
{
|
||||
"format": 160,
|
||||
"name": "Disney+",
|
||||
"score": 200
|
||||
},
|
||||
{
|
||||
"format": 159,
|
||||
"name": "Apple TV+",
|
||||
"score": 210
|
||||
},
|
||||
{
|
||||
"format": 158,
|
||||
"name": "Movies Anywhere",
|
||||
"score": 220
|
||||
},
|
||||
{
|
||||
"format": 157,
|
||||
"name": "Amazon Prime",
|
||||
"score": 210
|
||||
},
|
||||
{
|
||||
"format": 156,
|
||||
"name": "REMUX",
|
||||
"score": -9999
|
||||
},
|
||||
{
|
||||
"format": 155,
|
||||
"name": "x264",
|
||||
"score": 10
|
||||
},
|
||||
{
|
||||
"format": 154,
|
||||
"name": "WEBRip",
|
||||
"score": 10
|
||||
},
|
||||
{
|
||||
"format": 153,
|
||||
"name": "Blu-Ray",
|
||||
"score": 10
|
||||
},
|
||||
{
|
||||
"format": 152,
|
||||
"name": "2160p",
|
||||
"score": -9999
|
||||
},
|
||||
{
|
||||
"format": 151,
|
||||
"name": "720p",
|
||||
"score": -9999
|
||||
},
|
||||
{
|
||||
"format": 150,
|
||||
"name": "1080p",
|
||||
"score": 220
|
||||
},
|
||||
{
|
||||
"format": 149,
|
||||
"name": "BHDStudio",
|
||||
"score": 90
|
||||
},
|
||||
{
|
||||
"format": 148,
|
||||
"name": "LEGi0N",
|
||||
"score": 20
|
||||
},
|
||||
{
|
||||
"format": 147,
|
||||
"name": "FraMeSToR",
|
||||
"score": 20
|
||||
},
|
||||
{
|
||||
"format": 146,
|
||||
"name": "iFT",
|
||||
"score": 30
|
||||
},
|
||||
{
|
||||
"format": 145,
|
||||
"name": "MTeam",
|
||||
"score": -9999
|
||||
},
|
||||
{
|
||||
"format": 144,
|
||||
"name": "EDPH",
|
||||
"score": 20
|
||||
},
|
||||
{
|
||||
"format": 143,
|
||||
"name": "HANDJOB",
|
||||
"score": 20
|
||||
},
|
||||
{
|
||||
"format": 142,
|
||||
"name": "c0ke",
|
||||
"score": 70
|
||||
},
|
||||
{
|
||||
"format": 141,
|
||||
"name": "KASHMiR",
|
||||
"score": 30
|
||||
},
|
||||
{
|
||||
"format": 140,
|
||||
"name": "WMING",
|
||||
"score": 30
|
||||
},
|
||||
{
|
||||
"format": 139,
|
||||
"name": "playHD",
|
||||
"score": 30
|
||||
},
|
||||
{
|
||||
"format": 138,
|
||||
"name": "E.N.D",
|
||||
"score": 30
|
||||
},
|
||||
{
|
||||
"format": 137,
|
||||
"name": "GutS",
|
||||
"score": 30
|
||||
},
|
||||
{
|
||||
"format": 136,
|
||||
"name": "BV",
|
||||
"score": 30
|
||||
},
|
||||
{
|
||||
"format": 135,
|
||||
"name": "SiMPLE",
|
||||
"score": 30
|
||||
},
|
||||
{
|
||||
"format": 134,
|
||||
"name": "W4NK3R",
|
||||
"score": 30
|
||||
},
|
||||
{
|
||||
"format": 133,
|
||||
"name": "GS88",
|
||||
"score": 30
|
||||
},
|
||||
{
|
||||
"format": 132,
|
||||
"name": "HiP",
|
||||
"score": 40
|
||||
},
|
||||
{
|
||||
"format": 131,
|
||||
"name": "GALAXY",
|
||||
"score": 30
|
||||
},
|
||||
{
|
||||
"format": 130,
|
||||
"name": "luvBB",
|
||||
"score": 30
|
||||
},
|
||||
{
|
||||
"format": 129,
|
||||
"name": "NyHD",
|
||||
"score": 30
|
||||
},
|
||||
{
|
||||
"format": 128,
|
||||
"name": "ZIMBO",
|
||||
"score": 30
|
||||
},
|
||||
{
|
||||
"format": 127,
|
||||
"name": "ThD",
|
||||
"score": 30
|
||||
},
|
||||
{
|
||||
"format": 126,
|
||||
"name": "SaNcTi",
|
||||
"score": 30
|
||||
},
|
||||
{
|
||||
"format": 125,
|
||||
"name": "ORiGEN",
|
||||
"score": 30
|
||||
},
|
||||
{
|
||||
"format": 124,
|
||||
"name": "Positive",
|
||||
"score": 30
|
||||
},
|
||||
{
|
||||
"format": 123,
|
||||
"name": "ESiR",
|
||||
"score": 30
|
||||
},
|
||||
{
|
||||
"format": 122,
|
||||
"name": "Chotab",
|
||||
"score": 30
|
||||
},
|
||||
{
|
||||
"format": 121,
|
||||
"name": "xander",
|
||||
"score": 30
|
||||
},
|
||||
{
|
||||
"format": 120,
|
||||
"name": "FTW-HD",
|
||||
"score": 30
|
||||
},
|
||||
{
|
||||
"format": 119,
|
||||
"name": "Penumbra",
|
||||
"score": 30
|
||||
},
|
||||
{
|
||||
"format": 118,
|
||||
"name": "TDD",
|
||||
"score": 30
|
||||
},
|
||||
{
|
||||
"format": 117,
|
||||
"name": "Dariush SD",
|
||||
"score": 30
|
||||
},
|
||||
{
|
||||
"format": 116,
|
||||
"name": "PTer",
|
||||
"score": 30
|
||||
},
|
||||
{
|
||||
"format": 115,
|
||||
"name": "SbR",
|
||||
"score": 30
|
||||
},
|
||||
{
|
||||
"format": 114,
|
||||
"name": "nmd",
|
||||
"score": 30
|
||||
},
|
||||
{
|
||||
"format": 113,
|
||||
"name": "TBB",
|
||||
"score": 30
|
||||
},
|
||||
{
|
||||
"format": 112,
|
||||
"name": "EA",
|
||||
"score": 40
|
||||
},
|
||||
{
|
||||
"format": 111,
|
||||
"name": "BMF",
|
||||
"score": 40
|
||||
},
|
||||
{
|
||||
"format": 110,
|
||||
"name": "LolHD",
|
||||
"score": 40
|
||||
},
|
||||
{
|
||||
"format": 109,
|
||||
"name": "HDMaNiAcS",
|
||||
"score": 40
|
||||
},
|
||||
{
|
||||
"format": 108,
|
||||
"name": "IDE",
|
||||
"score": 40
|
||||
},
|
||||
{
|
||||
"format": 107,
|
||||
"name": "de[42]",
|
||||
"score": 50
|
||||
},
|
||||
{
|
||||
"format": 106,
|
||||
"name": "NCmt",
|
||||
"score": 60
|
||||
},
|
||||
{
|
||||
"format": 105,
|
||||
"name": "decibeL",
|
||||
"score": 50
|
||||
},
|
||||
{
|
||||
"format": 104,
|
||||
"name": "NTb",
|
||||
"score": 40
|
||||
},
|
||||
{
|
||||
"format": 103,
|
||||
"name": "CRiSC",
|
||||
"score": 50
|
||||
},
|
||||
{
|
||||
"format": 102,
|
||||
"name": "SA89",
|
||||
"score": 60
|
||||
},
|
||||
{
|
||||
"format": 101,
|
||||
"name": "HiDt",
|
||||
"score": 60
|
||||
},
|
||||
{
|
||||
"format": 100,
|
||||
"name": "FoRM",
|
||||
"score": 60
|
||||
},
|
||||
{
|
||||
"format": 99,
|
||||
"name": "HiFi",
|
||||
"score": 60
|
||||
},
|
||||
{
|
||||
"format": 98,
|
||||
"name": "CtrlHD",
|
||||
"score": 60
|
||||
},
|
||||
{
|
||||
"format": 97,
|
||||
"name": "VietHD",
|
||||
"score": 70
|
||||
},
|
||||
{
|
||||
"format": 96,
|
||||
"name": "ZQ",
|
||||
"score": 70
|
||||
},
|
||||
{
|
||||
"format": 95,
|
||||
"name": "TayTo",
|
||||
"score": 70
|
||||
},
|
||||
{
|
||||
"format": 94,
|
||||
"name": "Geek",
|
||||
"score": 70
|
||||
},
|
||||
{
|
||||
"format": 93,
|
||||
"name": "EbP",
|
||||
"score": 80
|
||||
},
|
||||
{
|
||||
"format": 92,
|
||||
"name": "DON",
|
||||
"score": 80
|
||||
},
|
||||
{
|
||||
"format": 91,
|
||||
"name": "D-Z0N3",
|
||||
"score": 80
|
||||
},
|
||||
{
|
||||
"format": 215,
|
||||
"name": "CJ",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 216,
|
||||
"name": "pcroland",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 217,
|
||||
"name": "BTN",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 218,
|
||||
"name": "iON",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 219,
|
||||
"name": "AJP69",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 220,
|
||||
"name": "VLAD",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 221,
|
||||
"name": "hdalx",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 223,
|
||||
"name": "LiNG",
|
||||
"score": 0
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
@@ -0,0 +1,927 @@
|
||||
[
|
||||
{
|
||||
"name": "1080p Balanced",
|
||||
"upgradeAllowed": true,
|
||||
"cutoff": 1001,
|
||||
"items": [
|
||||
{
|
||||
"quality": {
|
||||
"id": 0,
|
||||
"name": "Unknown",
|
||||
"source": "unknown",
|
||||
"resolution": 0
|
||||
},
|
||||
"items": [],
|
||||
"allowed": false
|
||||
},
|
||||
{
|
||||
"quality": {
|
||||
"id": 13,
|
||||
"name": "Bluray-480p",
|
||||
"source": "bluray",
|
||||
"resolution": 480
|
||||
},
|
||||
"items": [],
|
||||
"allowed": false
|
||||
},
|
||||
{
|
||||
"quality": {
|
||||
"id": 4,
|
||||
"name": "HDTV-720p",
|
||||
"source": "television",
|
||||
"resolution": 720
|
||||
},
|
||||
"items": [],
|
||||
"allowed": false
|
||||
},
|
||||
{
|
||||
"quality": {
|
||||
"id": 14,
|
||||
"name": "WEBRip-720p",
|
||||
"source": "webRip",
|
||||
"resolution": 720
|
||||
},
|
||||
"items": [],
|
||||
"allowed": false
|
||||
},
|
||||
{
|
||||
"quality": {
|
||||
"id": 5,
|
||||
"name": "WEBDL-720p",
|
||||
"source": "web",
|
||||
"resolution": 720
|
||||
},
|
||||
"items": [],
|
||||
"allowed": false
|
||||
},
|
||||
{
|
||||
"quality": {
|
||||
"id": 6,
|
||||
"name": "Bluray-720p",
|
||||
"source": "bluray",
|
||||
"resolution": 720
|
||||
},
|
||||
"items": [],
|
||||
"allowed": false
|
||||
},
|
||||
{
|
||||
"name": "Else",
|
||||
"items": [
|
||||
{
|
||||
"quality": {
|
||||
"id": 1,
|
||||
"name": "SDTV",
|
||||
"source": "television",
|
||||
"resolution": 480
|
||||
},
|
||||
"items": [],
|
||||
"allowed": true
|
||||
},
|
||||
{
|
||||
"quality": {
|
||||
"id": 12,
|
||||
"name": "WEBRip-480p",
|
||||
"source": "webRip",
|
||||
"resolution": 480
|
||||
},
|
||||
"items": [],
|
||||
"allowed": true
|
||||
},
|
||||
{
|
||||
"quality": {
|
||||
"id": 8,
|
||||
"name": "WEBDL-480p",
|
||||
"source": "web",
|
||||
"resolution": 480
|
||||
},
|
||||
"items": [],
|
||||
"allowed": true
|
||||
},
|
||||
{
|
||||
"quality": {
|
||||
"id": 2,
|
||||
"name": "DVD",
|
||||
"source": "dvd",
|
||||
"resolution": 480
|
||||
},
|
||||
"items": [],
|
||||
"allowed": true
|
||||
},
|
||||
{
|
||||
"quality": {
|
||||
"id": 10,
|
||||
"name": "Raw-HD",
|
||||
"source": "televisionRaw",
|
||||
"resolution": 1080
|
||||
},
|
||||
"items": [],
|
||||
"allowed": true
|
||||
},
|
||||
{
|
||||
"quality": {
|
||||
"id": 9,
|
||||
"name": "HDTV-1080p",
|
||||
"source": "television",
|
||||
"resolution": 1080
|
||||
},
|
||||
"items": [],
|
||||
"allowed": true
|
||||
}
|
||||
],
|
||||
"allowed": true,
|
||||
"id": 1002
|
||||
},
|
||||
{
|
||||
"name": "Balanced Capable",
|
||||
"items": [
|
||||
{
|
||||
"quality": {
|
||||
"id": 3,
|
||||
"name": "WEBDL-1080p",
|
||||
"source": "web",
|
||||
"resolution": 1080
|
||||
},
|
||||
"items": [],
|
||||
"allowed": true
|
||||
},
|
||||
{
|
||||
"quality": {
|
||||
"id": 15,
|
||||
"name": "WEBRip-1080p",
|
||||
"source": "webRip",
|
||||
"resolution": 1080
|
||||
},
|
||||
"items": [],
|
||||
"allowed": true
|
||||
},
|
||||
{
|
||||
"quality": {
|
||||
"id": 7,
|
||||
"name": "Bluray-1080p",
|
||||
"source": "bluray",
|
||||
"resolution": 1080
|
||||
},
|
||||
"items": [],
|
||||
"allowed": true
|
||||
}
|
||||
],
|
||||
"allowed": true,
|
||||
"id": 1001
|
||||
},
|
||||
{
|
||||
"quality": {
|
||||
"id": 20,
|
||||
"name": "Bluray-1080p Remux",
|
||||
"source": "blurayRaw",
|
||||
"resolution": 1080
|
||||
},
|
||||
"items": [],
|
||||
"allowed": false
|
||||
},
|
||||
{
|
||||
"quality": {
|
||||
"id": 16,
|
||||
"name": "HDTV-2160p",
|
||||
"source": "television",
|
||||
"resolution": 2160
|
||||
},
|
||||
"items": [],
|
||||
"allowed": false
|
||||
},
|
||||
{
|
||||
"quality": {
|
||||
"id": 17,
|
||||
"name": "WEBRip-2160p",
|
||||
"source": "webRip",
|
||||
"resolution": 2160
|
||||
},
|
||||
"items": [],
|
||||
"allowed": false
|
||||
},
|
||||
{
|
||||
"quality": {
|
||||
"id": 19,
|
||||
"name": "Bluray-2160p",
|
||||
"source": "bluray",
|
||||
"resolution": 2160
|
||||
},
|
||||
"items": [],
|
||||
"allowed": false
|
||||
},
|
||||
{
|
||||
"quality": {
|
||||
"id": 18,
|
||||
"name": "WEBDL-2160p",
|
||||
"source": "web",
|
||||
"resolution": 2160
|
||||
},
|
||||
"items": [],
|
||||
"allowed": false
|
||||
},
|
||||
{
|
||||
"quality": {
|
||||
"id": 21,
|
||||
"name": "Bluray-2160p Remux",
|
||||
"source": "blurayRaw",
|
||||
"resolution": 2160
|
||||
},
|
||||
"items": [],
|
||||
"allowed": false
|
||||
}
|
||||
],
|
||||
"minFormatScore": 0,
|
||||
"cutoffFormatScore": 500,
|
||||
"formatItems": [
|
||||
{
|
||||
"format": 229,
|
||||
"name": "HR",
|
||||
"score": 30
|
||||
},
|
||||
{
|
||||
"format": 228,
|
||||
"name": "MAX",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 227,
|
||||
"name": "h265 (4k)",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 226,
|
||||
"name": "PCM",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 225,
|
||||
"name": "Blu-Ray (Remux)",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 224,
|
||||
"name": "h265",
|
||||
"score": -9999
|
||||
},
|
||||
{
|
||||
"format": 214,
|
||||
"name": "LQ",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 213,
|
||||
"name": "EPSiLON",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 212,
|
||||
"name": "playBD",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 211,
|
||||
"name": "BLURANiUM",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 210,
|
||||
"name": "PmP",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 209,
|
||||
"name": "WiLDCAT",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 208,
|
||||
"name": "TRiToN",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 207,
|
||||
"name": "3L",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 206,
|
||||
"name": "Dolby Vision w/out Fallback",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 205,
|
||||
"name": "UHDBits",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 204,
|
||||
"name": "ATMOS (Missing)",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 203,
|
||||
"name": "TrueHD (Missing)",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 202,
|
||||
"name": "HDR10 (Missing)",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 201,
|
||||
"name": "HDR10",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 200,
|
||||
"name": "Dolby Vision",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 199,
|
||||
"name": "HDR10+",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 198,
|
||||
"name": "Stream Optimised",
|
||||
"score": 80
|
||||
},
|
||||
{
|
||||
"format": 197,
|
||||
"name": "LoRD",
|
||||
"score": 30
|
||||
},
|
||||
{
|
||||
"format": 196,
|
||||
"name": "Scene",
|
||||
"score": 20
|
||||
},
|
||||
{
|
||||
"format": 195,
|
||||
"name": "mHD",
|
||||
"score": -99999
|
||||
},
|
||||
{
|
||||
"format": 194,
|
||||
"name": "AV-1",
|
||||
"score": -9999
|
||||
},
|
||||
{
|
||||
"format": 193,
|
||||
"name": "VVC",
|
||||
"score": -9999
|
||||
},
|
||||
{
|
||||
"format": 192,
|
||||
"name": "Extras",
|
||||
"score": -9999
|
||||
},
|
||||
{
|
||||
"format": 191,
|
||||
"name": "480p",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 190,
|
||||
"name": "Dariush ",
|
||||
"score": 30
|
||||
},
|
||||
{
|
||||
"format": 189,
|
||||
"name": "TBB SD",
|
||||
"score": 30
|
||||
},
|
||||
{
|
||||
"format": 188,
|
||||
"name": "Xvid",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 187,
|
||||
"name": "DVD",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 186,
|
||||
"name": "DVD REMUX ",
|
||||
"score": 40
|
||||
},
|
||||
{
|
||||
"format": 185,
|
||||
"name": "HANDJOB SD",
|
||||
"score": 20
|
||||
},
|
||||
{
|
||||
"format": 184,
|
||||
"name": "iTunes (Missing)",
|
||||
"score": 90
|
||||
},
|
||||
{
|
||||
"format": 183,
|
||||
"name": "ROKU",
|
||||
"score": 190
|
||||
},
|
||||
{
|
||||
"format": 182,
|
||||
"name": "BeyondHD",
|
||||
"score": -9999
|
||||
},
|
||||
{
|
||||
"format": 181,
|
||||
"name": "Disc ",
|
||||
"score": -9999
|
||||
},
|
||||
{
|
||||
"format": 180,
|
||||
"name": "3D",
|
||||
"score": -9999
|
||||
},
|
||||
{
|
||||
"format": 179,
|
||||
"name": "Unwanted",
|
||||
"score": -9999
|
||||
},
|
||||
{
|
||||
"format": 178,
|
||||
"name": "RightSIZE",
|
||||
"score": 30
|
||||
},
|
||||
{
|
||||
"format": 177,
|
||||
"name": "Black and White",
|
||||
"score": -9999
|
||||
},
|
||||
{
|
||||
"format": 176,
|
||||
"name": "TrueHD",
|
||||
"score": -9999
|
||||
},
|
||||
{
|
||||
"format": 175,
|
||||
"name": "DTS-X",
|
||||
"score": -9999
|
||||
},
|
||||
{
|
||||
"format": 174,
|
||||
"name": "FLAC",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 173,
|
||||
"name": "DTS-HD MA",
|
||||
"score": -9999
|
||||
},
|
||||
{
|
||||
"format": 172,
|
||||
"name": "x265",
|
||||
"score": -9999
|
||||
},
|
||||
{
|
||||
"format": 171,
|
||||
"name": "IMAX",
|
||||
"score": 10
|
||||
},
|
||||
{
|
||||
"format": 170,
|
||||
"name": "ATMOS",
|
||||
"score": 10
|
||||
},
|
||||
{
|
||||
"format": 169,
|
||||
"name": "DD",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 168,
|
||||
"name": "DTS",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 167,
|
||||
"name": "DD+",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 166,
|
||||
"name": "iTunes",
|
||||
"score": 90
|
||||
},
|
||||
{
|
||||
"format": 165,
|
||||
"name": "Paramount+",
|
||||
"score": 190
|
||||
},
|
||||
{
|
||||
"format": 164,
|
||||
"name": "Peacock TV",
|
||||
"score": 190
|
||||
},
|
||||
{
|
||||
"format": 163,
|
||||
"name": "Hulu",
|
||||
"score": 190
|
||||
},
|
||||
{
|
||||
"format": 162,
|
||||
"name": "Netflix",
|
||||
"score": 200
|
||||
},
|
||||
{
|
||||
"format": 161,
|
||||
"name": "HBO Max",
|
||||
"score": 200
|
||||
},
|
||||
{
|
||||
"format": 160,
|
||||
"name": "Disney+",
|
||||
"score": 200
|
||||
},
|
||||
{
|
||||
"format": 159,
|
||||
"name": "Apple TV+",
|
||||
"score": 210
|
||||
},
|
||||
{
|
||||
"format": 158,
|
||||
"name": "Movies Anywhere",
|
||||
"score": 220
|
||||
},
|
||||
{
|
||||
"format": 157,
|
||||
"name": "Amazon Prime",
|
||||
"score": 210
|
||||
},
|
||||
{
|
||||
"format": 156,
|
||||
"name": "REMUX",
|
||||
"score": -9999
|
||||
},
|
||||
{
|
||||
"format": 155,
|
||||
"name": "x264",
|
||||
"score": 10
|
||||
},
|
||||
{
|
||||
"format": 154,
|
||||
"name": "WEBRip",
|
||||
"score": 10
|
||||
},
|
||||
{
|
||||
"format": 153,
|
||||
"name": "Blu-Ray",
|
||||
"score": 10
|
||||
},
|
||||
{
|
||||
"format": 152,
|
||||
"name": "2160p",
|
||||
"score": -9999
|
||||
},
|
||||
{
|
||||
"format": 151,
|
||||
"name": "720p",
|
||||
"score": -9999
|
||||
},
|
||||
{
|
||||
"format": 150,
|
||||
"name": "1080p",
|
||||
"score": 220
|
||||
},
|
||||
{
|
||||
"format": 149,
|
||||
"name": "BHDStudio",
|
||||
"score": 90
|
||||
},
|
||||
{
|
||||
"format": 148,
|
||||
"name": "LEGi0N",
|
||||
"score": 20
|
||||
},
|
||||
{
|
||||
"format": 147,
|
||||
"name": "FraMeSToR",
|
||||
"score": 20
|
||||
},
|
||||
{
|
||||
"format": 146,
|
||||
"name": "iFT",
|
||||
"score": 30
|
||||
},
|
||||
{
|
||||
"format": 145,
|
||||
"name": "MTeam",
|
||||
"score": -9999
|
||||
},
|
||||
{
|
||||
"format": 144,
|
||||
"name": "EDPH",
|
||||
"score": 20
|
||||
},
|
||||
{
|
||||
"format": 143,
|
||||
"name": "HANDJOB",
|
||||
"score": 20
|
||||
},
|
||||
{
|
||||
"format": 142,
|
||||
"name": "c0ke",
|
||||
"score": 70
|
||||
},
|
||||
{
|
||||
"format": 141,
|
||||
"name": "KASHMiR",
|
||||
"score": 30
|
||||
},
|
||||
{
|
||||
"format": 140,
|
||||
"name": "WMING",
|
||||
"score": 30
|
||||
},
|
||||
{
|
||||
"format": 139,
|
||||
"name": "playHD",
|
||||
"score": 30
|
||||
},
|
||||
{
|
||||
"format": 138,
|
||||
"name": "E.N.D",
|
||||
"score": 30
|
||||
},
|
||||
{
|
||||
"format": 137,
|
||||
"name": "GutS",
|
||||
"score": 30
|
||||
},
|
||||
{
|
||||
"format": 136,
|
||||
"name": "BV",
|
||||
"score": 30
|
||||
},
|
||||
{
|
||||
"format": 135,
|
||||
"name": "SiMPLE",
|
||||
"score": 30
|
||||
},
|
||||
{
|
||||
"format": 134,
|
||||
"name": "W4NK3R",
|
||||
"score": 30
|
||||
},
|
||||
{
|
||||
"format": 133,
|
||||
"name": "GS88",
|
||||
"score": 30
|
||||
},
|
||||
{
|
||||
"format": 132,
|
||||
"name": "HiP",
|
||||
"score": 40
|
||||
},
|
||||
{
|
||||
"format": 131,
|
||||
"name": "GALAXY",
|
||||
"score": 30
|
||||
},
|
||||
{
|
||||
"format": 130,
|
||||
"name": "luvBB",
|
||||
"score": 30
|
||||
},
|
||||
{
|
||||
"format": 129,
|
||||
"name": "NyHD",
|
||||
"score": 30
|
||||
},
|
||||
{
|
||||
"format": 128,
|
||||
"name": "ZIMBO",
|
||||
"score": 30
|
||||
},
|
||||
{
|
||||
"format": 127,
|
||||
"name": "ThD",
|
||||
"score": 30
|
||||
},
|
||||
{
|
||||
"format": 126,
|
||||
"name": "SaNcTi",
|
||||
"score": 30
|
||||
},
|
||||
{
|
||||
"format": 125,
|
||||
"name": "ORiGEN",
|
||||
"score": 30
|
||||
},
|
||||
{
|
||||
"format": 124,
|
||||
"name": "Positive",
|
||||
"score": 30
|
||||
},
|
||||
{
|
||||
"format": 123,
|
||||
"name": "ESiR",
|
||||
"score": 30
|
||||
},
|
||||
{
|
||||
"format": 122,
|
||||
"name": "Chotab",
|
||||
"score": 30
|
||||
},
|
||||
{
|
||||
"format": 121,
|
||||
"name": "xander",
|
||||
"score": 30
|
||||
},
|
||||
{
|
||||
"format": 120,
|
||||
"name": "FTW-HD",
|
||||
"score": 30
|
||||
},
|
||||
{
|
||||
"format": 119,
|
||||
"name": "Penumbra",
|
||||
"score": 30
|
||||
},
|
||||
{
|
||||
"format": 118,
|
||||
"name": "TDD",
|
||||
"score": 30
|
||||
},
|
||||
{
|
||||
"format": 117,
|
||||
"name": "Dariush SD",
|
||||
"score": 30
|
||||
},
|
||||
{
|
||||
"format": 116,
|
||||
"name": "PTer",
|
||||
"score": 30
|
||||
},
|
||||
{
|
||||
"format": 115,
|
||||
"name": "SbR",
|
||||
"score": 30
|
||||
},
|
||||
{
|
||||
"format": 114,
|
||||
"name": "nmd",
|
||||
"score": 30
|
||||
},
|
||||
{
|
||||
"format": 113,
|
||||
"name": "TBB",
|
||||
"score": 30
|
||||
},
|
||||
{
|
||||
"format": 112,
|
||||
"name": "EA",
|
||||
"score": 40
|
||||
},
|
||||
{
|
||||
"format": 111,
|
||||
"name": "BMF",
|
||||
"score": 40
|
||||
},
|
||||
{
|
||||
"format": 110,
|
||||
"name": "LolHD",
|
||||
"score": 40
|
||||
},
|
||||
{
|
||||
"format": 109,
|
||||
"name": "HDMaNiAcS",
|
||||
"score": 40
|
||||
},
|
||||
{
|
||||
"format": 108,
|
||||
"name": "IDE",
|
||||
"score": 40
|
||||
},
|
||||
{
|
||||
"format": 107,
|
||||
"name": "de[42]",
|
||||
"score": 50
|
||||
},
|
||||
{
|
||||
"format": 106,
|
||||
"name": "NCmt",
|
||||
"score": 60
|
||||
},
|
||||
{
|
||||
"format": 105,
|
||||
"name": "decibeL",
|
||||
"score": 50
|
||||
},
|
||||
{
|
||||
"format": 104,
|
||||
"name": "NTb",
|
||||
"score": 40
|
||||
},
|
||||
{
|
||||
"format": 103,
|
||||
"name": "CRiSC",
|
||||
"score": 50
|
||||
},
|
||||
{
|
||||
"format": 102,
|
||||
"name": "SA89",
|
||||
"score": 60
|
||||
},
|
||||
{
|
||||
"format": 101,
|
||||
"name": "HiDt",
|
||||
"score": 60
|
||||
},
|
||||
{
|
||||
"format": 100,
|
||||
"name": "FoRM",
|
||||
"score": 60
|
||||
},
|
||||
{
|
||||
"format": 99,
|
||||
"name": "HiFi",
|
||||
"score": 60
|
||||
},
|
||||
{
|
||||
"format": 98,
|
||||
"name": "CtrlHD",
|
||||
"score": 60
|
||||
},
|
||||
{
|
||||
"format": 97,
|
||||
"name": "VietHD",
|
||||
"score": 70
|
||||
},
|
||||
{
|
||||
"format": 96,
|
||||
"name": "ZQ",
|
||||
"score": 70
|
||||
},
|
||||
{
|
||||
"format": 95,
|
||||
"name": "TayTo",
|
||||
"score": 70
|
||||
},
|
||||
{
|
||||
"format": 94,
|
||||
"name": "Geek",
|
||||
"score": 70
|
||||
},
|
||||
{
|
||||
"format": 93,
|
||||
"name": "EbP",
|
||||
"score": 80
|
||||
},
|
||||
{
|
||||
"format": 92,
|
||||
"name": "DON",
|
||||
"score": 80
|
||||
},
|
||||
{
|
||||
"format": 91,
|
||||
"name": "D-Z0N3",
|
||||
"score": 80
|
||||
},
|
||||
{
|
||||
"format": 215,
|
||||
"name": "CJ",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 216,
|
||||
"name": "pcroland",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 217,
|
||||
"name": "BTN",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 218,
|
||||
"name": "iON",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 219,
|
||||
"name": "AJP69",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 220,
|
||||
"name": "VLAD",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 221,
|
||||
"name": "hdalx",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 223,
|
||||
"name": "LiNG",
|
||||
"score": 0
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
@@ -0,0 +1,913 @@
|
||||
[
|
||||
{
|
||||
"name": "1080p Optimal (Single Grab)",
|
||||
"upgradeAllowed": true,
|
||||
"cutoff": 20,
|
||||
"items": [
|
||||
{
|
||||
"quality": {
|
||||
"id": 0,
|
||||
"name": "Unknown",
|
||||
"source": "unknown",
|
||||
"resolution": 0
|
||||
},
|
||||
"items": [],
|
||||
"allowed": false
|
||||
},
|
||||
{
|
||||
"quality": {
|
||||
"id": 13,
|
||||
"name": "Bluray-480p",
|
||||
"source": "bluray",
|
||||
"resolution": 480
|
||||
},
|
||||
"items": [],
|
||||
"allowed": false
|
||||
},
|
||||
{
|
||||
"quality": {
|
||||
"id": 4,
|
||||
"name": "HDTV-720p",
|
||||
"source": "television",
|
||||
"resolution": 720
|
||||
},
|
||||
"items": [],
|
||||
"allowed": false
|
||||
},
|
||||
{
|
||||
"quality": {
|
||||
"id": 14,
|
||||
"name": "WEBRip-720p",
|
||||
"source": "webRip",
|
||||
"resolution": 720
|
||||
},
|
||||
"items": [],
|
||||
"allowed": false
|
||||
},
|
||||
{
|
||||
"quality": {
|
||||
"id": 5,
|
||||
"name": "WEBDL-720p",
|
||||
"source": "web",
|
||||
"resolution": 720
|
||||
},
|
||||
"items": [],
|
||||
"allowed": false
|
||||
},
|
||||
{
|
||||
"quality": {
|
||||
"id": 6,
|
||||
"name": "Bluray-720p",
|
||||
"source": "bluray",
|
||||
"resolution": 720
|
||||
},
|
||||
"items": [],
|
||||
"allowed": false
|
||||
},
|
||||
{
|
||||
"quality": {
|
||||
"id": 1,
|
||||
"name": "SDTV",
|
||||
"source": "television",
|
||||
"resolution": 480
|
||||
},
|
||||
"items": [],
|
||||
"allowed": true
|
||||
},
|
||||
{
|
||||
"quality": {
|
||||
"id": 12,
|
||||
"name": "WEBRip-480p",
|
||||
"source": "webRip",
|
||||
"resolution": 480
|
||||
},
|
||||
"items": [],
|
||||
"allowed": true
|
||||
},
|
||||
{
|
||||
"quality": {
|
||||
"id": 8,
|
||||
"name": "WEBDL-480p",
|
||||
"source": "web",
|
||||
"resolution": 480
|
||||
},
|
||||
"items": [],
|
||||
"allowed": true
|
||||
},
|
||||
{
|
||||
"quality": {
|
||||
"id": 2,
|
||||
"name": "DVD",
|
||||
"source": "dvd",
|
||||
"resolution": 480
|
||||
},
|
||||
"items": [],
|
||||
"allowed": true
|
||||
},
|
||||
{
|
||||
"quality": {
|
||||
"id": 10,
|
||||
"name": "Raw-HD",
|
||||
"source": "televisionRaw",
|
||||
"resolution": 1080
|
||||
},
|
||||
"items": [],
|
||||
"allowed": false
|
||||
},
|
||||
{
|
||||
"quality": {
|
||||
"id": 9,
|
||||
"name": "HDTV-1080p",
|
||||
"source": "television",
|
||||
"resolution": 1080
|
||||
},
|
||||
"items": [],
|
||||
"allowed": false
|
||||
},
|
||||
{
|
||||
"quality": {
|
||||
"id": 15,
|
||||
"name": "WEBRip-1080p",
|
||||
"source": "webRip",
|
||||
"resolution": 1080
|
||||
},
|
||||
"items": [],
|
||||
"allowed": false
|
||||
},
|
||||
{
|
||||
"quality": {
|
||||
"id": 7,
|
||||
"name": "Bluray-1080p",
|
||||
"source": "bluray",
|
||||
"resolution": 1080
|
||||
},
|
||||
"items": [],
|
||||
"allowed": false
|
||||
},
|
||||
{
|
||||
"quality": {
|
||||
"id": 3,
|
||||
"name": "WEBDL-1080p",
|
||||
"source": "web",
|
||||
"resolution": 1080
|
||||
},
|
||||
"items": [],
|
||||
"allowed": true
|
||||
},
|
||||
{
|
||||
"quality": {
|
||||
"id": 20,
|
||||
"name": "Bluray-1080p Remux",
|
||||
"source": "blurayRaw",
|
||||
"resolution": 1080
|
||||
},
|
||||
"items": [],
|
||||
"allowed": true
|
||||
},
|
||||
{
|
||||
"quality": {
|
||||
"id": 16,
|
||||
"name": "HDTV-2160p",
|
||||
"source": "television",
|
||||
"resolution": 2160
|
||||
},
|
||||
"items": [],
|
||||
"allowed": false
|
||||
},
|
||||
{
|
||||
"quality": {
|
||||
"id": 17,
|
||||
"name": "WEBRip-2160p",
|
||||
"source": "webRip",
|
||||
"resolution": 2160
|
||||
},
|
||||
"items": [],
|
||||
"allowed": false
|
||||
},
|
||||
{
|
||||
"quality": {
|
||||
"id": 19,
|
||||
"name": "Bluray-2160p",
|
||||
"source": "bluray",
|
||||
"resolution": 2160
|
||||
},
|
||||
"items": [],
|
||||
"allowed": false
|
||||
},
|
||||
{
|
||||
"quality": {
|
||||
"id": 18,
|
||||
"name": "WEBDL-2160p",
|
||||
"source": "web",
|
||||
"resolution": 2160
|
||||
},
|
||||
"items": [],
|
||||
"allowed": false
|
||||
},
|
||||
{
|
||||
"quality": {
|
||||
"id": 21,
|
||||
"name": "Bluray-2160p Remux",
|
||||
"source": "blurayRaw",
|
||||
"resolution": 2160
|
||||
},
|
||||
"items": [],
|
||||
"allowed": false
|
||||
}
|
||||
],
|
||||
"minFormatScore": 0,
|
||||
"cutoffFormatScore": 0,
|
||||
"formatItems": [
|
||||
{
|
||||
"format": 229,
|
||||
"name": "HR",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 228,
|
||||
"name": "MAX",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 227,
|
||||
"name": "h265 (4k)",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 226,
|
||||
"name": "PCM",
|
||||
"score": 30
|
||||
},
|
||||
{
|
||||
"format": 225,
|
||||
"name": "Blu-Ray (Remux)",
|
||||
"score": 60
|
||||
},
|
||||
{
|
||||
"format": 224,
|
||||
"name": "h265",
|
||||
"score": -9999
|
||||
},
|
||||
{
|
||||
"format": 214,
|
||||
"name": "LQ",
|
||||
"score": -9999
|
||||
},
|
||||
{
|
||||
"format": 213,
|
||||
"name": "EPSiLON",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 212,
|
||||
"name": "playBD",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 211,
|
||||
"name": "BLURANiUM",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 210,
|
||||
"name": "PmP",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 209,
|
||||
"name": "WiLDCAT",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 208,
|
||||
"name": "TRiToN",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 207,
|
||||
"name": "3L",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 206,
|
||||
"name": "Dolby Vision w/out Fallback",
|
||||
"score": -9999
|
||||
},
|
||||
{
|
||||
"format": 205,
|
||||
"name": "UHDBits",
|
||||
"score": -9999
|
||||
},
|
||||
{
|
||||
"format": 204,
|
||||
"name": "ATMOS (Missing)",
|
||||
"score": 10
|
||||
},
|
||||
{
|
||||
"format": 203,
|
||||
"name": "TrueHD (Missing)",
|
||||
"score": 50
|
||||
},
|
||||
{
|
||||
"format": 202,
|
||||
"name": "HDR10 (Missing)",
|
||||
"score": -9999
|
||||
},
|
||||
{
|
||||
"format": 201,
|
||||
"name": "HDR10",
|
||||
"score": -9999
|
||||
},
|
||||
{
|
||||
"format": 200,
|
||||
"name": "Dolby Vision",
|
||||
"score": -9999
|
||||
},
|
||||
{
|
||||
"format": 199,
|
||||
"name": "HDR10+",
|
||||
"score": -9999
|
||||
},
|
||||
{
|
||||
"format": 198,
|
||||
"name": "Stream Optimised",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 197,
|
||||
"name": "LoRD",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 196,
|
||||
"name": "Scene",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 195,
|
||||
"name": "mHD",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 194,
|
||||
"name": "AV-1",
|
||||
"score": -9999
|
||||
},
|
||||
{
|
||||
"format": 193,
|
||||
"name": "VVC",
|
||||
"score": -9999
|
||||
},
|
||||
{
|
||||
"format": 192,
|
||||
"name": "Extras",
|
||||
"score": -9999
|
||||
},
|
||||
{
|
||||
"format": 191,
|
||||
"name": "480p",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 190,
|
||||
"name": "Dariush ",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 189,
|
||||
"name": "TBB SD",
|
||||
"score": 30
|
||||
},
|
||||
{
|
||||
"format": 188,
|
||||
"name": "Xvid",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 187,
|
||||
"name": "DVD",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 186,
|
||||
"name": "DVD REMUX ",
|
||||
"score": 40
|
||||
},
|
||||
{
|
||||
"format": 185,
|
||||
"name": "HANDJOB SD",
|
||||
"score": 20
|
||||
},
|
||||
{
|
||||
"format": 184,
|
||||
"name": "iTunes (Missing)",
|
||||
"score": 10
|
||||
},
|
||||
{
|
||||
"format": 183,
|
||||
"name": "ROKU",
|
||||
"score": 20
|
||||
},
|
||||
{
|
||||
"format": 182,
|
||||
"name": "BeyondHD",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 181,
|
||||
"name": "Disc ",
|
||||
"score": -9999
|
||||
},
|
||||
{
|
||||
"format": 180,
|
||||
"name": "3D",
|
||||
"score": -9999
|
||||
},
|
||||
{
|
||||
"format": 179,
|
||||
"name": "Unwanted",
|
||||
"score": -9999
|
||||
},
|
||||
{
|
||||
"format": 178,
|
||||
"name": "RightSIZE",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 177,
|
||||
"name": "Black and White",
|
||||
"score": -9999
|
||||
},
|
||||
{
|
||||
"format": 176,
|
||||
"name": "TrueHD",
|
||||
"score": 50
|
||||
},
|
||||
{
|
||||
"format": 175,
|
||||
"name": "DTS-X",
|
||||
"score": 60
|
||||
},
|
||||
{
|
||||
"format": 174,
|
||||
"name": "FLAC",
|
||||
"score": 30
|
||||
},
|
||||
{
|
||||
"format": 173,
|
||||
"name": "DTS-HD MA",
|
||||
"score": 50
|
||||
},
|
||||
{
|
||||
"format": 172,
|
||||
"name": "x265",
|
||||
"score": -9999
|
||||
},
|
||||
{
|
||||
"format": 171,
|
||||
"name": "IMAX",
|
||||
"score": 10
|
||||
},
|
||||
{
|
||||
"format": 170,
|
||||
"name": "ATMOS",
|
||||
"score": 10
|
||||
},
|
||||
{
|
||||
"format": 169,
|
||||
"name": "DD",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 168,
|
||||
"name": "DTS",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 167,
|
||||
"name": "DD+",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 166,
|
||||
"name": "iTunes",
|
||||
"score": 10
|
||||
},
|
||||
{
|
||||
"format": 165,
|
||||
"name": "Paramount+",
|
||||
"score": 20
|
||||
},
|
||||
{
|
||||
"format": 164,
|
||||
"name": "Peacock TV",
|
||||
"score": 20
|
||||
},
|
||||
{
|
||||
"format": 163,
|
||||
"name": "Hulu",
|
||||
"score": 20
|
||||
},
|
||||
{
|
||||
"format": 162,
|
||||
"name": "Netflix",
|
||||
"score": 30
|
||||
},
|
||||
{
|
||||
"format": 161,
|
||||
"name": "HBO Max",
|
||||
"score": 30
|
||||
},
|
||||
{
|
||||
"format": 160,
|
||||
"name": "Disney+",
|
||||
"score": 30
|
||||
},
|
||||
{
|
||||
"format": 159,
|
||||
"name": "Apple TV+",
|
||||
"score": 40
|
||||
},
|
||||
{
|
||||
"format": 158,
|
||||
"name": "Movies Anywhere",
|
||||
"score": 50
|
||||
},
|
||||
{
|
||||
"format": 157,
|
||||
"name": "Amazon Prime",
|
||||
"score": 40
|
||||
},
|
||||
{
|
||||
"format": 156,
|
||||
"name": "REMUX",
|
||||
"score": 60
|
||||
},
|
||||
{
|
||||
"format": 155,
|
||||
"name": "x264",
|
||||
"score": 10
|
||||
},
|
||||
{
|
||||
"format": 154,
|
||||
"name": "WEBRip",
|
||||
"score": -9999
|
||||
},
|
||||
{
|
||||
"format": 153,
|
||||
"name": "Blu-Ray",
|
||||
"score": -9999
|
||||
},
|
||||
{
|
||||
"format": 152,
|
||||
"name": "2160p",
|
||||
"score": -9999
|
||||
},
|
||||
{
|
||||
"format": 151,
|
||||
"name": "720p",
|
||||
"score": -9999
|
||||
},
|
||||
{
|
||||
"format": 150,
|
||||
"name": "1080p",
|
||||
"score": 60
|
||||
},
|
||||
{
|
||||
"format": 149,
|
||||
"name": "BHDStudio",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 148,
|
||||
"name": "LEGi0N",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 147,
|
||||
"name": "FraMeSToR",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 146,
|
||||
"name": "iFT",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 145,
|
||||
"name": "MTeam",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 144,
|
||||
"name": "EDPH",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 143,
|
||||
"name": "HANDJOB",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 142,
|
||||
"name": "c0ke",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 141,
|
||||
"name": "KASHMiR",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 140,
|
||||
"name": "WMING",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 139,
|
||||
"name": "playHD",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 138,
|
||||
"name": "E.N.D",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 137,
|
||||
"name": "GutS",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 136,
|
||||
"name": "BV",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 135,
|
||||
"name": "SiMPLE",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 134,
|
||||
"name": "W4NK3R",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 133,
|
||||
"name": "GS88",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 132,
|
||||
"name": "HiP",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 131,
|
||||
"name": "GALAXY",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 130,
|
||||
"name": "luvBB",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 129,
|
||||
"name": "NyHD",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 128,
|
||||
"name": "ZIMBO",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 127,
|
||||
"name": "ThD",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 126,
|
||||
"name": "SaNcTi",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 125,
|
||||
"name": "ORiGEN",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 124,
|
||||
"name": "Positive",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 123,
|
||||
"name": "ESiR",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 122,
|
||||
"name": "Chotab",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 121,
|
||||
"name": "xander",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 120,
|
||||
"name": "FTW-HD",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 119,
|
||||
"name": "Penumbra",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 118,
|
||||
"name": "TDD",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 117,
|
||||
"name": "Dariush SD",
|
||||
"score": 30
|
||||
},
|
||||
{
|
||||
"format": 116,
|
||||
"name": "PTer",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 115,
|
||||
"name": "SbR",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 114,
|
||||
"name": "nmd",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 113,
|
||||
"name": "TBB",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 112,
|
||||
"name": "EA",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 111,
|
||||
"name": "BMF",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 110,
|
||||
"name": "LolHD",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 109,
|
||||
"name": "HDMaNiAcS",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 108,
|
||||
"name": "IDE",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 107,
|
||||
"name": "de[42]",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 106,
|
||||
"name": "NCmt",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 105,
|
||||
"name": "decibeL",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 104,
|
||||
"name": "NTb",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 103,
|
||||
"name": "CRiSC",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 102,
|
||||
"name": "SA89",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 101,
|
||||
"name": "HiDt",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 100,
|
||||
"name": "FoRM",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 99,
|
||||
"name": "HiFi",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 98,
|
||||
"name": "CtrlHD",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 97,
|
||||
"name": "VietHD",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 96,
|
||||
"name": "ZQ",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 95,
|
||||
"name": "TayTo",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 94,
|
||||
"name": "Geek",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 93,
|
||||
"name": "EbP",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 92,
|
||||
"name": "DON",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 91,
|
||||
"name": "D-Z0N3",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 215,
|
||||
"name": "CJ",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 216,
|
||||
"name": "pcroland",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 217,
|
||||
"name": "BTN",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 218,
|
||||
"name": "iON",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 219,
|
||||
"name": "AJP69",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 220,
|
||||
"name": "VLAD",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 221,
|
||||
"name": "hdalx",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 223,
|
||||
"name": "LiNG",
|
||||
"score": 0
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
@@ -0,0 +1,913 @@
|
||||
[
|
||||
{
|
||||
"name": "1080p Optimal",
|
||||
"upgradeAllowed": true,
|
||||
"cutoff": 20,
|
||||
"items": [
|
||||
{
|
||||
"quality": {
|
||||
"id": 0,
|
||||
"name": "Unknown",
|
||||
"source": "unknown",
|
||||
"resolution": 0
|
||||
},
|
||||
"items": [],
|
||||
"allowed": false
|
||||
},
|
||||
{
|
||||
"quality": {
|
||||
"id": 13,
|
||||
"name": "Bluray-480p",
|
||||
"source": "bluray",
|
||||
"resolution": 480
|
||||
},
|
||||
"items": [],
|
||||
"allowed": false
|
||||
},
|
||||
{
|
||||
"quality": {
|
||||
"id": 4,
|
||||
"name": "HDTV-720p",
|
||||
"source": "television",
|
||||
"resolution": 720
|
||||
},
|
||||
"items": [],
|
||||
"allowed": false
|
||||
},
|
||||
{
|
||||
"quality": {
|
||||
"id": 14,
|
||||
"name": "WEBRip-720p",
|
||||
"source": "webRip",
|
||||
"resolution": 720
|
||||
},
|
||||
"items": [],
|
||||
"allowed": false
|
||||
},
|
||||
{
|
||||
"quality": {
|
||||
"id": 5,
|
||||
"name": "WEBDL-720p",
|
||||
"source": "web",
|
||||
"resolution": 720
|
||||
},
|
||||
"items": [],
|
||||
"allowed": false
|
||||
},
|
||||
{
|
||||
"quality": {
|
||||
"id": 6,
|
||||
"name": "Bluray-720p",
|
||||
"source": "bluray",
|
||||
"resolution": 720
|
||||
},
|
||||
"items": [],
|
||||
"allowed": false
|
||||
},
|
||||
{
|
||||
"quality": {
|
||||
"id": 1,
|
||||
"name": "SDTV",
|
||||
"source": "television",
|
||||
"resolution": 480
|
||||
},
|
||||
"items": [],
|
||||
"allowed": true
|
||||
},
|
||||
{
|
||||
"quality": {
|
||||
"id": 12,
|
||||
"name": "WEBRip-480p",
|
||||
"source": "webRip",
|
||||
"resolution": 480
|
||||
},
|
||||
"items": [],
|
||||
"allowed": true
|
||||
},
|
||||
{
|
||||
"quality": {
|
||||
"id": 8,
|
||||
"name": "WEBDL-480p",
|
||||
"source": "web",
|
||||
"resolution": 480
|
||||
},
|
||||
"items": [],
|
||||
"allowed": true
|
||||
},
|
||||
{
|
||||
"quality": {
|
||||
"id": 2,
|
||||
"name": "DVD",
|
||||
"source": "dvd",
|
||||
"resolution": 480
|
||||
},
|
||||
"items": [],
|
||||
"allowed": true
|
||||
},
|
||||
{
|
||||
"quality": {
|
||||
"id": 10,
|
||||
"name": "Raw-HD",
|
||||
"source": "televisionRaw",
|
||||
"resolution": 1080
|
||||
},
|
||||
"items": [],
|
||||
"allowed": false
|
||||
},
|
||||
{
|
||||
"quality": {
|
||||
"id": 9,
|
||||
"name": "HDTV-1080p",
|
||||
"source": "television",
|
||||
"resolution": 1080
|
||||
},
|
||||
"items": [],
|
||||
"allowed": false
|
||||
},
|
||||
{
|
||||
"quality": {
|
||||
"id": 15,
|
||||
"name": "WEBRip-1080p",
|
||||
"source": "webRip",
|
||||
"resolution": 1080
|
||||
},
|
||||
"items": [],
|
||||
"allowed": false
|
||||
},
|
||||
{
|
||||
"quality": {
|
||||
"id": 7,
|
||||
"name": "Bluray-1080p",
|
||||
"source": "bluray",
|
||||
"resolution": 1080
|
||||
},
|
||||
"items": [],
|
||||
"allowed": false
|
||||
},
|
||||
{
|
||||
"quality": {
|
||||
"id": 3,
|
||||
"name": "WEBDL-1080p",
|
||||
"source": "web",
|
||||
"resolution": 1080
|
||||
},
|
||||
"items": [],
|
||||
"allowed": true
|
||||
},
|
||||
{
|
||||
"quality": {
|
||||
"id": 20,
|
||||
"name": "Bluray-1080p Remux",
|
||||
"source": "blurayRaw",
|
||||
"resolution": 1080
|
||||
},
|
||||
"items": [],
|
||||
"allowed": true
|
||||
},
|
||||
{
|
||||
"quality": {
|
||||
"id": 16,
|
||||
"name": "HDTV-2160p",
|
||||
"source": "television",
|
||||
"resolution": 2160
|
||||
},
|
||||
"items": [],
|
||||
"allowed": false
|
||||
},
|
||||
{
|
||||
"quality": {
|
||||
"id": 17,
|
||||
"name": "WEBRip-2160p",
|
||||
"source": "webRip",
|
||||
"resolution": 2160
|
||||
},
|
||||
"items": [],
|
||||
"allowed": false
|
||||
},
|
||||
{
|
||||
"quality": {
|
||||
"id": 19,
|
||||
"name": "Bluray-2160p",
|
||||
"source": "bluray",
|
||||
"resolution": 2160
|
||||
},
|
||||
"items": [],
|
||||
"allowed": false
|
||||
},
|
||||
{
|
||||
"quality": {
|
||||
"id": 18,
|
||||
"name": "WEBDL-2160p",
|
||||
"source": "web",
|
||||
"resolution": 2160
|
||||
},
|
||||
"items": [],
|
||||
"allowed": false
|
||||
},
|
||||
{
|
||||
"quality": {
|
||||
"id": 21,
|
||||
"name": "Bluray-2160p Remux",
|
||||
"source": "blurayRaw",
|
||||
"resolution": 2160
|
||||
},
|
||||
"items": [],
|
||||
"allowed": false
|
||||
}
|
||||
],
|
||||
"minFormatScore": 0,
|
||||
"cutoffFormatScore": 1000,
|
||||
"formatItems": [
|
||||
{
|
||||
"format": 229,
|
||||
"name": "HR",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 228,
|
||||
"name": "MAX",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 227,
|
||||
"name": "h265 (4k)",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 226,
|
||||
"name": "PCM",
|
||||
"score": 30
|
||||
},
|
||||
{
|
||||
"format": 225,
|
||||
"name": "Blu-Ray (Remux)",
|
||||
"score": 60
|
||||
},
|
||||
{
|
||||
"format": 224,
|
||||
"name": "h265",
|
||||
"score": -9999
|
||||
},
|
||||
{
|
||||
"format": 214,
|
||||
"name": "LQ",
|
||||
"score": -9999
|
||||
},
|
||||
{
|
||||
"format": 213,
|
||||
"name": "EPSiLON",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 212,
|
||||
"name": "playBD",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 211,
|
||||
"name": "BLURANiUM",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 210,
|
||||
"name": "PmP",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 209,
|
||||
"name": "WiLDCAT",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 208,
|
||||
"name": "TRiToN",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 207,
|
||||
"name": "3L",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 206,
|
||||
"name": "Dolby Vision w/out Fallback",
|
||||
"score": -9999
|
||||
},
|
||||
{
|
||||
"format": 205,
|
||||
"name": "UHDBits",
|
||||
"score": -9999
|
||||
},
|
||||
{
|
||||
"format": 204,
|
||||
"name": "ATMOS (Missing)",
|
||||
"score": 10
|
||||
},
|
||||
{
|
||||
"format": 203,
|
||||
"name": "TrueHD (Missing)",
|
||||
"score": 50
|
||||
},
|
||||
{
|
||||
"format": 202,
|
||||
"name": "HDR10 (Missing)",
|
||||
"score": -9999
|
||||
},
|
||||
{
|
||||
"format": 201,
|
||||
"name": "HDR10",
|
||||
"score": -9999
|
||||
},
|
||||
{
|
||||
"format": 200,
|
||||
"name": "Dolby Vision",
|
||||
"score": -9999
|
||||
},
|
||||
{
|
||||
"format": 199,
|
||||
"name": "HDR10+",
|
||||
"score": -9999
|
||||
},
|
||||
{
|
||||
"format": 198,
|
||||
"name": "Stream Optimised",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 197,
|
||||
"name": "LoRD",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 196,
|
||||
"name": "Scene",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 195,
|
||||
"name": "mHD",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 194,
|
||||
"name": "AV-1",
|
||||
"score": -9999
|
||||
},
|
||||
{
|
||||
"format": 193,
|
||||
"name": "VVC",
|
||||
"score": -9999
|
||||
},
|
||||
{
|
||||
"format": 192,
|
||||
"name": "Extras",
|
||||
"score": -9999
|
||||
},
|
||||
{
|
||||
"format": 191,
|
||||
"name": "480p",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 190,
|
||||
"name": "Dariush ",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 189,
|
||||
"name": "TBB SD",
|
||||
"score": 30
|
||||
},
|
||||
{
|
||||
"format": 188,
|
||||
"name": "Xvid",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 187,
|
||||
"name": "DVD",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 186,
|
||||
"name": "DVD REMUX ",
|
||||
"score": 40
|
||||
},
|
||||
{
|
||||
"format": 185,
|
||||
"name": "HANDJOB SD",
|
||||
"score": 20
|
||||
},
|
||||
{
|
||||
"format": 184,
|
||||
"name": "iTunes (Missing)",
|
||||
"score": 10
|
||||
},
|
||||
{
|
||||
"format": 183,
|
||||
"name": "ROKU",
|
||||
"score": 20
|
||||
},
|
||||
{
|
||||
"format": 182,
|
||||
"name": "BeyondHD",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 181,
|
||||
"name": "Disc ",
|
||||
"score": -9999
|
||||
},
|
||||
{
|
||||
"format": 180,
|
||||
"name": "3D",
|
||||
"score": -9999
|
||||
},
|
||||
{
|
||||
"format": 179,
|
||||
"name": "Unwanted",
|
||||
"score": -9999
|
||||
},
|
||||
{
|
||||
"format": 178,
|
||||
"name": "RightSIZE",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 177,
|
||||
"name": "Black and White",
|
||||
"score": -9999
|
||||
},
|
||||
{
|
||||
"format": 176,
|
||||
"name": "TrueHD",
|
||||
"score": 50
|
||||
},
|
||||
{
|
||||
"format": 175,
|
||||
"name": "DTS-X",
|
||||
"score": 60
|
||||
},
|
||||
{
|
||||
"format": 174,
|
||||
"name": "FLAC",
|
||||
"score": 30
|
||||
},
|
||||
{
|
||||
"format": 173,
|
||||
"name": "DTS-HD MA",
|
||||
"score": 50
|
||||
},
|
||||
{
|
||||
"format": 172,
|
||||
"name": "x265",
|
||||
"score": -9999
|
||||
},
|
||||
{
|
||||
"format": 171,
|
||||
"name": "IMAX",
|
||||
"score": 10
|
||||
},
|
||||
{
|
||||
"format": 170,
|
||||
"name": "ATMOS",
|
||||
"score": 10
|
||||
},
|
||||
{
|
||||
"format": 169,
|
||||
"name": "DD",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 168,
|
||||
"name": "DTS",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 167,
|
||||
"name": "DD+",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 166,
|
||||
"name": "iTunes",
|
||||
"score": 10
|
||||
},
|
||||
{
|
||||
"format": 165,
|
||||
"name": "Paramount+",
|
||||
"score": 20
|
||||
},
|
||||
{
|
||||
"format": 164,
|
||||
"name": "Peacock TV",
|
||||
"score": 20
|
||||
},
|
||||
{
|
||||
"format": 163,
|
||||
"name": "Hulu",
|
||||
"score": 20
|
||||
},
|
||||
{
|
||||
"format": 162,
|
||||
"name": "Netflix",
|
||||
"score": 30
|
||||
},
|
||||
{
|
||||
"format": 161,
|
||||
"name": "HBO Max",
|
||||
"score": 30
|
||||
},
|
||||
{
|
||||
"format": 160,
|
||||
"name": "Disney+",
|
||||
"score": 30
|
||||
},
|
||||
{
|
||||
"format": 159,
|
||||
"name": "Apple TV+",
|
||||
"score": 40
|
||||
},
|
||||
{
|
||||
"format": 158,
|
||||
"name": "Movies Anywhere",
|
||||
"score": 50
|
||||
},
|
||||
{
|
||||
"format": 157,
|
||||
"name": "Amazon Prime",
|
||||
"score": 40
|
||||
},
|
||||
{
|
||||
"format": 156,
|
||||
"name": "REMUX",
|
||||
"score": 60
|
||||
},
|
||||
{
|
||||
"format": 155,
|
||||
"name": "x264",
|
||||
"score": 10
|
||||
},
|
||||
{
|
||||
"format": 154,
|
||||
"name": "WEBRip",
|
||||
"score": -9999
|
||||
},
|
||||
{
|
||||
"format": 153,
|
||||
"name": "Blu-Ray",
|
||||
"score": -9999
|
||||
},
|
||||
{
|
||||
"format": 152,
|
||||
"name": "2160p",
|
||||
"score": -9999
|
||||
},
|
||||
{
|
||||
"format": 151,
|
||||
"name": "720p",
|
||||
"score": -9999
|
||||
},
|
||||
{
|
||||
"format": 150,
|
||||
"name": "1080p",
|
||||
"score": 60
|
||||
},
|
||||
{
|
||||
"format": 149,
|
||||
"name": "BHDStudio",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 148,
|
||||
"name": "LEGi0N",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 147,
|
||||
"name": "FraMeSToR",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 146,
|
||||
"name": "iFT",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 145,
|
||||
"name": "MTeam",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 144,
|
||||
"name": "EDPH",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 143,
|
||||
"name": "HANDJOB",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 142,
|
||||
"name": "c0ke",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 141,
|
||||
"name": "KASHMiR",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 140,
|
||||
"name": "WMING",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 139,
|
||||
"name": "playHD",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 138,
|
||||
"name": "E.N.D",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 137,
|
||||
"name": "GutS",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 136,
|
||||
"name": "BV",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 135,
|
||||
"name": "SiMPLE",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 134,
|
||||
"name": "W4NK3R",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 133,
|
||||
"name": "GS88",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 132,
|
||||
"name": "HiP",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 131,
|
||||
"name": "GALAXY",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 130,
|
||||
"name": "luvBB",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 129,
|
||||
"name": "NyHD",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 128,
|
||||
"name": "ZIMBO",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 127,
|
||||
"name": "ThD",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 126,
|
||||
"name": "SaNcTi",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 125,
|
||||
"name": "ORiGEN",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 124,
|
||||
"name": "Positive",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 123,
|
||||
"name": "ESiR",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 122,
|
||||
"name": "Chotab",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 121,
|
||||
"name": "xander",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 120,
|
||||
"name": "FTW-HD",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 119,
|
||||
"name": "Penumbra",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 118,
|
||||
"name": "TDD",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 117,
|
||||
"name": "Dariush SD",
|
||||
"score": 30
|
||||
},
|
||||
{
|
||||
"format": 116,
|
||||
"name": "PTer",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 115,
|
||||
"name": "SbR",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 114,
|
||||
"name": "nmd",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 113,
|
||||
"name": "TBB",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 112,
|
||||
"name": "EA",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 111,
|
||||
"name": "BMF",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 110,
|
||||
"name": "LolHD",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 109,
|
||||
"name": "HDMaNiAcS",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 108,
|
||||
"name": "IDE",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 107,
|
||||
"name": "de[42]",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 106,
|
||||
"name": "NCmt",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 105,
|
||||
"name": "decibeL",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 104,
|
||||
"name": "NTb",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 103,
|
||||
"name": "CRiSC",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 102,
|
||||
"name": "SA89",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 101,
|
||||
"name": "HiDt",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 100,
|
||||
"name": "FoRM",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 99,
|
||||
"name": "HiFi",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 98,
|
||||
"name": "CtrlHD",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 97,
|
||||
"name": "VietHD",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 96,
|
||||
"name": "ZQ",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 95,
|
||||
"name": "TayTo",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 94,
|
||||
"name": "Geek",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 93,
|
||||
"name": "EbP",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 92,
|
||||
"name": "DON",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 91,
|
||||
"name": "D-Z0N3",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 215,
|
||||
"name": "CJ",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 216,
|
||||
"name": "pcroland",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 217,
|
||||
"name": "BTN",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 218,
|
||||
"name": "iON",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 219,
|
||||
"name": "AJP69",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 220,
|
||||
"name": "VLAD",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 221,
|
||||
"name": "hdalx",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 223,
|
||||
"name": "LiNG",
|
||||
"score": 0
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
@@ -0,0 +1,934 @@
|
||||
[
|
||||
{
|
||||
"name": "1080p Transparent (Double Grab)",
|
||||
"upgradeAllowed": true,
|
||||
"cutoff": 1001,
|
||||
"items": [
|
||||
{
|
||||
"quality": {
|
||||
"id": 0,
|
||||
"name": "Unknown",
|
||||
"source": "unknown",
|
||||
"resolution": 0
|
||||
},
|
||||
"items": [],
|
||||
"allowed": false
|
||||
},
|
||||
{
|
||||
"quality": {
|
||||
"id": 13,
|
||||
"name": "Bluray-480p",
|
||||
"source": "bluray",
|
||||
"resolution": 480
|
||||
},
|
||||
"items": [],
|
||||
"allowed": false
|
||||
},
|
||||
{
|
||||
"quality": {
|
||||
"id": 4,
|
||||
"name": "HDTV-720p",
|
||||
"source": "television",
|
||||
"resolution": 720
|
||||
},
|
||||
"items": [],
|
||||
"allowed": false
|
||||
},
|
||||
{
|
||||
"quality": {
|
||||
"id": 14,
|
||||
"name": "WEBRip-720p",
|
||||
"source": "webRip",
|
||||
"resolution": 720
|
||||
},
|
||||
"items": [],
|
||||
"allowed": false
|
||||
},
|
||||
{
|
||||
"quality": {
|
||||
"id": 5,
|
||||
"name": "WEBDL-720p",
|
||||
"source": "web",
|
||||
"resolution": 720
|
||||
},
|
||||
"items": [],
|
||||
"allowed": false
|
||||
},
|
||||
{
|
||||
"quality": {
|
||||
"id": 6,
|
||||
"name": "Bluray-720p",
|
||||
"source": "bluray",
|
||||
"resolution": 720
|
||||
},
|
||||
"items": [],
|
||||
"allowed": false
|
||||
},
|
||||
{
|
||||
"name": "Fallback SD",
|
||||
"items": [
|
||||
{
|
||||
"quality": {
|
||||
"id": 1,
|
||||
"name": "SDTV",
|
||||
"source": "television",
|
||||
"resolution": 480
|
||||
},
|
||||
"items": [],
|
||||
"allowed": true
|
||||
},
|
||||
{
|
||||
"quality": {
|
||||
"id": 12,
|
||||
"name": "WEBRip-480p",
|
||||
"source": "webRip",
|
||||
"resolution": 480
|
||||
},
|
||||
"items": [],
|
||||
"allowed": true
|
||||
},
|
||||
{
|
||||
"quality": {
|
||||
"id": 8,
|
||||
"name": "WEBDL-480p",
|
||||
"source": "web",
|
||||
"resolution": 480
|
||||
},
|
||||
"items": [],
|
||||
"allowed": true
|
||||
},
|
||||
{
|
||||
"quality": {
|
||||
"id": 2,
|
||||
"name": "DVD",
|
||||
"source": "dvd",
|
||||
"resolution": 480
|
||||
},
|
||||
"items": [],
|
||||
"allowed": true
|
||||
}
|
||||
],
|
||||
"allowed": true,
|
||||
"id": 1003
|
||||
},
|
||||
{
|
||||
"name": "Fallback 1080p",
|
||||
"items": [
|
||||
{
|
||||
"quality": {
|
||||
"id": 10,
|
||||
"name": "Raw-HD",
|
||||
"source": "televisionRaw",
|
||||
"resolution": 1080
|
||||
},
|
||||
"items": [],
|
||||
"allowed": true
|
||||
},
|
||||
{
|
||||
"quality": {
|
||||
"id": 9,
|
||||
"name": "HDTV-1080p",
|
||||
"source": "television",
|
||||
"resolution": 1080
|
||||
},
|
||||
"items": [],
|
||||
"allowed": true
|
||||
}
|
||||
],
|
||||
"allowed": true,
|
||||
"id": 1002
|
||||
},
|
||||
{
|
||||
"name": "Transparent Capable",
|
||||
"items": [
|
||||
{
|
||||
"quality": {
|
||||
"id": 3,
|
||||
"name": "WEBDL-1080p",
|
||||
"source": "web",
|
||||
"resolution": 1080
|
||||
},
|
||||
"items": [],
|
||||
"allowed": true
|
||||
},
|
||||
{
|
||||
"quality": {
|
||||
"id": 15,
|
||||
"name": "WEBRip-1080p",
|
||||
"source": "webRip",
|
||||
"resolution": 1080
|
||||
},
|
||||
"items": [],
|
||||
"allowed": true
|
||||
},
|
||||
{
|
||||
"quality": {
|
||||
"id": 7,
|
||||
"name": "Bluray-1080p",
|
||||
"source": "bluray",
|
||||
"resolution": 1080
|
||||
},
|
||||
"items": [],
|
||||
"allowed": true
|
||||
}
|
||||
],
|
||||
"allowed": true,
|
||||
"id": 1001
|
||||
},
|
||||
{
|
||||
"quality": {
|
||||
"id": 20,
|
||||
"name": "Bluray-1080p Remux",
|
||||
"source": "blurayRaw",
|
||||
"resolution": 1080
|
||||
},
|
||||
"items": [],
|
||||
"allowed": false
|
||||
},
|
||||
{
|
||||
"quality": {
|
||||
"id": 16,
|
||||
"name": "HDTV-2160p",
|
||||
"source": "television",
|
||||
"resolution": 2160
|
||||
},
|
||||
"items": [],
|
||||
"allowed": false
|
||||
},
|
||||
{
|
||||
"quality": {
|
||||
"id": 17,
|
||||
"name": "WEBRip-2160p",
|
||||
"source": "webRip",
|
||||
"resolution": 2160
|
||||
},
|
||||
"items": [],
|
||||
"allowed": false
|
||||
},
|
||||
{
|
||||
"quality": {
|
||||
"id": 18,
|
||||
"name": "WEBDL-2160p",
|
||||
"source": "web",
|
||||
"resolution": 2160
|
||||
},
|
||||
"items": [],
|
||||
"allowed": false
|
||||
},
|
||||
{
|
||||
"quality": {
|
||||
"id": 19,
|
||||
"name": "Bluray-2160p",
|
||||
"source": "bluray",
|
||||
"resolution": 2160
|
||||
},
|
||||
"items": [],
|
||||
"allowed": false
|
||||
},
|
||||
{
|
||||
"quality": {
|
||||
"id": 21,
|
||||
"name": "Bluray-2160p Remux",
|
||||
"source": "blurayRaw",
|
||||
"resolution": 2160
|
||||
},
|
||||
"items": [],
|
||||
"allowed": false
|
||||
}
|
||||
],
|
||||
"minFormatScore": 0,
|
||||
"cutoffFormatScore": 140,
|
||||
"formatItems": [
|
||||
{
|
||||
"format": 229,
|
||||
"name": "HR",
|
||||
"score": 30
|
||||
},
|
||||
{
|
||||
"format": 228,
|
||||
"name": "MAX",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 227,
|
||||
"name": "h265 (4k)",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 226,
|
||||
"name": "PCM",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 225,
|
||||
"name": "Blu-Ray (Remux)",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 224,
|
||||
"name": "h265",
|
||||
"score": -9999
|
||||
},
|
||||
{
|
||||
"format": 223,
|
||||
"name": "LiNG",
|
||||
"score": 80
|
||||
},
|
||||
{
|
||||
"format": 221,
|
||||
"name": "hdalx",
|
||||
"score": 80
|
||||
},
|
||||
{
|
||||
"format": 220,
|
||||
"name": "VLAD",
|
||||
"score": 80
|
||||
},
|
||||
{
|
||||
"format": 219,
|
||||
"name": "AJP69",
|
||||
"score": 80
|
||||
},
|
||||
{
|
||||
"format": 218,
|
||||
"name": "iON",
|
||||
"score": 80
|
||||
},
|
||||
{
|
||||
"format": 217,
|
||||
"name": "BTN",
|
||||
"score": 30
|
||||
},
|
||||
{
|
||||
"format": 216,
|
||||
"name": "pcroland",
|
||||
"score": 80
|
||||
},
|
||||
{
|
||||
"format": 215,
|
||||
"name": "CJ",
|
||||
"score": 80
|
||||
},
|
||||
{
|
||||
"format": 214,
|
||||
"name": "LQ",
|
||||
"score": -9999
|
||||
},
|
||||
{
|
||||
"format": 213,
|
||||
"name": "EPSiLON",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 212,
|
||||
"name": "playBD",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 211,
|
||||
"name": "BLURANiUM",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 210,
|
||||
"name": "PmP",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 209,
|
||||
"name": "WiLDCAT",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 208,
|
||||
"name": "TRiToN",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 207,
|
||||
"name": "3L",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 206,
|
||||
"name": "Dolby Vision w/out Fallback",
|
||||
"score": -9999
|
||||
},
|
||||
{
|
||||
"format": 205,
|
||||
"name": "UHDBits",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 204,
|
||||
"name": "ATMOS (Missing)",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 203,
|
||||
"name": "TrueHD (Missing)",
|
||||
"score": -9999
|
||||
},
|
||||
{
|
||||
"format": 202,
|
||||
"name": "HDR10 (Missing)",
|
||||
"score": -9999
|
||||
},
|
||||
{
|
||||
"format": 201,
|
||||
"name": "HDR10",
|
||||
"score": -9999
|
||||
},
|
||||
{
|
||||
"format": 200,
|
||||
"name": "Dolby Vision",
|
||||
"score": -9999
|
||||
},
|
||||
{
|
||||
"format": 199,
|
||||
"name": "HDR10+",
|
||||
"score": -9999
|
||||
},
|
||||
{
|
||||
"format": 198,
|
||||
"name": "Stream Optimised",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 197,
|
||||
"name": "LoRD",
|
||||
"score": 70
|
||||
},
|
||||
{
|
||||
"format": 196,
|
||||
"name": "Scene",
|
||||
"score": 30
|
||||
},
|
||||
{
|
||||
"format": 195,
|
||||
"name": "mHD",
|
||||
"score": -999999
|
||||
},
|
||||
{
|
||||
"format": 194,
|
||||
"name": "AV-1",
|
||||
"score": -9999
|
||||
},
|
||||
{
|
||||
"format": 193,
|
||||
"name": "VVC",
|
||||
"score": -9999
|
||||
},
|
||||
{
|
||||
"format": 192,
|
||||
"name": "Extras",
|
||||
"score": -9999
|
||||
},
|
||||
{
|
||||
"format": 191,
|
||||
"name": "480p",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 190,
|
||||
"name": "Dariush ",
|
||||
"score": 20
|
||||
},
|
||||
{
|
||||
"format": 189,
|
||||
"name": "TBB SD",
|
||||
"score": 30
|
||||
},
|
||||
{
|
||||
"format": 188,
|
||||
"name": "Xvid",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 187,
|
||||
"name": "DVD",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 186,
|
||||
"name": "DVD REMUX ",
|
||||
"score": 40
|
||||
},
|
||||
{
|
||||
"format": 185,
|
||||
"name": "HANDJOB SD",
|
||||
"score": 20
|
||||
},
|
||||
{
|
||||
"format": 184,
|
||||
"name": "iTunes (Missing)",
|
||||
"score": 60
|
||||
},
|
||||
{
|
||||
"format": 183,
|
||||
"name": "ROKU",
|
||||
"score": 60
|
||||
},
|
||||
{
|
||||
"format": 182,
|
||||
"name": "BeyondHD",
|
||||
"score": -10000
|
||||
},
|
||||
{
|
||||
"format": 181,
|
||||
"name": "Disc ",
|
||||
"score": -9999
|
||||
},
|
||||
{
|
||||
"format": 180,
|
||||
"name": "3D",
|
||||
"score": -9999
|
||||
},
|
||||
{
|
||||
"format": 179,
|
||||
"name": "Unwanted",
|
||||
"score": -9999
|
||||
},
|
||||
{
|
||||
"format": 178,
|
||||
"name": "RightSIZE",
|
||||
"score": 70
|
||||
},
|
||||
{
|
||||
"format": 177,
|
||||
"name": "Black and White",
|
||||
"score": -9999
|
||||
},
|
||||
{
|
||||
"format": 176,
|
||||
"name": "TrueHD",
|
||||
"score": -9999
|
||||
},
|
||||
{
|
||||
"format": 175,
|
||||
"name": "DTS-X",
|
||||
"score": -9999
|
||||
},
|
||||
{
|
||||
"format": 174,
|
||||
"name": "FLAC",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 173,
|
||||
"name": "DTS-HD MA",
|
||||
"score": -9999
|
||||
},
|
||||
{
|
||||
"format": 172,
|
||||
"name": "x265",
|
||||
"score": -9999
|
||||
},
|
||||
{
|
||||
"format": 171,
|
||||
"name": "IMAX",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 170,
|
||||
"name": "ATMOS",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 169,
|
||||
"name": "DD",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 168,
|
||||
"name": "DTS",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 167,
|
||||
"name": "DD+",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 166,
|
||||
"name": "iTunes",
|
||||
"score": 60
|
||||
},
|
||||
{
|
||||
"format": 165,
|
||||
"name": "Paramount+",
|
||||
"score": 60
|
||||
},
|
||||
{
|
||||
"format": 164,
|
||||
"name": "Peacock TV",
|
||||
"score": 60
|
||||
},
|
||||
{
|
||||
"format": 163,
|
||||
"name": "Hulu",
|
||||
"score": 60
|
||||
},
|
||||
{
|
||||
"format": 162,
|
||||
"name": "Netflix",
|
||||
"score": 60
|
||||
},
|
||||
{
|
||||
"format": 161,
|
||||
"name": "HBO Max",
|
||||
"score": 60
|
||||
},
|
||||
{
|
||||
"format": 160,
|
||||
"name": "Disney+",
|
||||
"score": 60
|
||||
},
|
||||
{
|
||||
"format": 159,
|
||||
"name": "Apple TV+",
|
||||
"score": 60
|
||||
},
|
||||
{
|
||||
"format": 158,
|
||||
"name": "Movies Anywhere",
|
||||
"score": 60
|
||||
},
|
||||
{
|
||||
"format": 157,
|
||||
"name": "Amazon Prime",
|
||||
"score": 60
|
||||
},
|
||||
{
|
||||
"format": 156,
|
||||
"name": "REMUX",
|
||||
"score": -9999
|
||||
},
|
||||
{
|
||||
"format": 155,
|
||||
"name": "x264",
|
||||
"score": 10
|
||||
},
|
||||
{
|
||||
"format": 154,
|
||||
"name": "WEBRip",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 153,
|
||||
"name": "Blu-Ray",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 152,
|
||||
"name": "2160p",
|
||||
"score": -9999
|
||||
},
|
||||
{
|
||||
"format": 151,
|
||||
"name": "720p",
|
||||
"score": -10000
|
||||
},
|
||||
{
|
||||
"format": 150,
|
||||
"name": "1080p",
|
||||
"score": 60
|
||||
},
|
||||
{
|
||||
"format": 149,
|
||||
"name": "BHDStudio",
|
||||
"score": 50
|
||||
},
|
||||
{
|
||||
"format": 148,
|
||||
"name": "LEGi0N",
|
||||
"score": 30
|
||||
},
|
||||
{
|
||||
"format": 147,
|
||||
"name": "FraMeSToR",
|
||||
"score": 30
|
||||
},
|
||||
{
|
||||
"format": 146,
|
||||
"name": "iFT",
|
||||
"score": 70
|
||||
},
|
||||
{
|
||||
"format": 145,
|
||||
"name": "MTeam",
|
||||
"score": -9999
|
||||
},
|
||||
{
|
||||
"format": 144,
|
||||
"name": "EDPH",
|
||||
"score": 30
|
||||
},
|
||||
{
|
||||
"format": 143,
|
||||
"name": "HANDJOB",
|
||||
"score": 30
|
||||
},
|
||||
{
|
||||
"format": 142,
|
||||
"name": "c0ke",
|
||||
"score": 110
|
||||
},
|
||||
{
|
||||
"format": 141,
|
||||
"name": "KASHMiR",
|
||||
"score": 70
|
||||
},
|
||||
{
|
||||
"format": 140,
|
||||
"name": "WMING",
|
||||
"score": 70
|
||||
},
|
||||
{
|
||||
"format": 139,
|
||||
"name": "playHD",
|
||||
"score": 70
|
||||
},
|
||||
{
|
||||
"format": 138,
|
||||
"name": "E.N.D",
|
||||
"score": 70
|
||||
},
|
||||
{
|
||||
"format": 137,
|
||||
"name": "GutS",
|
||||
"score": 70
|
||||
},
|
||||
{
|
||||
"format": 136,
|
||||
"name": "BV",
|
||||
"score": 70
|
||||
},
|
||||
{
|
||||
"format": 135,
|
||||
"name": "SiMPLE",
|
||||
"score": 70
|
||||
},
|
||||
{
|
||||
"format": 134,
|
||||
"name": "W4NK3R",
|
||||
"score": 70
|
||||
},
|
||||
{
|
||||
"format": 133,
|
||||
"name": "GS88",
|
||||
"score": 70
|
||||
},
|
||||
{
|
||||
"format": 132,
|
||||
"name": "HiP",
|
||||
"score": 80
|
||||
},
|
||||
{
|
||||
"format": 131,
|
||||
"name": "GALAXY",
|
||||
"score": 70
|
||||
},
|
||||
{
|
||||
"format": 130,
|
||||
"name": "luvBB",
|
||||
"score": 70
|
||||
},
|
||||
{
|
||||
"format": 129,
|
||||
"name": "NyHD",
|
||||
"score": 70
|
||||
},
|
||||
{
|
||||
"format": 128,
|
||||
"name": "ZIMBO",
|
||||
"score": 70
|
||||
},
|
||||
{
|
||||
"format": 127,
|
||||
"name": "ThD",
|
||||
"score": 70
|
||||
},
|
||||
{
|
||||
"format": 126,
|
||||
"name": "SaNcTi",
|
||||
"score": 70
|
||||
},
|
||||
{
|
||||
"format": 125,
|
||||
"name": "ORiGEN",
|
||||
"score": 70
|
||||
},
|
||||
{
|
||||
"format": 124,
|
||||
"name": "Positive",
|
||||
"score": 70
|
||||
},
|
||||
{
|
||||
"format": 123,
|
||||
"name": "ESiR",
|
||||
"score": 70
|
||||
},
|
||||
{
|
||||
"format": 122,
|
||||
"name": "Chotab",
|
||||
"score": 70
|
||||
},
|
||||
{
|
||||
"format": 121,
|
||||
"name": "xander",
|
||||
"score": 70
|
||||
},
|
||||
{
|
||||
"format": 120,
|
||||
"name": "FTW-HD",
|
||||
"score": 70
|
||||
},
|
||||
{
|
||||
"format": 119,
|
||||
"name": "Penumbra",
|
||||
"score": 70
|
||||
},
|
||||
{
|
||||
"format": 118,
|
||||
"name": "TDD",
|
||||
"score": 70
|
||||
},
|
||||
{
|
||||
"format": 117,
|
||||
"name": "Dariush SD",
|
||||
"score": 70
|
||||
},
|
||||
{
|
||||
"format": 116,
|
||||
"name": "PTer",
|
||||
"score": 70
|
||||
},
|
||||
{
|
||||
"format": 115,
|
||||
"name": "SbR",
|
||||
"score": 70
|
||||
},
|
||||
{
|
||||
"format": 114,
|
||||
"name": "nmd",
|
||||
"score": 70
|
||||
},
|
||||
{
|
||||
"format": 113,
|
||||
"name": "TBB",
|
||||
"score": 70
|
||||
},
|
||||
{
|
||||
"format": 112,
|
||||
"name": "EA",
|
||||
"score": 80
|
||||
},
|
||||
{
|
||||
"format": 111,
|
||||
"name": "BMF",
|
||||
"score": 80
|
||||
},
|
||||
{
|
||||
"format": 110,
|
||||
"name": "LolHD",
|
||||
"score": 80
|
||||
},
|
||||
{
|
||||
"format": 109,
|
||||
"name": "HDMaNiAcS",
|
||||
"score": 80
|
||||
},
|
||||
{
|
||||
"format": 108,
|
||||
"name": "IDE",
|
||||
"score": 80
|
||||
},
|
||||
{
|
||||
"format": 107,
|
||||
"name": "de[42]",
|
||||
"score": 90
|
||||
},
|
||||
{
|
||||
"format": 106,
|
||||
"name": "NCmt",
|
||||
"score": 100
|
||||
},
|
||||
{
|
||||
"format": 105,
|
||||
"name": "decibeL",
|
||||
"score": 90
|
||||
},
|
||||
{
|
||||
"format": 104,
|
||||
"name": "NTb",
|
||||
"score": 80
|
||||
},
|
||||
{
|
||||
"format": 103,
|
||||
"name": "CRiSC",
|
||||
"score": 90
|
||||
},
|
||||
{
|
||||
"format": 102,
|
||||
"name": "SA89",
|
||||
"score": 100
|
||||
},
|
||||
{
|
||||
"format": 101,
|
||||
"name": "HiDt",
|
||||
"score": 100
|
||||
},
|
||||
{
|
||||
"format": 100,
|
||||
"name": "FoRM",
|
||||
"score": 100
|
||||
},
|
||||
{
|
||||
"format": 99,
|
||||
"name": "HiFi",
|
||||
"score": 100
|
||||
},
|
||||
{
|
||||
"format": 98,
|
||||
"name": "CtrlHD",
|
||||
"score": 100
|
||||
},
|
||||
{
|
||||
"format": 97,
|
||||
"name": "VietHD",
|
||||
"score": 110
|
||||
},
|
||||
{
|
||||
"format": 96,
|
||||
"name": "ZQ",
|
||||
"score": 110
|
||||
},
|
||||
{
|
||||
"format": 95,
|
||||
"name": "TayTo",
|
||||
"score": 110
|
||||
},
|
||||
{
|
||||
"format": 94,
|
||||
"name": "Geek",
|
||||
"score": 110
|
||||
},
|
||||
{
|
||||
"format": 93,
|
||||
"name": "EbP",
|
||||
"score": 120
|
||||
},
|
||||
{
|
||||
"format": 92,
|
||||
"name": "DON",
|
||||
"score": 120
|
||||
},
|
||||
{
|
||||
"format": 91,
|
||||
"name": "D-Z0N3",
|
||||
"score": 120
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
@@ -0,0 +1,934 @@
|
||||
[
|
||||
{
|
||||
"name": "1080p Transparent (Single Grab)",
|
||||
"upgradeAllowed": true,
|
||||
"cutoff": 1001,
|
||||
"items": [
|
||||
{
|
||||
"quality": {
|
||||
"id": 0,
|
||||
"name": "Unknown",
|
||||
"source": "unknown",
|
||||
"resolution": 0
|
||||
},
|
||||
"items": [],
|
||||
"allowed": false
|
||||
},
|
||||
{
|
||||
"quality": {
|
||||
"id": 13,
|
||||
"name": "Bluray-480p",
|
||||
"source": "bluray",
|
||||
"resolution": 480
|
||||
},
|
||||
"items": [],
|
||||
"allowed": false
|
||||
},
|
||||
{
|
||||
"quality": {
|
||||
"id": 4,
|
||||
"name": "HDTV-720p",
|
||||
"source": "television",
|
||||
"resolution": 720
|
||||
},
|
||||
"items": [],
|
||||
"allowed": false
|
||||
},
|
||||
{
|
||||
"quality": {
|
||||
"id": 14,
|
||||
"name": "WEBRip-720p",
|
||||
"source": "webRip",
|
||||
"resolution": 720
|
||||
},
|
||||
"items": [],
|
||||
"allowed": false
|
||||
},
|
||||
{
|
||||
"quality": {
|
||||
"id": 5,
|
||||
"name": "WEBDL-720p",
|
||||
"source": "web",
|
||||
"resolution": 720
|
||||
},
|
||||
"items": [],
|
||||
"allowed": false
|
||||
},
|
||||
{
|
||||
"quality": {
|
||||
"id": 6,
|
||||
"name": "Bluray-720p",
|
||||
"source": "bluray",
|
||||
"resolution": 720
|
||||
},
|
||||
"items": [],
|
||||
"allowed": false
|
||||
},
|
||||
{
|
||||
"name": "Fallback SD",
|
||||
"items": [
|
||||
{
|
||||
"quality": {
|
||||
"id": 1,
|
||||
"name": "SDTV",
|
||||
"source": "television",
|
||||
"resolution": 480
|
||||
},
|
||||
"items": [],
|
||||
"allowed": true
|
||||
},
|
||||
{
|
||||
"quality": {
|
||||
"id": 12,
|
||||
"name": "WEBRip-480p",
|
||||
"source": "webRip",
|
||||
"resolution": 480
|
||||
},
|
||||
"items": [],
|
||||
"allowed": true
|
||||
},
|
||||
{
|
||||
"quality": {
|
||||
"id": 8,
|
||||
"name": "WEBDL-480p",
|
||||
"source": "web",
|
||||
"resolution": 480
|
||||
},
|
||||
"items": [],
|
||||
"allowed": true
|
||||
},
|
||||
{
|
||||
"quality": {
|
||||
"id": 2,
|
||||
"name": "DVD",
|
||||
"source": "dvd",
|
||||
"resolution": 480
|
||||
},
|
||||
"items": [],
|
||||
"allowed": true
|
||||
}
|
||||
],
|
||||
"allowed": true,
|
||||
"id": 1003
|
||||
},
|
||||
{
|
||||
"name": "Fallback 1080p",
|
||||
"items": [
|
||||
{
|
||||
"quality": {
|
||||
"id": 10,
|
||||
"name": "Raw-HD",
|
||||
"source": "televisionRaw",
|
||||
"resolution": 1080
|
||||
},
|
||||
"items": [],
|
||||
"allowed": true
|
||||
},
|
||||
{
|
||||
"quality": {
|
||||
"id": 9,
|
||||
"name": "HDTV-1080p",
|
||||
"source": "television",
|
||||
"resolution": 1080
|
||||
},
|
||||
"items": [],
|
||||
"allowed": true
|
||||
}
|
||||
],
|
||||
"allowed": true,
|
||||
"id": 1002
|
||||
},
|
||||
{
|
||||
"name": "Transparent Capable",
|
||||
"items": [
|
||||
{
|
||||
"quality": {
|
||||
"id": 3,
|
||||
"name": "WEBDL-1080p",
|
||||
"source": "web",
|
||||
"resolution": 1080
|
||||
},
|
||||
"items": [],
|
||||
"allowed": true
|
||||
},
|
||||
{
|
||||
"quality": {
|
||||
"id": 15,
|
||||
"name": "WEBRip-1080p",
|
||||
"source": "webRip",
|
||||
"resolution": 1080
|
||||
},
|
||||
"items": [],
|
||||
"allowed": true
|
||||
},
|
||||
{
|
||||
"quality": {
|
||||
"id": 7,
|
||||
"name": "Bluray-1080p",
|
||||
"source": "bluray",
|
||||
"resolution": 1080
|
||||
},
|
||||
"items": [],
|
||||
"allowed": true
|
||||
}
|
||||
],
|
||||
"allowed": true,
|
||||
"id": 1001
|
||||
},
|
||||
{
|
||||
"quality": {
|
||||
"id": 20,
|
||||
"name": "Bluray-1080p Remux",
|
||||
"source": "blurayRaw",
|
||||
"resolution": 1080
|
||||
},
|
||||
"items": [],
|
||||
"allowed": false
|
||||
},
|
||||
{
|
||||
"quality": {
|
||||
"id": 16,
|
||||
"name": "HDTV-2160p",
|
||||
"source": "television",
|
||||
"resolution": 2160
|
||||
},
|
||||
"items": [],
|
||||
"allowed": false
|
||||
},
|
||||
{
|
||||
"quality": {
|
||||
"id": 17,
|
||||
"name": "WEBRip-2160p",
|
||||
"source": "webRip",
|
||||
"resolution": 2160
|
||||
},
|
||||
"items": [],
|
||||
"allowed": false
|
||||
},
|
||||
{
|
||||
"quality": {
|
||||
"id": 18,
|
||||
"name": "WEBDL-2160p",
|
||||
"source": "web",
|
||||
"resolution": 2160
|
||||
},
|
||||
"items": [],
|
||||
"allowed": false
|
||||
},
|
||||
{
|
||||
"quality": {
|
||||
"id": 19,
|
||||
"name": "Bluray-2160p",
|
||||
"source": "bluray",
|
||||
"resolution": 2160
|
||||
},
|
||||
"items": [],
|
||||
"allowed": false
|
||||
},
|
||||
{
|
||||
"quality": {
|
||||
"id": 21,
|
||||
"name": "Bluray-2160p Remux",
|
||||
"source": "blurayRaw",
|
||||
"resolution": 2160
|
||||
},
|
||||
"items": [],
|
||||
"allowed": false
|
||||
}
|
||||
],
|
||||
"minFormatScore": 0,
|
||||
"cutoffFormatScore": 0,
|
||||
"formatItems": [
|
||||
{
|
||||
"format": 229,
|
||||
"name": "HR",
|
||||
"score": 30
|
||||
},
|
||||
{
|
||||
"format": 228,
|
||||
"name": "MAX",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 227,
|
||||
"name": "h265 (4k)",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 226,
|
||||
"name": "PCM",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 225,
|
||||
"name": "Blu-Ray (Remux)",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 224,
|
||||
"name": "h265",
|
||||
"score": -9999
|
||||
},
|
||||
{
|
||||
"format": 223,
|
||||
"name": "LiNG",
|
||||
"score": 80
|
||||
},
|
||||
{
|
||||
"format": 221,
|
||||
"name": "hdalx",
|
||||
"score": 80
|
||||
},
|
||||
{
|
||||
"format": 220,
|
||||
"name": "VLAD",
|
||||
"score": 80
|
||||
},
|
||||
{
|
||||
"format": 219,
|
||||
"name": "AJP69",
|
||||
"score": 80
|
||||
},
|
||||
{
|
||||
"format": 218,
|
||||
"name": "iON",
|
||||
"score": 80
|
||||
},
|
||||
{
|
||||
"format": 217,
|
||||
"name": "BTN",
|
||||
"score": 30
|
||||
},
|
||||
{
|
||||
"format": 216,
|
||||
"name": "pcroland",
|
||||
"score": 80
|
||||
},
|
||||
{
|
||||
"format": 215,
|
||||
"name": "CJ",
|
||||
"score": 80
|
||||
},
|
||||
{
|
||||
"format": 214,
|
||||
"name": "LQ",
|
||||
"score": -9999
|
||||
},
|
||||
{
|
||||
"format": 213,
|
||||
"name": "EPSiLON",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 212,
|
||||
"name": "playBD",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 211,
|
||||
"name": "BLURANiUM",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 210,
|
||||
"name": "PmP",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 209,
|
||||
"name": "WiLDCAT",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 208,
|
||||
"name": "TRiToN",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 207,
|
||||
"name": "3L",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 206,
|
||||
"name": "Dolby Vision w/out Fallback",
|
||||
"score": -9999
|
||||
},
|
||||
{
|
||||
"format": 205,
|
||||
"name": "UHDBits",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 204,
|
||||
"name": "ATMOS (Missing)",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 203,
|
||||
"name": "TrueHD (Missing)",
|
||||
"score": -9999
|
||||
},
|
||||
{
|
||||
"format": 202,
|
||||
"name": "HDR10 (Missing)",
|
||||
"score": -9999
|
||||
},
|
||||
{
|
||||
"format": 201,
|
||||
"name": "HDR10",
|
||||
"score": -9999
|
||||
},
|
||||
{
|
||||
"format": 200,
|
||||
"name": "Dolby Vision",
|
||||
"score": -9999
|
||||
},
|
||||
{
|
||||
"format": 199,
|
||||
"name": "HDR10+",
|
||||
"score": -9999
|
||||
},
|
||||
{
|
||||
"format": 198,
|
||||
"name": "Stream Optimised",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 197,
|
||||
"name": "LoRD",
|
||||
"score": 70
|
||||
},
|
||||
{
|
||||
"format": 196,
|
||||
"name": "Scene",
|
||||
"score": 30
|
||||
},
|
||||
{
|
||||
"format": 195,
|
||||
"name": "mHD",
|
||||
"score": -999999
|
||||
},
|
||||
{
|
||||
"format": 194,
|
||||
"name": "AV-1",
|
||||
"score": -9999
|
||||
},
|
||||
{
|
||||
"format": 193,
|
||||
"name": "VVC",
|
||||
"score": -9999
|
||||
},
|
||||
{
|
||||
"format": 192,
|
||||
"name": "Extras",
|
||||
"score": -9999
|
||||
},
|
||||
{
|
||||
"format": 191,
|
||||
"name": "480p",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 190,
|
||||
"name": "Dariush ",
|
||||
"score": 20
|
||||
},
|
||||
{
|
||||
"format": 189,
|
||||
"name": "TBB SD",
|
||||
"score": 30
|
||||
},
|
||||
{
|
||||
"format": 188,
|
||||
"name": "Xvid",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 187,
|
||||
"name": "DVD",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 186,
|
||||
"name": "DVD REMUX ",
|
||||
"score": 40
|
||||
},
|
||||
{
|
||||
"format": 185,
|
||||
"name": "HANDJOB SD",
|
||||
"score": 20
|
||||
},
|
||||
{
|
||||
"format": 184,
|
||||
"name": "iTunes (Missing)",
|
||||
"score": 20
|
||||
},
|
||||
{
|
||||
"format": 183,
|
||||
"name": "ROKU",
|
||||
"score": 30
|
||||
},
|
||||
{
|
||||
"format": 182,
|
||||
"name": "BeyondHD",
|
||||
"score": -10000
|
||||
},
|
||||
{
|
||||
"format": 181,
|
||||
"name": "Disc ",
|
||||
"score": -9999
|
||||
},
|
||||
{
|
||||
"format": 180,
|
||||
"name": "3D",
|
||||
"score": -9999
|
||||
},
|
||||
{
|
||||
"format": 179,
|
||||
"name": "Unwanted",
|
||||
"score": -9999
|
||||
},
|
||||
{
|
||||
"format": 178,
|
||||
"name": "RightSIZE",
|
||||
"score": 70
|
||||
},
|
||||
{
|
||||
"format": 177,
|
||||
"name": "Black and White",
|
||||
"score": -9999
|
||||
},
|
||||
{
|
||||
"format": 176,
|
||||
"name": "TrueHD",
|
||||
"score": -9999
|
||||
},
|
||||
{
|
||||
"format": 175,
|
||||
"name": "DTS-X",
|
||||
"score": -9999
|
||||
},
|
||||
{
|
||||
"format": 174,
|
||||
"name": "FLAC",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 173,
|
||||
"name": "DTS-HD MA",
|
||||
"score": -9999
|
||||
},
|
||||
{
|
||||
"format": 172,
|
||||
"name": "x265",
|
||||
"score": -9999
|
||||
},
|
||||
{
|
||||
"format": 171,
|
||||
"name": "IMAX",
|
||||
"score": 10
|
||||
},
|
||||
{
|
||||
"format": 170,
|
||||
"name": "ATMOS",
|
||||
"score": 5
|
||||
},
|
||||
{
|
||||
"format": 169,
|
||||
"name": "DD",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 168,
|
||||
"name": "DTS",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 167,
|
||||
"name": "DD+",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 166,
|
||||
"name": "iTunes",
|
||||
"score": 20
|
||||
},
|
||||
{
|
||||
"format": 165,
|
||||
"name": "Paramount+",
|
||||
"score": 30
|
||||
},
|
||||
{
|
||||
"format": 164,
|
||||
"name": "Peacock TV",
|
||||
"score": 30
|
||||
},
|
||||
{
|
||||
"format": 163,
|
||||
"name": "Hulu",
|
||||
"score": 30
|
||||
},
|
||||
{
|
||||
"format": 162,
|
||||
"name": "Netflix",
|
||||
"score": 40
|
||||
},
|
||||
{
|
||||
"format": 161,
|
||||
"name": "HBO Max",
|
||||
"score": 40
|
||||
},
|
||||
{
|
||||
"format": 160,
|
||||
"name": "Disney+",
|
||||
"score": 40
|
||||
},
|
||||
{
|
||||
"format": 159,
|
||||
"name": "Apple TV+",
|
||||
"score": 50
|
||||
},
|
||||
{
|
||||
"format": 158,
|
||||
"name": "Movies Anywhere",
|
||||
"score": 60
|
||||
},
|
||||
{
|
||||
"format": 157,
|
||||
"name": "Amazon Prime",
|
||||
"score": 50
|
||||
},
|
||||
{
|
||||
"format": 156,
|
||||
"name": "REMUX",
|
||||
"score": -9999
|
||||
},
|
||||
{
|
||||
"format": 155,
|
||||
"name": "x264",
|
||||
"score": 10
|
||||
},
|
||||
{
|
||||
"format": 154,
|
||||
"name": "WEBRip",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 153,
|
||||
"name": "Blu-Ray",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 152,
|
||||
"name": "2160p",
|
||||
"score": -9999
|
||||
},
|
||||
{
|
||||
"format": 151,
|
||||
"name": "720p",
|
||||
"score": -10000
|
||||
},
|
||||
{
|
||||
"format": 150,
|
||||
"name": "1080p",
|
||||
"score": 60
|
||||
},
|
||||
{
|
||||
"format": 149,
|
||||
"name": "BHDStudio",
|
||||
"score": 30
|
||||
},
|
||||
{
|
||||
"format": 148,
|
||||
"name": "LEGi0N",
|
||||
"score": 30
|
||||
},
|
||||
{
|
||||
"format": 147,
|
||||
"name": "FraMeSToR",
|
||||
"score": 30
|
||||
},
|
||||
{
|
||||
"format": 146,
|
||||
"name": "iFT",
|
||||
"score": 70
|
||||
},
|
||||
{
|
||||
"format": 145,
|
||||
"name": "MTeam",
|
||||
"score": -9999
|
||||
},
|
||||
{
|
||||
"format": 144,
|
||||
"name": "EDPH",
|
||||
"score": 30
|
||||
},
|
||||
{
|
||||
"format": 143,
|
||||
"name": "HANDJOB",
|
||||
"score": 30
|
||||
},
|
||||
{
|
||||
"format": 142,
|
||||
"name": "c0ke",
|
||||
"score": 110
|
||||
},
|
||||
{
|
||||
"format": 141,
|
||||
"name": "KASHMiR",
|
||||
"score": 70
|
||||
},
|
||||
{
|
||||
"format": 140,
|
||||
"name": "WMING",
|
||||
"score": 70
|
||||
},
|
||||
{
|
||||
"format": 139,
|
||||
"name": "playHD",
|
||||
"score": 70
|
||||
},
|
||||
{
|
||||
"format": 138,
|
||||
"name": "E.N.D",
|
||||
"score": 70
|
||||
},
|
||||
{
|
||||
"format": 137,
|
||||
"name": "GutS",
|
||||
"score": 70
|
||||
},
|
||||
{
|
||||
"format": 136,
|
||||
"name": "BV",
|
||||
"score": 70
|
||||
},
|
||||
{
|
||||
"format": 135,
|
||||
"name": "SiMPLE",
|
||||
"score": 70
|
||||
},
|
||||
{
|
||||
"format": 134,
|
||||
"name": "W4NK3R",
|
||||
"score": 70
|
||||
},
|
||||
{
|
||||
"format": 133,
|
||||
"name": "GS88",
|
||||
"score": 70
|
||||
},
|
||||
{
|
||||
"format": 132,
|
||||
"name": "HiP",
|
||||
"score": 80
|
||||
},
|
||||
{
|
||||
"format": 131,
|
||||
"name": "GALAXY",
|
||||
"score": 70
|
||||
},
|
||||
{
|
||||
"format": 130,
|
||||
"name": "luvBB",
|
||||
"score": 70
|
||||
},
|
||||
{
|
||||
"format": 129,
|
||||
"name": "NyHD",
|
||||
"score": 70
|
||||
},
|
||||
{
|
||||
"format": 128,
|
||||
"name": "ZIMBO",
|
||||
"score": 70
|
||||
},
|
||||
{
|
||||
"format": 127,
|
||||
"name": "ThD",
|
||||
"score": 70
|
||||
},
|
||||
{
|
||||
"format": 126,
|
||||
"name": "SaNcTi",
|
||||
"score": 70
|
||||
},
|
||||
{
|
||||
"format": 125,
|
||||
"name": "ORiGEN",
|
||||
"score": 70
|
||||
},
|
||||
{
|
||||
"format": 124,
|
||||
"name": "Positive",
|
||||
"score": 70
|
||||
},
|
||||
{
|
||||
"format": 123,
|
||||
"name": "ESiR",
|
||||
"score": 70
|
||||
},
|
||||
{
|
||||
"format": 122,
|
||||
"name": "Chotab",
|
||||
"score": 70
|
||||
},
|
||||
{
|
||||
"format": 121,
|
||||
"name": "xander",
|
||||
"score": 70
|
||||
},
|
||||
{
|
||||
"format": 120,
|
||||
"name": "FTW-HD",
|
||||
"score": 70
|
||||
},
|
||||
{
|
||||
"format": 119,
|
||||
"name": "Penumbra",
|
||||
"score": 70
|
||||
},
|
||||
{
|
||||
"format": 118,
|
||||
"name": "TDD",
|
||||
"score": 70
|
||||
},
|
||||
{
|
||||
"format": 117,
|
||||
"name": "Dariush SD",
|
||||
"score": 70
|
||||
},
|
||||
{
|
||||
"format": 116,
|
||||
"name": "PTer",
|
||||
"score": 70
|
||||
},
|
||||
{
|
||||
"format": 115,
|
||||
"name": "SbR",
|
||||
"score": 70
|
||||
},
|
||||
{
|
||||
"format": 114,
|
||||
"name": "nmd",
|
||||
"score": 70
|
||||
},
|
||||
{
|
||||
"format": 113,
|
||||
"name": "TBB",
|
||||
"score": 70
|
||||
},
|
||||
{
|
||||
"format": 112,
|
||||
"name": "EA",
|
||||
"score": 80
|
||||
},
|
||||
{
|
||||
"format": 111,
|
||||
"name": "BMF",
|
||||
"score": 80
|
||||
},
|
||||
{
|
||||
"format": 110,
|
||||
"name": "LolHD",
|
||||
"score": 80
|
||||
},
|
||||
{
|
||||
"format": 109,
|
||||
"name": "HDMaNiAcS",
|
||||
"score": 80
|
||||
},
|
||||
{
|
||||
"format": 108,
|
||||
"name": "IDE",
|
||||
"score": 80
|
||||
},
|
||||
{
|
||||
"format": 107,
|
||||
"name": "de[42]",
|
||||
"score": 90
|
||||
},
|
||||
{
|
||||
"format": 106,
|
||||
"name": "NCmt",
|
||||
"score": 100
|
||||
},
|
||||
{
|
||||
"format": 105,
|
||||
"name": "decibeL",
|
||||
"score": 90
|
||||
},
|
||||
{
|
||||
"format": 104,
|
||||
"name": "NTb",
|
||||
"score": 80
|
||||
},
|
||||
{
|
||||
"format": 103,
|
||||
"name": "CRiSC",
|
||||
"score": 90
|
||||
},
|
||||
{
|
||||
"format": 102,
|
||||
"name": "SA89",
|
||||
"score": 100
|
||||
},
|
||||
{
|
||||
"format": 101,
|
||||
"name": "HiDt",
|
||||
"score": 100
|
||||
},
|
||||
{
|
||||
"format": 100,
|
||||
"name": "FoRM",
|
||||
"score": 100
|
||||
},
|
||||
{
|
||||
"format": 99,
|
||||
"name": "HiFi",
|
||||
"score": 100
|
||||
},
|
||||
{
|
||||
"format": 98,
|
||||
"name": "CtrlHD",
|
||||
"score": 100
|
||||
},
|
||||
{
|
||||
"format": 97,
|
||||
"name": "VietHD",
|
||||
"score": 110
|
||||
},
|
||||
{
|
||||
"format": 96,
|
||||
"name": "ZQ",
|
||||
"score": 110
|
||||
},
|
||||
{
|
||||
"format": 95,
|
||||
"name": "TayTo",
|
||||
"score": 110
|
||||
},
|
||||
{
|
||||
"format": 94,
|
||||
"name": "Geek",
|
||||
"score": 110
|
||||
},
|
||||
{
|
||||
"format": 93,
|
||||
"name": "EbP",
|
||||
"score": 120
|
||||
},
|
||||
{
|
||||
"format": 92,
|
||||
"name": "DON",
|
||||
"score": 120
|
||||
},
|
||||
{
|
||||
"format": 91,
|
||||
"name": "D-Z0N3",
|
||||
"score": 120
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
@@ -0,0 +1,934 @@
|
||||
[
|
||||
{
|
||||
"name": "1080p Transparent",
|
||||
"upgradeAllowed": true,
|
||||
"cutoff": 1001,
|
||||
"items": [
|
||||
{
|
||||
"quality": {
|
||||
"id": 0,
|
||||
"name": "Unknown",
|
||||
"source": "unknown",
|
||||
"resolution": 0
|
||||
},
|
||||
"items": [],
|
||||
"allowed": false
|
||||
},
|
||||
{
|
||||
"quality": {
|
||||
"id": 13,
|
||||
"name": "Bluray-480p",
|
||||
"source": "bluray",
|
||||
"resolution": 480
|
||||
},
|
||||
"items": [],
|
||||
"allowed": false
|
||||
},
|
||||
{
|
||||
"quality": {
|
||||
"id": 4,
|
||||
"name": "HDTV-720p",
|
||||
"source": "television",
|
||||
"resolution": 720
|
||||
},
|
||||
"items": [],
|
||||
"allowed": false
|
||||
},
|
||||
{
|
||||
"quality": {
|
||||
"id": 14,
|
||||
"name": "WEBRip-720p",
|
||||
"source": "webRip",
|
||||
"resolution": 720
|
||||
},
|
||||
"items": [],
|
||||
"allowed": false
|
||||
},
|
||||
{
|
||||
"quality": {
|
||||
"id": 5,
|
||||
"name": "WEBDL-720p",
|
||||
"source": "web",
|
||||
"resolution": 720
|
||||
},
|
||||
"items": [],
|
||||
"allowed": false
|
||||
},
|
||||
{
|
||||
"quality": {
|
||||
"id": 6,
|
||||
"name": "Bluray-720p",
|
||||
"source": "bluray",
|
||||
"resolution": 720
|
||||
},
|
||||
"items": [],
|
||||
"allowed": false
|
||||
},
|
||||
{
|
||||
"name": "Fallback SD",
|
||||
"items": [
|
||||
{
|
||||
"quality": {
|
||||
"id": 1,
|
||||
"name": "SDTV",
|
||||
"source": "television",
|
||||
"resolution": 480
|
||||
},
|
||||
"items": [],
|
||||
"allowed": true
|
||||
},
|
||||
{
|
||||
"quality": {
|
||||
"id": 12,
|
||||
"name": "WEBRip-480p",
|
||||
"source": "webRip",
|
||||
"resolution": 480
|
||||
},
|
||||
"items": [],
|
||||
"allowed": true
|
||||
},
|
||||
{
|
||||
"quality": {
|
||||
"id": 8,
|
||||
"name": "WEBDL-480p",
|
||||
"source": "web",
|
||||
"resolution": 480
|
||||
},
|
||||
"items": [],
|
||||
"allowed": true
|
||||
},
|
||||
{
|
||||
"quality": {
|
||||
"id": 2,
|
||||
"name": "DVD",
|
||||
"source": "dvd",
|
||||
"resolution": 480
|
||||
},
|
||||
"items": [],
|
||||
"allowed": true
|
||||
}
|
||||
],
|
||||
"allowed": true,
|
||||
"id": 1003
|
||||
},
|
||||
{
|
||||
"name": "Fallback 1080p",
|
||||
"items": [
|
||||
{
|
||||
"quality": {
|
||||
"id": 10,
|
||||
"name": "Raw-HD",
|
||||
"source": "televisionRaw",
|
||||
"resolution": 1080
|
||||
},
|
||||
"items": [],
|
||||
"allowed": true
|
||||
},
|
||||
{
|
||||
"quality": {
|
||||
"id": 9,
|
||||
"name": "HDTV-1080p",
|
||||
"source": "television",
|
||||
"resolution": 1080
|
||||
},
|
||||
"items": [],
|
||||
"allowed": true
|
||||
}
|
||||
],
|
||||
"allowed": true,
|
||||
"id": 1002
|
||||
},
|
||||
{
|
||||
"name": "Transparent Capable",
|
||||
"items": [
|
||||
{
|
||||
"quality": {
|
||||
"id": 3,
|
||||
"name": "WEBDL-1080p",
|
||||
"source": "web",
|
||||
"resolution": 1080
|
||||
},
|
||||
"items": [],
|
||||
"allowed": true
|
||||
},
|
||||
{
|
||||
"quality": {
|
||||
"id": 15,
|
||||
"name": "WEBRip-1080p",
|
||||
"source": "webRip",
|
||||
"resolution": 1080
|
||||
},
|
||||
"items": [],
|
||||
"allowed": true
|
||||
},
|
||||
{
|
||||
"quality": {
|
||||
"id": 7,
|
||||
"name": "Bluray-1080p",
|
||||
"source": "bluray",
|
||||
"resolution": 1080
|
||||
},
|
||||
"items": [],
|
||||
"allowed": true
|
||||
}
|
||||
],
|
||||
"allowed": true,
|
||||
"id": 1001
|
||||
},
|
||||
{
|
||||
"quality": {
|
||||
"id": 20,
|
||||
"name": "Bluray-1080p Remux",
|
||||
"source": "blurayRaw",
|
||||
"resolution": 1080
|
||||
},
|
||||
"items": [],
|
||||
"allowed": false
|
||||
},
|
||||
{
|
||||
"quality": {
|
||||
"id": 16,
|
||||
"name": "HDTV-2160p",
|
||||
"source": "television",
|
||||
"resolution": 2160
|
||||
},
|
||||
"items": [],
|
||||
"allowed": false
|
||||
},
|
||||
{
|
||||
"quality": {
|
||||
"id": 17,
|
||||
"name": "WEBRip-2160p",
|
||||
"source": "webRip",
|
||||
"resolution": 2160
|
||||
},
|
||||
"items": [],
|
||||
"allowed": false
|
||||
},
|
||||
{
|
||||
"quality": {
|
||||
"id": 18,
|
||||
"name": "WEBDL-2160p",
|
||||
"source": "web",
|
||||
"resolution": 2160
|
||||
},
|
||||
"items": [],
|
||||
"allowed": false
|
||||
},
|
||||
{
|
||||
"quality": {
|
||||
"id": 19,
|
||||
"name": "Bluray-2160p",
|
||||
"source": "bluray",
|
||||
"resolution": 2160
|
||||
},
|
||||
"items": [],
|
||||
"allowed": false
|
||||
},
|
||||
{
|
||||
"quality": {
|
||||
"id": 21,
|
||||
"name": "Bluray-2160p Remux",
|
||||
"source": "blurayRaw",
|
||||
"resolution": 2160
|
||||
},
|
||||
"items": [],
|
||||
"allowed": false
|
||||
}
|
||||
],
|
||||
"minFormatScore": 0,
|
||||
"cutoffFormatScore": 500,
|
||||
"formatItems": [
|
||||
{
|
||||
"format": 229,
|
||||
"name": "HR",
|
||||
"score": 30
|
||||
},
|
||||
{
|
||||
"format": 228,
|
||||
"name": "MAX",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 227,
|
||||
"name": "h265 (4k)",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 226,
|
||||
"name": "PCM",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 225,
|
||||
"name": "Blu-Ray (Remux)",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 224,
|
||||
"name": "h265",
|
||||
"score": -9999
|
||||
},
|
||||
{
|
||||
"format": 223,
|
||||
"name": "LiNG",
|
||||
"score": 80
|
||||
},
|
||||
{
|
||||
"format": 221,
|
||||
"name": "hdalx",
|
||||
"score": 80
|
||||
},
|
||||
{
|
||||
"format": 220,
|
||||
"name": "VLAD",
|
||||
"score": 80
|
||||
},
|
||||
{
|
||||
"format": 219,
|
||||
"name": "AJP69",
|
||||
"score": 80
|
||||
},
|
||||
{
|
||||
"format": 218,
|
||||
"name": "iON",
|
||||
"score": 80
|
||||
},
|
||||
{
|
||||
"format": 217,
|
||||
"name": "BTN",
|
||||
"score": 30
|
||||
},
|
||||
{
|
||||
"format": 216,
|
||||
"name": "pcroland",
|
||||
"score": 80
|
||||
},
|
||||
{
|
||||
"format": 215,
|
||||
"name": "CJ",
|
||||
"score": 80
|
||||
},
|
||||
{
|
||||
"format": 214,
|
||||
"name": "LQ",
|
||||
"score": -9999
|
||||
},
|
||||
{
|
||||
"format": 213,
|
||||
"name": "EPSiLON",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 212,
|
||||
"name": "playBD",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 211,
|
||||
"name": "BLURANiUM",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 210,
|
||||
"name": "PmP",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 209,
|
||||
"name": "WiLDCAT",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 208,
|
||||
"name": "TRiToN",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 207,
|
||||
"name": "3L",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 206,
|
||||
"name": "Dolby Vision w/out Fallback",
|
||||
"score": -9999
|
||||
},
|
||||
{
|
||||
"format": 205,
|
||||
"name": "UHDBits",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 204,
|
||||
"name": "ATMOS (Missing)",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 203,
|
||||
"name": "TrueHD (Missing)",
|
||||
"score": -9999
|
||||
},
|
||||
{
|
||||
"format": 202,
|
||||
"name": "HDR10 (Missing)",
|
||||
"score": -9999
|
||||
},
|
||||
{
|
||||
"format": 201,
|
||||
"name": "HDR10",
|
||||
"score": -9999
|
||||
},
|
||||
{
|
||||
"format": 200,
|
||||
"name": "Dolby Vision",
|
||||
"score": -9999
|
||||
},
|
||||
{
|
||||
"format": 199,
|
||||
"name": "HDR10+",
|
||||
"score": -9999
|
||||
},
|
||||
{
|
||||
"format": 198,
|
||||
"name": "Stream Optimised",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 197,
|
||||
"name": "LoRD",
|
||||
"score": 70
|
||||
},
|
||||
{
|
||||
"format": 196,
|
||||
"name": "Scene",
|
||||
"score": 30
|
||||
},
|
||||
{
|
||||
"format": 195,
|
||||
"name": "mHD",
|
||||
"score": -999999
|
||||
},
|
||||
{
|
||||
"format": 194,
|
||||
"name": "AV-1",
|
||||
"score": -9999
|
||||
},
|
||||
{
|
||||
"format": 193,
|
||||
"name": "VVC",
|
||||
"score": -9999
|
||||
},
|
||||
{
|
||||
"format": 192,
|
||||
"name": "Extras",
|
||||
"score": -9999
|
||||
},
|
||||
{
|
||||
"format": 191,
|
||||
"name": "480p",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 190,
|
||||
"name": "Dariush ",
|
||||
"score": 20
|
||||
},
|
||||
{
|
||||
"format": 189,
|
||||
"name": "TBB SD",
|
||||
"score": 30
|
||||
},
|
||||
{
|
||||
"format": 188,
|
||||
"name": "Xvid",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 187,
|
||||
"name": "DVD",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 186,
|
||||
"name": "DVD REMUX ",
|
||||
"score": 40
|
||||
},
|
||||
{
|
||||
"format": 185,
|
||||
"name": "HANDJOB SD",
|
||||
"score": 20
|
||||
},
|
||||
{
|
||||
"format": 184,
|
||||
"name": "iTunes (Missing)",
|
||||
"score": 20
|
||||
},
|
||||
{
|
||||
"format": 183,
|
||||
"name": "ROKU",
|
||||
"score": 30
|
||||
},
|
||||
{
|
||||
"format": 182,
|
||||
"name": "BeyondHD",
|
||||
"score": -10000
|
||||
},
|
||||
{
|
||||
"format": 181,
|
||||
"name": "Disc ",
|
||||
"score": -9999
|
||||
},
|
||||
{
|
||||
"format": 180,
|
||||
"name": "3D",
|
||||
"score": -9999
|
||||
},
|
||||
{
|
||||
"format": 179,
|
||||
"name": "Unwanted",
|
||||
"score": -9999
|
||||
},
|
||||
{
|
||||
"format": 178,
|
||||
"name": "RightSIZE",
|
||||
"score": 70
|
||||
},
|
||||
{
|
||||
"format": 177,
|
||||
"name": "Black and White",
|
||||
"score": -9999
|
||||
},
|
||||
{
|
||||
"format": 176,
|
||||
"name": "TrueHD",
|
||||
"score": -9999
|
||||
},
|
||||
{
|
||||
"format": 175,
|
||||
"name": "DTS-X",
|
||||
"score": -9999
|
||||
},
|
||||
{
|
||||
"format": 174,
|
||||
"name": "FLAC",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 173,
|
||||
"name": "DTS-HD MA",
|
||||
"score": -9999
|
||||
},
|
||||
{
|
||||
"format": 172,
|
||||
"name": "x265",
|
||||
"score": -9999
|
||||
},
|
||||
{
|
||||
"format": 171,
|
||||
"name": "IMAX",
|
||||
"score": 10
|
||||
},
|
||||
{
|
||||
"format": 170,
|
||||
"name": "ATMOS",
|
||||
"score": 5
|
||||
},
|
||||
{
|
||||
"format": 169,
|
||||
"name": "DD",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 168,
|
||||
"name": "DTS",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 167,
|
||||
"name": "DD+",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 166,
|
||||
"name": "iTunes",
|
||||
"score": 20
|
||||
},
|
||||
{
|
||||
"format": 165,
|
||||
"name": "Paramount+",
|
||||
"score": 30
|
||||
},
|
||||
{
|
||||
"format": 164,
|
||||
"name": "Peacock TV",
|
||||
"score": 30
|
||||
},
|
||||
{
|
||||
"format": 163,
|
||||
"name": "Hulu",
|
||||
"score": 30
|
||||
},
|
||||
{
|
||||
"format": 162,
|
||||
"name": "Netflix",
|
||||
"score": 40
|
||||
},
|
||||
{
|
||||
"format": 161,
|
||||
"name": "HBO Max",
|
||||
"score": 40
|
||||
},
|
||||
{
|
||||
"format": 160,
|
||||
"name": "Disney+",
|
||||
"score": 40
|
||||
},
|
||||
{
|
||||
"format": 159,
|
||||
"name": "Apple TV+",
|
||||
"score": 50
|
||||
},
|
||||
{
|
||||
"format": 158,
|
||||
"name": "Movies Anywhere",
|
||||
"score": 60
|
||||
},
|
||||
{
|
||||
"format": 157,
|
||||
"name": "Amazon Prime",
|
||||
"score": 50
|
||||
},
|
||||
{
|
||||
"format": 156,
|
||||
"name": "REMUX",
|
||||
"score": -9999
|
||||
},
|
||||
{
|
||||
"format": 155,
|
||||
"name": "x264",
|
||||
"score": 10
|
||||
},
|
||||
{
|
||||
"format": 154,
|
||||
"name": "WEBRip",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 153,
|
||||
"name": "Blu-Ray",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 152,
|
||||
"name": "2160p",
|
||||
"score": -9999
|
||||
},
|
||||
{
|
||||
"format": 151,
|
||||
"name": "720p",
|
||||
"score": -10000
|
||||
},
|
||||
{
|
||||
"format": 150,
|
||||
"name": "1080p",
|
||||
"score": 60
|
||||
},
|
||||
{
|
||||
"format": 149,
|
||||
"name": "BHDStudio",
|
||||
"score": 30
|
||||
},
|
||||
{
|
||||
"format": 148,
|
||||
"name": "LEGi0N",
|
||||
"score": 30
|
||||
},
|
||||
{
|
||||
"format": 147,
|
||||
"name": "FraMeSToR",
|
||||
"score": 30
|
||||
},
|
||||
{
|
||||
"format": 146,
|
||||
"name": "iFT",
|
||||
"score": 70
|
||||
},
|
||||
{
|
||||
"format": 145,
|
||||
"name": "MTeam",
|
||||
"score": -9999
|
||||
},
|
||||
{
|
||||
"format": 144,
|
||||
"name": "EDPH",
|
||||
"score": 30
|
||||
},
|
||||
{
|
||||
"format": 143,
|
||||
"name": "HANDJOB",
|
||||
"score": 30
|
||||
},
|
||||
{
|
||||
"format": 142,
|
||||
"name": "c0ke",
|
||||
"score": 110
|
||||
},
|
||||
{
|
||||
"format": 141,
|
||||
"name": "KASHMiR",
|
||||
"score": 70
|
||||
},
|
||||
{
|
||||
"format": 140,
|
||||
"name": "WMING",
|
||||
"score": 70
|
||||
},
|
||||
{
|
||||
"format": 139,
|
||||
"name": "playHD",
|
||||
"score": 70
|
||||
},
|
||||
{
|
||||
"format": 138,
|
||||
"name": "E.N.D",
|
||||
"score": 70
|
||||
},
|
||||
{
|
||||
"format": 137,
|
||||
"name": "GutS",
|
||||
"score": 70
|
||||
},
|
||||
{
|
||||
"format": 136,
|
||||
"name": "BV",
|
||||
"score": 70
|
||||
},
|
||||
{
|
||||
"format": 135,
|
||||
"name": "SiMPLE",
|
||||
"score": 70
|
||||
},
|
||||
{
|
||||
"format": 134,
|
||||
"name": "W4NK3R",
|
||||
"score": 70
|
||||
},
|
||||
{
|
||||
"format": 133,
|
||||
"name": "GS88",
|
||||
"score": 70
|
||||
},
|
||||
{
|
||||
"format": 132,
|
||||
"name": "HiP",
|
||||
"score": 80
|
||||
},
|
||||
{
|
||||
"format": 131,
|
||||
"name": "GALAXY",
|
||||
"score": 70
|
||||
},
|
||||
{
|
||||
"format": 130,
|
||||
"name": "luvBB",
|
||||
"score": 70
|
||||
},
|
||||
{
|
||||
"format": 129,
|
||||
"name": "NyHD",
|
||||
"score": 70
|
||||
},
|
||||
{
|
||||
"format": 128,
|
||||
"name": "ZIMBO",
|
||||
"score": 70
|
||||
},
|
||||
{
|
||||
"format": 127,
|
||||
"name": "ThD",
|
||||
"score": 70
|
||||
},
|
||||
{
|
||||
"format": 126,
|
||||
"name": "SaNcTi",
|
||||
"score": 70
|
||||
},
|
||||
{
|
||||
"format": 125,
|
||||
"name": "ORiGEN",
|
||||
"score": 70
|
||||
},
|
||||
{
|
||||
"format": 124,
|
||||
"name": "Positive",
|
||||
"score": 70
|
||||
},
|
||||
{
|
||||
"format": 123,
|
||||
"name": "ESiR",
|
||||
"score": 70
|
||||
},
|
||||
{
|
||||
"format": 122,
|
||||
"name": "Chotab",
|
||||
"score": 70
|
||||
},
|
||||
{
|
||||
"format": 121,
|
||||
"name": "xander",
|
||||
"score": 70
|
||||
},
|
||||
{
|
||||
"format": 120,
|
||||
"name": "FTW-HD",
|
||||
"score": 70
|
||||
},
|
||||
{
|
||||
"format": 119,
|
||||
"name": "Penumbra",
|
||||
"score": 70
|
||||
},
|
||||
{
|
||||
"format": 118,
|
||||
"name": "TDD",
|
||||
"score": 70
|
||||
},
|
||||
{
|
||||
"format": 117,
|
||||
"name": "Dariush SD",
|
||||
"score": 70
|
||||
},
|
||||
{
|
||||
"format": 116,
|
||||
"name": "PTer",
|
||||
"score": 70
|
||||
},
|
||||
{
|
||||
"format": 115,
|
||||
"name": "SbR",
|
||||
"score": 70
|
||||
},
|
||||
{
|
||||
"format": 114,
|
||||
"name": "nmd",
|
||||
"score": 70
|
||||
},
|
||||
{
|
||||
"format": 113,
|
||||
"name": "TBB",
|
||||
"score": 70
|
||||
},
|
||||
{
|
||||
"format": 112,
|
||||
"name": "EA",
|
||||
"score": 80
|
||||
},
|
||||
{
|
||||
"format": 111,
|
||||
"name": "BMF",
|
||||
"score": 80
|
||||
},
|
||||
{
|
||||
"format": 110,
|
||||
"name": "LolHD",
|
||||
"score": 80
|
||||
},
|
||||
{
|
||||
"format": 109,
|
||||
"name": "HDMaNiAcS",
|
||||
"score": 80
|
||||
},
|
||||
{
|
||||
"format": 108,
|
||||
"name": "IDE",
|
||||
"score": 80
|
||||
},
|
||||
{
|
||||
"format": 107,
|
||||
"name": "de[42]",
|
||||
"score": 90
|
||||
},
|
||||
{
|
||||
"format": 106,
|
||||
"name": "NCmt",
|
||||
"score": 100
|
||||
},
|
||||
{
|
||||
"format": 105,
|
||||
"name": "decibeL",
|
||||
"score": 90
|
||||
},
|
||||
{
|
||||
"format": 104,
|
||||
"name": "NTb",
|
||||
"score": 80
|
||||
},
|
||||
{
|
||||
"format": 103,
|
||||
"name": "CRiSC",
|
||||
"score": 90
|
||||
},
|
||||
{
|
||||
"format": 102,
|
||||
"name": "SA89",
|
||||
"score": 100
|
||||
},
|
||||
{
|
||||
"format": 101,
|
||||
"name": "HiDt",
|
||||
"score": 100
|
||||
},
|
||||
{
|
||||
"format": 100,
|
||||
"name": "FoRM",
|
||||
"score": 100
|
||||
},
|
||||
{
|
||||
"format": 99,
|
||||
"name": "HiFi",
|
||||
"score": 100
|
||||
},
|
||||
{
|
||||
"format": 98,
|
||||
"name": "CtrlHD",
|
||||
"score": 100
|
||||
},
|
||||
{
|
||||
"format": 97,
|
||||
"name": "VietHD",
|
||||
"score": 110
|
||||
},
|
||||
{
|
||||
"format": 96,
|
||||
"name": "ZQ",
|
||||
"score": 110
|
||||
},
|
||||
{
|
||||
"format": 95,
|
||||
"name": "TayTo",
|
||||
"score": 110
|
||||
},
|
||||
{
|
||||
"format": 94,
|
||||
"name": "Geek",
|
||||
"score": 110
|
||||
},
|
||||
{
|
||||
"format": 93,
|
||||
"name": "EbP",
|
||||
"score": 120
|
||||
},
|
||||
{
|
||||
"format": 92,
|
||||
"name": "DON",
|
||||
"score": 120
|
||||
},
|
||||
{
|
||||
"format": 91,
|
||||
"name": "D-Z0N3",
|
||||
"score": 120
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
@@ -0,0 +1,927 @@
|
||||
[
|
||||
{
|
||||
"name": "1080p h265 Balanced ",
|
||||
"upgradeAllowed": true,
|
||||
"cutoff": 1001,
|
||||
"items": [
|
||||
{
|
||||
"quality": {
|
||||
"id": 0,
|
||||
"name": "Unknown",
|
||||
"source": "unknown",
|
||||
"resolution": 0
|
||||
},
|
||||
"items": [],
|
||||
"allowed": false
|
||||
},
|
||||
{
|
||||
"quality": {
|
||||
"id": 13,
|
||||
"name": "Bluray-480p",
|
||||
"source": "bluray",
|
||||
"resolution": 480
|
||||
},
|
||||
"items": [],
|
||||
"allowed": false
|
||||
},
|
||||
{
|
||||
"quality": {
|
||||
"id": 4,
|
||||
"name": "HDTV-720p",
|
||||
"source": "television",
|
||||
"resolution": 720
|
||||
},
|
||||
"items": [],
|
||||
"allowed": false
|
||||
},
|
||||
{
|
||||
"quality": {
|
||||
"id": 14,
|
||||
"name": "WEBRip-720p",
|
||||
"source": "webRip",
|
||||
"resolution": 720
|
||||
},
|
||||
"items": [],
|
||||
"allowed": false
|
||||
},
|
||||
{
|
||||
"quality": {
|
||||
"id": 5,
|
||||
"name": "WEBDL-720p",
|
||||
"source": "web",
|
||||
"resolution": 720
|
||||
},
|
||||
"items": [],
|
||||
"allowed": false
|
||||
},
|
||||
{
|
||||
"quality": {
|
||||
"id": 6,
|
||||
"name": "Bluray-720p",
|
||||
"source": "bluray",
|
||||
"resolution": 720
|
||||
},
|
||||
"items": [],
|
||||
"allowed": false
|
||||
},
|
||||
{
|
||||
"name": "Else",
|
||||
"items": [
|
||||
{
|
||||
"quality": {
|
||||
"id": 1,
|
||||
"name": "SDTV",
|
||||
"source": "television",
|
||||
"resolution": 480
|
||||
},
|
||||
"items": [],
|
||||
"allowed": true
|
||||
},
|
||||
{
|
||||
"quality": {
|
||||
"id": 12,
|
||||
"name": "WEBRip-480p",
|
||||
"source": "webRip",
|
||||
"resolution": 480
|
||||
},
|
||||
"items": [],
|
||||
"allowed": true
|
||||
},
|
||||
{
|
||||
"quality": {
|
||||
"id": 8,
|
||||
"name": "WEBDL-480p",
|
||||
"source": "web",
|
||||
"resolution": 480
|
||||
},
|
||||
"items": [],
|
||||
"allowed": true
|
||||
},
|
||||
{
|
||||
"quality": {
|
||||
"id": 2,
|
||||
"name": "DVD",
|
||||
"source": "dvd",
|
||||
"resolution": 480
|
||||
},
|
||||
"items": [],
|
||||
"allowed": true
|
||||
},
|
||||
{
|
||||
"quality": {
|
||||
"id": 10,
|
||||
"name": "Raw-HD",
|
||||
"source": "televisionRaw",
|
||||
"resolution": 1080
|
||||
},
|
||||
"items": [],
|
||||
"allowed": true
|
||||
},
|
||||
{
|
||||
"quality": {
|
||||
"id": 9,
|
||||
"name": "HDTV-1080p",
|
||||
"source": "television",
|
||||
"resolution": 1080
|
||||
},
|
||||
"items": [],
|
||||
"allowed": true
|
||||
}
|
||||
],
|
||||
"allowed": true,
|
||||
"id": 1002
|
||||
},
|
||||
{
|
||||
"name": "Balanced Capable",
|
||||
"items": [
|
||||
{
|
||||
"quality": {
|
||||
"id": 3,
|
||||
"name": "WEBDL-1080p",
|
||||
"source": "web",
|
||||
"resolution": 1080
|
||||
},
|
||||
"items": [],
|
||||
"allowed": true
|
||||
},
|
||||
{
|
||||
"quality": {
|
||||
"id": 15,
|
||||
"name": "WEBRip-1080p",
|
||||
"source": "webRip",
|
||||
"resolution": 1080
|
||||
},
|
||||
"items": [],
|
||||
"allowed": true
|
||||
},
|
||||
{
|
||||
"quality": {
|
||||
"id": 7,
|
||||
"name": "Bluray-1080p",
|
||||
"source": "bluray",
|
||||
"resolution": 1080
|
||||
},
|
||||
"items": [],
|
||||
"allowed": true
|
||||
}
|
||||
],
|
||||
"allowed": true,
|
||||
"id": 1001
|
||||
},
|
||||
{
|
||||
"quality": {
|
||||
"id": 20,
|
||||
"name": "Bluray-1080p Remux",
|
||||
"source": "blurayRaw",
|
||||
"resolution": 1080
|
||||
},
|
||||
"items": [],
|
||||
"allowed": false
|
||||
},
|
||||
{
|
||||
"quality": {
|
||||
"id": 16,
|
||||
"name": "HDTV-2160p",
|
||||
"source": "television",
|
||||
"resolution": 2160
|
||||
},
|
||||
"items": [],
|
||||
"allowed": false
|
||||
},
|
||||
{
|
||||
"quality": {
|
||||
"id": 17,
|
||||
"name": "WEBRip-2160p",
|
||||
"source": "webRip",
|
||||
"resolution": 2160
|
||||
},
|
||||
"items": [],
|
||||
"allowed": false
|
||||
},
|
||||
{
|
||||
"quality": {
|
||||
"id": 19,
|
||||
"name": "Bluray-2160p",
|
||||
"source": "bluray",
|
||||
"resolution": 2160
|
||||
},
|
||||
"items": [],
|
||||
"allowed": false
|
||||
},
|
||||
{
|
||||
"quality": {
|
||||
"id": 18,
|
||||
"name": "WEBDL-2160p",
|
||||
"source": "web",
|
||||
"resolution": 2160
|
||||
},
|
||||
"items": [],
|
||||
"allowed": false
|
||||
},
|
||||
{
|
||||
"quality": {
|
||||
"id": 21,
|
||||
"name": "Bluray-2160p Remux",
|
||||
"source": "blurayRaw",
|
||||
"resolution": 2160
|
||||
},
|
||||
"items": [],
|
||||
"allowed": false
|
||||
}
|
||||
],
|
||||
"minFormatScore": 0,
|
||||
"cutoffFormatScore": 500,
|
||||
"formatItems": [
|
||||
{
|
||||
"format": 229,
|
||||
"name": "HR",
|
||||
"score": 30
|
||||
},
|
||||
{
|
||||
"format": 228,
|
||||
"name": "MAX",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 227,
|
||||
"name": "h265 (4k)",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 226,
|
||||
"name": "PCM",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 225,
|
||||
"name": "Blu-Ray (Remux)",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 224,
|
||||
"name": "h265",
|
||||
"score": 60
|
||||
},
|
||||
{
|
||||
"format": 214,
|
||||
"name": "LQ",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 213,
|
||||
"name": "EPSiLON",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 212,
|
||||
"name": "playBD",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 211,
|
||||
"name": "BLURANiUM",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 210,
|
||||
"name": "PmP",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 209,
|
||||
"name": "WiLDCAT",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 208,
|
||||
"name": "TRiToN",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 207,
|
||||
"name": "3L",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 206,
|
||||
"name": "Dolby Vision w/out Fallback",
|
||||
"score": -9999
|
||||
},
|
||||
{
|
||||
"format": 205,
|
||||
"name": "UHDBits",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 204,
|
||||
"name": "ATMOS (Missing)",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 203,
|
||||
"name": "TrueHD (Missing)",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 202,
|
||||
"name": "HDR10 (Missing)",
|
||||
"score": -9999
|
||||
},
|
||||
{
|
||||
"format": 201,
|
||||
"name": "HDR10",
|
||||
"score": -9999
|
||||
},
|
||||
{
|
||||
"format": 200,
|
||||
"name": "Dolby Vision",
|
||||
"score": -9999
|
||||
},
|
||||
{
|
||||
"format": 199,
|
||||
"name": "HDR10+",
|
||||
"score": -9999
|
||||
},
|
||||
{
|
||||
"format": 198,
|
||||
"name": "Stream Optimised",
|
||||
"score": 80
|
||||
},
|
||||
{
|
||||
"format": 197,
|
||||
"name": "LoRD",
|
||||
"score": 30
|
||||
},
|
||||
{
|
||||
"format": 196,
|
||||
"name": "Scene",
|
||||
"score": 20
|
||||
},
|
||||
{
|
||||
"format": 195,
|
||||
"name": "mHD",
|
||||
"score": -99999
|
||||
},
|
||||
{
|
||||
"format": 194,
|
||||
"name": "AV-1",
|
||||
"score": -9999
|
||||
},
|
||||
{
|
||||
"format": 193,
|
||||
"name": "VVC",
|
||||
"score": -9999
|
||||
},
|
||||
{
|
||||
"format": 192,
|
||||
"name": "Extras",
|
||||
"score": -9999
|
||||
},
|
||||
{
|
||||
"format": 191,
|
||||
"name": "480p",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 190,
|
||||
"name": "Dariush ",
|
||||
"score": 30
|
||||
},
|
||||
{
|
||||
"format": 189,
|
||||
"name": "TBB SD",
|
||||
"score": 30
|
||||
},
|
||||
{
|
||||
"format": 188,
|
||||
"name": "Xvid",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 187,
|
||||
"name": "DVD",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 186,
|
||||
"name": "DVD REMUX ",
|
||||
"score": 40
|
||||
},
|
||||
{
|
||||
"format": 185,
|
||||
"name": "HANDJOB SD",
|
||||
"score": 20
|
||||
},
|
||||
{
|
||||
"format": 184,
|
||||
"name": "iTunes (Missing)",
|
||||
"score": 90
|
||||
},
|
||||
{
|
||||
"format": 183,
|
||||
"name": "ROKU",
|
||||
"score": 190
|
||||
},
|
||||
{
|
||||
"format": 182,
|
||||
"name": "BeyondHD",
|
||||
"score": -9999
|
||||
},
|
||||
{
|
||||
"format": 181,
|
||||
"name": "Disc ",
|
||||
"score": -9999
|
||||
},
|
||||
{
|
||||
"format": 180,
|
||||
"name": "3D",
|
||||
"score": -9999
|
||||
},
|
||||
{
|
||||
"format": 179,
|
||||
"name": "Unwanted",
|
||||
"score": -9999
|
||||
},
|
||||
{
|
||||
"format": 178,
|
||||
"name": "RightSIZE",
|
||||
"score": 30
|
||||
},
|
||||
{
|
||||
"format": 177,
|
||||
"name": "Black and White",
|
||||
"score": -9999
|
||||
},
|
||||
{
|
||||
"format": 176,
|
||||
"name": "TrueHD",
|
||||
"score": -9999
|
||||
},
|
||||
{
|
||||
"format": 175,
|
||||
"name": "DTS-X",
|
||||
"score": -9999
|
||||
},
|
||||
{
|
||||
"format": 174,
|
||||
"name": "FLAC",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 173,
|
||||
"name": "DTS-HD MA",
|
||||
"score": -9999
|
||||
},
|
||||
{
|
||||
"format": 172,
|
||||
"name": "x265",
|
||||
"score": -9999
|
||||
},
|
||||
{
|
||||
"format": 171,
|
||||
"name": "IMAX",
|
||||
"score": 10
|
||||
},
|
||||
{
|
||||
"format": 170,
|
||||
"name": "ATMOS",
|
||||
"score": 10
|
||||
},
|
||||
{
|
||||
"format": 169,
|
||||
"name": "DD",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 168,
|
||||
"name": "DTS",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 167,
|
||||
"name": "DD+",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 166,
|
||||
"name": "iTunes",
|
||||
"score": 90
|
||||
},
|
||||
{
|
||||
"format": 165,
|
||||
"name": "Paramount+",
|
||||
"score": 190
|
||||
},
|
||||
{
|
||||
"format": 164,
|
||||
"name": "Peacock TV",
|
||||
"score": 190
|
||||
},
|
||||
{
|
||||
"format": 163,
|
||||
"name": "Hulu",
|
||||
"score": 190
|
||||
},
|
||||
{
|
||||
"format": 162,
|
||||
"name": "Netflix",
|
||||
"score": 200
|
||||
},
|
||||
{
|
||||
"format": 161,
|
||||
"name": "HBO Max",
|
||||
"score": 200
|
||||
},
|
||||
{
|
||||
"format": 160,
|
||||
"name": "Disney+",
|
||||
"score": 200
|
||||
},
|
||||
{
|
||||
"format": 159,
|
||||
"name": "Apple TV+",
|
||||
"score": 210
|
||||
},
|
||||
{
|
||||
"format": 158,
|
||||
"name": "Movies Anywhere",
|
||||
"score": 220
|
||||
},
|
||||
{
|
||||
"format": 157,
|
||||
"name": "Amazon Prime",
|
||||
"score": 210
|
||||
},
|
||||
{
|
||||
"format": 156,
|
||||
"name": "REMUX",
|
||||
"score": -9999
|
||||
},
|
||||
{
|
||||
"format": 155,
|
||||
"name": "x264",
|
||||
"score": 10
|
||||
},
|
||||
{
|
||||
"format": 154,
|
||||
"name": "WEBRip",
|
||||
"score": 10
|
||||
},
|
||||
{
|
||||
"format": 153,
|
||||
"name": "Blu-Ray",
|
||||
"score": 10
|
||||
},
|
||||
{
|
||||
"format": 152,
|
||||
"name": "2160p",
|
||||
"score": -9999
|
||||
},
|
||||
{
|
||||
"format": 151,
|
||||
"name": "720p",
|
||||
"score": -9999
|
||||
},
|
||||
{
|
||||
"format": 150,
|
||||
"name": "1080p",
|
||||
"score": 220
|
||||
},
|
||||
{
|
||||
"format": 149,
|
||||
"name": "BHDStudio",
|
||||
"score": 90
|
||||
},
|
||||
{
|
||||
"format": 148,
|
||||
"name": "LEGi0N",
|
||||
"score": 20
|
||||
},
|
||||
{
|
||||
"format": 147,
|
||||
"name": "FraMeSToR",
|
||||
"score": 20
|
||||
},
|
||||
{
|
||||
"format": 146,
|
||||
"name": "iFT",
|
||||
"score": 30
|
||||
},
|
||||
{
|
||||
"format": 145,
|
||||
"name": "MTeam",
|
||||
"score": -9999
|
||||
},
|
||||
{
|
||||
"format": 144,
|
||||
"name": "EDPH",
|
||||
"score": 20
|
||||
},
|
||||
{
|
||||
"format": 143,
|
||||
"name": "HANDJOB",
|
||||
"score": 20
|
||||
},
|
||||
{
|
||||
"format": 142,
|
||||
"name": "c0ke",
|
||||
"score": 70
|
||||
},
|
||||
{
|
||||
"format": 141,
|
||||
"name": "KASHMiR",
|
||||
"score": 30
|
||||
},
|
||||
{
|
||||
"format": 140,
|
||||
"name": "WMING",
|
||||
"score": 30
|
||||
},
|
||||
{
|
||||
"format": 139,
|
||||
"name": "playHD",
|
||||
"score": 30
|
||||
},
|
||||
{
|
||||
"format": 138,
|
||||
"name": "E.N.D",
|
||||
"score": 30
|
||||
},
|
||||
{
|
||||
"format": 137,
|
||||
"name": "GutS",
|
||||
"score": 30
|
||||
},
|
||||
{
|
||||
"format": 136,
|
||||
"name": "BV",
|
||||
"score": 30
|
||||
},
|
||||
{
|
||||
"format": 135,
|
||||
"name": "SiMPLE",
|
||||
"score": 30
|
||||
},
|
||||
{
|
||||
"format": 134,
|
||||
"name": "W4NK3R",
|
||||
"score": 30
|
||||
},
|
||||
{
|
||||
"format": 133,
|
||||
"name": "GS88",
|
||||
"score": 30
|
||||
},
|
||||
{
|
||||
"format": 132,
|
||||
"name": "HiP",
|
||||
"score": 40
|
||||
},
|
||||
{
|
||||
"format": 131,
|
||||
"name": "GALAXY",
|
||||
"score": 30
|
||||
},
|
||||
{
|
||||
"format": 130,
|
||||
"name": "luvBB",
|
||||
"score": 30
|
||||
},
|
||||
{
|
||||
"format": 129,
|
||||
"name": "NyHD",
|
||||
"score": 30
|
||||
},
|
||||
{
|
||||
"format": 128,
|
||||
"name": "ZIMBO",
|
||||
"score": 30
|
||||
},
|
||||
{
|
||||
"format": 127,
|
||||
"name": "ThD",
|
||||
"score": 30
|
||||
},
|
||||
{
|
||||
"format": 126,
|
||||
"name": "SaNcTi",
|
||||
"score": 30
|
||||
},
|
||||
{
|
||||
"format": 125,
|
||||
"name": "ORiGEN",
|
||||
"score": 30
|
||||
},
|
||||
{
|
||||
"format": 124,
|
||||
"name": "Positive",
|
||||
"score": 30
|
||||
},
|
||||
{
|
||||
"format": 123,
|
||||
"name": "ESiR",
|
||||
"score": 30
|
||||
},
|
||||
{
|
||||
"format": 122,
|
||||
"name": "Chotab",
|
||||
"score": 30
|
||||
},
|
||||
{
|
||||
"format": 121,
|
||||
"name": "xander",
|
||||
"score": 30
|
||||
},
|
||||
{
|
||||
"format": 120,
|
||||
"name": "FTW-HD",
|
||||
"score": 30
|
||||
},
|
||||
{
|
||||
"format": 119,
|
||||
"name": "Penumbra",
|
||||
"score": 30
|
||||
},
|
||||
{
|
||||
"format": 118,
|
||||
"name": "TDD",
|
||||
"score": 30
|
||||
},
|
||||
{
|
||||
"format": 117,
|
||||
"name": "Dariush SD",
|
||||
"score": 30
|
||||
},
|
||||
{
|
||||
"format": 116,
|
||||
"name": "PTer",
|
||||
"score": 30
|
||||
},
|
||||
{
|
||||
"format": 115,
|
||||
"name": "SbR",
|
||||
"score": 30
|
||||
},
|
||||
{
|
||||
"format": 114,
|
||||
"name": "nmd",
|
||||
"score": 30
|
||||
},
|
||||
{
|
||||
"format": 113,
|
||||
"name": "TBB",
|
||||
"score": 30
|
||||
},
|
||||
{
|
||||
"format": 112,
|
||||
"name": "EA",
|
||||
"score": 40
|
||||
},
|
||||
{
|
||||
"format": 111,
|
||||
"name": "BMF",
|
||||
"score": 40
|
||||
},
|
||||
{
|
||||
"format": 110,
|
||||
"name": "LolHD",
|
||||
"score": 40
|
||||
},
|
||||
{
|
||||
"format": 109,
|
||||
"name": "HDMaNiAcS",
|
||||
"score": 40
|
||||
},
|
||||
{
|
||||
"format": 108,
|
||||
"name": "IDE",
|
||||
"score": 40
|
||||
},
|
||||
{
|
||||
"format": 107,
|
||||
"name": "de[42]",
|
||||
"score": 50
|
||||
},
|
||||
{
|
||||
"format": 106,
|
||||
"name": "NCmt",
|
||||
"score": 60
|
||||
},
|
||||
{
|
||||
"format": 105,
|
||||
"name": "decibeL",
|
||||
"score": 50
|
||||
},
|
||||
{
|
||||
"format": 104,
|
||||
"name": "NTb",
|
||||
"score": 40
|
||||
},
|
||||
{
|
||||
"format": 103,
|
||||
"name": "CRiSC",
|
||||
"score": 50
|
||||
},
|
||||
{
|
||||
"format": 102,
|
||||
"name": "SA89",
|
||||
"score": 60
|
||||
},
|
||||
{
|
||||
"format": 101,
|
||||
"name": "HiDt",
|
||||
"score": 60
|
||||
},
|
||||
{
|
||||
"format": 100,
|
||||
"name": "FoRM",
|
||||
"score": 60
|
||||
},
|
||||
{
|
||||
"format": 99,
|
||||
"name": "HiFi",
|
||||
"score": 60
|
||||
},
|
||||
{
|
||||
"format": 98,
|
||||
"name": "CtrlHD",
|
||||
"score": 60
|
||||
},
|
||||
{
|
||||
"format": 97,
|
||||
"name": "VietHD",
|
||||
"score": 70
|
||||
},
|
||||
{
|
||||
"format": 96,
|
||||
"name": "ZQ",
|
||||
"score": 70
|
||||
},
|
||||
{
|
||||
"format": 95,
|
||||
"name": "TayTo",
|
||||
"score": 70
|
||||
},
|
||||
{
|
||||
"format": 94,
|
||||
"name": "Geek",
|
||||
"score": 70
|
||||
},
|
||||
{
|
||||
"format": 93,
|
||||
"name": "EbP",
|
||||
"score": 80
|
||||
},
|
||||
{
|
||||
"format": 92,
|
||||
"name": "DON",
|
||||
"score": 80
|
||||
},
|
||||
{
|
||||
"format": 91,
|
||||
"name": "D-Z0N3",
|
||||
"score": 80
|
||||
},
|
||||
{
|
||||
"format": 215,
|
||||
"name": "CJ",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 216,
|
||||
"name": "pcroland",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 217,
|
||||
"name": "BTN",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 218,
|
||||
"name": "iON",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 219,
|
||||
"name": "AJP69",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 220,
|
||||
"name": "VLAD",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 221,
|
||||
"name": "hdalx",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 223,
|
||||
"name": "LiNG",
|
||||
"score": 0
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
@@ -0,0 +1,927 @@
|
||||
[
|
||||
{
|
||||
"name": "1080p h265 Balanced (Single Grab)",
|
||||
"upgradeAllowed": true,
|
||||
"cutoff": 1001,
|
||||
"items": [
|
||||
{
|
||||
"quality": {
|
||||
"id": 0,
|
||||
"name": "Unknown",
|
||||
"source": "unknown",
|
||||
"resolution": 0
|
||||
},
|
||||
"items": [],
|
||||
"allowed": false
|
||||
},
|
||||
{
|
||||
"quality": {
|
||||
"id": 13,
|
||||
"name": "Bluray-480p",
|
||||
"source": "bluray",
|
||||
"resolution": 480
|
||||
},
|
||||
"items": [],
|
||||
"allowed": false
|
||||
},
|
||||
{
|
||||
"quality": {
|
||||
"id": 4,
|
||||
"name": "HDTV-720p",
|
||||
"source": "television",
|
||||
"resolution": 720
|
||||
},
|
||||
"items": [],
|
||||
"allowed": false
|
||||
},
|
||||
{
|
||||
"quality": {
|
||||
"id": 14,
|
||||
"name": "WEBRip-720p",
|
||||
"source": "webRip",
|
||||
"resolution": 720
|
||||
},
|
||||
"items": [],
|
||||
"allowed": false
|
||||
},
|
||||
{
|
||||
"quality": {
|
||||
"id": 5,
|
||||
"name": "WEBDL-720p",
|
||||
"source": "web",
|
||||
"resolution": 720
|
||||
},
|
||||
"items": [],
|
||||
"allowed": false
|
||||
},
|
||||
{
|
||||
"quality": {
|
||||
"id": 6,
|
||||
"name": "Bluray-720p",
|
||||
"source": "bluray",
|
||||
"resolution": 720
|
||||
},
|
||||
"items": [],
|
||||
"allowed": false
|
||||
},
|
||||
{
|
||||
"name": "Else",
|
||||
"items": [
|
||||
{
|
||||
"quality": {
|
||||
"id": 1,
|
||||
"name": "SDTV",
|
||||
"source": "television",
|
||||
"resolution": 480
|
||||
},
|
||||
"items": [],
|
||||
"allowed": true
|
||||
},
|
||||
{
|
||||
"quality": {
|
||||
"id": 12,
|
||||
"name": "WEBRip-480p",
|
||||
"source": "webRip",
|
||||
"resolution": 480
|
||||
},
|
||||
"items": [],
|
||||
"allowed": true
|
||||
},
|
||||
{
|
||||
"quality": {
|
||||
"id": 8,
|
||||
"name": "WEBDL-480p",
|
||||
"source": "web",
|
||||
"resolution": 480
|
||||
},
|
||||
"items": [],
|
||||
"allowed": true
|
||||
},
|
||||
{
|
||||
"quality": {
|
||||
"id": 2,
|
||||
"name": "DVD",
|
||||
"source": "dvd",
|
||||
"resolution": 480
|
||||
},
|
||||
"items": [],
|
||||
"allowed": true
|
||||
},
|
||||
{
|
||||
"quality": {
|
||||
"id": 10,
|
||||
"name": "Raw-HD",
|
||||
"source": "televisionRaw",
|
||||
"resolution": 1080
|
||||
},
|
||||
"items": [],
|
||||
"allowed": true
|
||||
},
|
||||
{
|
||||
"quality": {
|
||||
"id": 9,
|
||||
"name": "HDTV-1080p",
|
||||
"source": "television",
|
||||
"resolution": 1080
|
||||
},
|
||||
"items": [],
|
||||
"allowed": true
|
||||
}
|
||||
],
|
||||
"allowed": true,
|
||||
"id": 1002
|
||||
},
|
||||
{
|
||||
"name": "Balanced Capable",
|
||||
"items": [
|
||||
{
|
||||
"quality": {
|
||||
"id": 3,
|
||||
"name": "WEBDL-1080p",
|
||||
"source": "web",
|
||||
"resolution": 1080
|
||||
},
|
||||
"items": [],
|
||||
"allowed": true
|
||||
},
|
||||
{
|
||||
"quality": {
|
||||
"id": 15,
|
||||
"name": "WEBRip-1080p",
|
||||
"source": "webRip",
|
||||
"resolution": 1080
|
||||
},
|
||||
"items": [],
|
||||
"allowed": true
|
||||
},
|
||||
{
|
||||
"quality": {
|
||||
"id": 7,
|
||||
"name": "Bluray-1080p",
|
||||
"source": "bluray",
|
||||
"resolution": 1080
|
||||
},
|
||||
"items": [],
|
||||
"allowed": true
|
||||
}
|
||||
],
|
||||
"allowed": true,
|
||||
"id": 1001
|
||||
},
|
||||
{
|
||||
"quality": {
|
||||
"id": 20,
|
||||
"name": "Bluray-1080p Remux",
|
||||
"source": "blurayRaw",
|
||||
"resolution": 1080
|
||||
},
|
||||
"items": [],
|
||||
"allowed": false
|
||||
},
|
||||
{
|
||||
"quality": {
|
||||
"id": 16,
|
||||
"name": "HDTV-2160p",
|
||||
"source": "television",
|
||||
"resolution": 2160
|
||||
},
|
||||
"items": [],
|
||||
"allowed": false
|
||||
},
|
||||
{
|
||||
"quality": {
|
||||
"id": 17,
|
||||
"name": "WEBRip-2160p",
|
||||
"source": "webRip",
|
||||
"resolution": 2160
|
||||
},
|
||||
"items": [],
|
||||
"allowed": false
|
||||
},
|
||||
{
|
||||
"quality": {
|
||||
"id": 19,
|
||||
"name": "Bluray-2160p",
|
||||
"source": "bluray",
|
||||
"resolution": 2160
|
||||
},
|
||||
"items": [],
|
||||
"allowed": false
|
||||
},
|
||||
{
|
||||
"quality": {
|
||||
"id": 18,
|
||||
"name": "WEBDL-2160p",
|
||||
"source": "web",
|
||||
"resolution": 2160
|
||||
},
|
||||
"items": [],
|
||||
"allowed": false
|
||||
},
|
||||
{
|
||||
"quality": {
|
||||
"id": 21,
|
||||
"name": "Bluray-2160p Remux",
|
||||
"source": "blurayRaw",
|
||||
"resolution": 2160
|
||||
},
|
||||
"items": [],
|
||||
"allowed": false
|
||||
}
|
||||
],
|
||||
"minFormatScore": 0,
|
||||
"cutoffFormatScore": 0,
|
||||
"formatItems": [
|
||||
{
|
||||
"format": 229,
|
||||
"name": "HR",
|
||||
"score": 30
|
||||
},
|
||||
{
|
||||
"format": 228,
|
||||
"name": "MAX",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 227,
|
||||
"name": "h265 (4k)",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 226,
|
||||
"name": "PCM",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 225,
|
||||
"name": "Blu-Ray (Remux)",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 224,
|
||||
"name": "h265",
|
||||
"score": 60
|
||||
},
|
||||
{
|
||||
"format": 214,
|
||||
"name": "LQ",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 213,
|
||||
"name": "EPSiLON",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 212,
|
||||
"name": "playBD",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 211,
|
||||
"name": "BLURANiUM",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 210,
|
||||
"name": "PmP",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 209,
|
||||
"name": "WiLDCAT",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 208,
|
||||
"name": "TRiToN",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 207,
|
||||
"name": "3L",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 206,
|
||||
"name": "Dolby Vision w/out Fallback",
|
||||
"score": -9999
|
||||
},
|
||||
{
|
||||
"format": 205,
|
||||
"name": "UHDBits",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 204,
|
||||
"name": "ATMOS (Missing)",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 203,
|
||||
"name": "TrueHD (Missing)",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 202,
|
||||
"name": "HDR10 (Missing)",
|
||||
"score": -9999
|
||||
},
|
||||
{
|
||||
"format": 201,
|
||||
"name": "HDR10",
|
||||
"score": -9999
|
||||
},
|
||||
{
|
||||
"format": 200,
|
||||
"name": "Dolby Vision",
|
||||
"score": -9999
|
||||
},
|
||||
{
|
||||
"format": 199,
|
||||
"name": "HDR10+",
|
||||
"score": -9999
|
||||
},
|
||||
{
|
||||
"format": 198,
|
||||
"name": "Stream Optimised",
|
||||
"score": 80
|
||||
},
|
||||
{
|
||||
"format": 197,
|
||||
"name": "LoRD",
|
||||
"score": 30
|
||||
},
|
||||
{
|
||||
"format": 196,
|
||||
"name": "Scene",
|
||||
"score": 20
|
||||
},
|
||||
{
|
||||
"format": 195,
|
||||
"name": "mHD",
|
||||
"score": -99999
|
||||
},
|
||||
{
|
||||
"format": 194,
|
||||
"name": "AV-1",
|
||||
"score": -9999
|
||||
},
|
||||
{
|
||||
"format": 193,
|
||||
"name": "VVC",
|
||||
"score": -9999
|
||||
},
|
||||
{
|
||||
"format": 192,
|
||||
"name": "Extras",
|
||||
"score": -9999
|
||||
},
|
||||
{
|
||||
"format": 191,
|
||||
"name": "480p",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 190,
|
||||
"name": "Dariush ",
|
||||
"score": 30
|
||||
},
|
||||
{
|
||||
"format": 189,
|
||||
"name": "TBB SD",
|
||||
"score": 30
|
||||
},
|
||||
{
|
||||
"format": 188,
|
||||
"name": "Xvid",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 187,
|
||||
"name": "DVD",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 186,
|
||||
"name": "DVD REMUX ",
|
||||
"score": 40
|
||||
},
|
||||
{
|
||||
"format": 185,
|
||||
"name": "HANDJOB SD",
|
||||
"score": 20
|
||||
},
|
||||
{
|
||||
"format": 184,
|
||||
"name": "iTunes (Missing)",
|
||||
"score": 90
|
||||
},
|
||||
{
|
||||
"format": 183,
|
||||
"name": "ROKU",
|
||||
"score": 190
|
||||
},
|
||||
{
|
||||
"format": 182,
|
||||
"name": "BeyondHD",
|
||||
"score": -9999
|
||||
},
|
||||
{
|
||||
"format": 181,
|
||||
"name": "Disc ",
|
||||
"score": -9999
|
||||
},
|
||||
{
|
||||
"format": 180,
|
||||
"name": "3D",
|
||||
"score": -9999
|
||||
},
|
||||
{
|
||||
"format": 179,
|
||||
"name": "Unwanted",
|
||||
"score": -9999
|
||||
},
|
||||
{
|
||||
"format": 178,
|
||||
"name": "RightSIZE",
|
||||
"score": 30
|
||||
},
|
||||
{
|
||||
"format": 177,
|
||||
"name": "Black and White",
|
||||
"score": -9999
|
||||
},
|
||||
{
|
||||
"format": 176,
|
||||
"name": "TrueHD",
|
||||
"score": -9999
|
||||
},
|
||||
{
|
||||
"format": 175,
|
||||
"name": "DTS-X",
|
||||
"score": -9999
|
||||
},
|
||||
{
|
||||
"format": 174,
|
||||
"name": "FLAC",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 173,
|
||||
"name": "DTS-HD MA",
|
||||
"score": -9999
|
||||
},
|
||||
{
|
||||
"format": 172,
|
||||
"name": "x265",
|
||||
"score": -9999
|
||||
},
|
||||
{
|
||||
"format": 171,
|
||||
"name": "IMAX",
|
||||
"score": 10
|
||||
},
|
||||
{
|
||||
"format": 170,
|
||||
"name": "ATMOS",
|
||||
"score": 10
|
||||
},
|
||||
{
|
||||
"format": 169,
|
||||
"name": "DD",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 168,
|
||||
"name": "DTS",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 167,
|
||||
"name": "DD+",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 166,
|
||||
"name": "iTunes",
|
||||
"score": 90
|
||||
},
|
||||
{
|
||||
"format": 165,
|
||||
"name": "Paramount+",
|
||||
"score": 190
|
||||
},
|
||||
{
|
||||
"format": 164,
|
||||
"name": "Peacock TV",
|
||||
"score": 190
|
||||
},
|
||||
{
|
||||
"format": 163,
|
||||
"name": "Hulu",
|
||||
"score": 190
|
||||
},
|
||||
{
|
||||
"format": 162,
|
||||
"name": "Netflix",
|
||||
"score": 200
|
||||
},
|
||||
{
|
||||
"format": 161,
|
||||
"name": "HBO Max",
|
||||
"score": 200
|
||||
},
|
||||
{
|
||||
"format": 160,
|
||||
"name": "Disney+",
|
||||
"score": 200
|
||||
},
|
||||
{
|
||||
"format": 159,
|
||||
"name": "Apple TV+",
|
||||
"score": 210
|
||||
},
|
||||
{
|
||||
"format": 158,
|
||||
"name": "Movies Anywhere",
|
||||
"score": 220
|
||||
},
|
||||
{
|
||||
"format": 157,
|
||||
"name": "Amazon Prime",
|
||||
"score": 210
|
||||
},
|
||||
{
|
||||
"format": 156,
|
||||
"name": "REMUX",
|
||||
"score": -9999
|
||||
},
|
||||
{
|
||||
"format": 155,
|
||||
"name": "x264",
|
||||
"score": 10
|
||||
},
|
||||
{
|
||||
"format": 154,
|
||||
"name": "WEBRip",
|
||||
"score": 10
|
||||
},
|
||||
{
|
||||
"format": 153,
|
||||
"name": "Blu-Ray",
|
||||
"score": 10
|
||||
},
|
||||
{
|
||||
"format": 152,
|
||||
"name": "2160p",
|
||||
"score": -9999
|
||||
},
|
||||
{
|
||||
"format": 151,
|
||||
"name": "720p",
|
||||
"score": -9999
|
||||
},
|
||||
{
|
||||
"format": 150,
|
||||
"name": "1080p",
|
||||
"score": 220
|
||||
},
|
||||
{
|
||||
"format": 149,
|
||||
"name": "BHDStudio",
|
||||
"score": 90
|
||||
},
|
||||
{
|
||||
"format": 148,
|
||||
"name": "LEGi0N",
|
||||
"score": 20
|
||||
},
|
||||
{
|
||||
"format": 147,
|
||||
"name": "FraMeSToR",
|
||||
"score": 20
|
||||
},
|
||||
{
|
||||
"format": 146,
|
||||
"name": "iFT",
|
||||
"score": 30
|
||||
},
|
||||
{
|
||||
"format": 145,
|
||||
"name": "MTeam",
|
||||
"score": -9999
|
||||
},
|
||||
{
|
||||
"format": 144,
|
||||
"name": "EDPH",
|
||||
"score": 20
|
||||
},
|
||||
{
|
||||
"format": 143,
|
||||
"name": "HANDJOB",
|
||||
"score": 20
|
||||
},
|
||||
{
|
||||
"format": 142,
|
||||
"name": "c0ke",
|
||||
"score": 70
|
||||
},
|
||||
{
|
||||
"format": 141,
|
||||
"name": "KASHMiR",
|
||||
"score": 30
|
||||
},
|
||||
{
|
||||
"format": 140,
|
||||
"name": "WMING",
|
||||
"score": 30
|
||||
},
|
||||
{
|
||||
"format": 139,
|
||||
"name": "playHD",
|
||||
"score": 30
|
||||
},
|
||||
{
|
||||
"format": 138,
|
||||
"name": "E.N.D",
|
||||
"score": 30
|
||||
},
|
||||
{
|
||||
"format": 137,
|
||||
"name": "GutS",
|
||||
"score": 30
|
||||
},
|
||||
{
|
||||
"format": 136,
|
||||
"name": "BV",
|
||||
"score": 30
|
||||
},
|
||||
{
|
||||
"format": 135,
|
||||
"name": "SiMPLE",
|
||||
"score": 30
|
||||
},
|
||||
{
|
||||
"format": 134,
|
||||
"name": "W4NK3R",
|
||||
"score": 30
|
||||
},
|
||||
{
|
||||
"format": 133,
|
||||
"name": "GS88",
|
||||
"score": 30
|
||||
},
|
||||
{
|
||||
"format": 132,
|
||||
"name": "HiP",
|
||||
"score": 40
|
||||
},
|
||||
{
|
||||
"format": 131,
|
||||
"name": "GALAXY",
|
||||
"score": 30
|
||||
},
|
||||
{
|
||||
"format": 130,
|
||||
"name": "luvBB",
|
||||
"score": 30
|
||||
},
|
||||
{
|
||||
"format": 129,
|
||||
"name": "NyHD",
|
||||
"score": 30
|
||||
},
|
||||
{
|
||||
"format": 128,
|
||||
"name": "ZIMBO",
|
||||
"score": 30
|
||||
},
|
||||
{
|
||||
"format": 127,
|
||||
"name": "ThD",
|
||||
"score": 30
|
||||
},
|
||||
{
|
||||
"format": 126,
|
||||
"name": "SaNcTi",
|
||||
"score": 30
|
||||
},
|
||||
{
|
||||
"format": 125,
|
||||
"name": "ORiGEN",
|
||||
"score": 30
|
||||
},
|
||||
{
|
||||
"format": 124,
|
||||
"name": "Positive",
|
||||
"score": 30
|
||||
},
|
||||
{
|
||||
"format": 123,
|
||||
"name": "ESiR",
|
||||
"score": 30
|
||||
},
|
||||
{
|
||||
"format": 122,
|
||||
"name": "Chotab",
|
||||
"score": 30
|
||||
},
|
||||
{
|
||||
"format": 121,
|
||||
"name": "xander",
|
||||
"score": 30
|
||||
},
|
||||
{
|
||||
"format": 120,
|
||||
"name": "FTW-HD",
|
||||
"score": 30
|
||||
},
|
||||
{
|
||||
"format": 119,
|
||||
"name": "Penumbra",
|
||||
"score": 30
|
||||
},
|
||||
{
|
||||
"format": 118,
|
||||
"name": "TDD",
|
||||
"score": 30
|
||||
},
|
||||
{
|
||||
"format": 117,
|
||||
"name": "Dariush SD",
|
||||
"score": 30
|
||||
},
|
||||
{
|
||||
"format": 116,
|
||||
"name": "PTer",
|
||||
"score": 30
|
||||
},
|
||||
{
|
||||
"format": 115,
|
||||
"name": "SbR",
|
||||
"score": 30
|
||||
},
|
||||
{
|
||||
"format": 114,
|
||||
"name": "nmd",
|
||||
"score": 30
|
||||
},
|
||||
{
|
||||
"format": 113,
|
||||
"name": "TBB",
|
||||
"score": 30
|
||||
},
|
||||
{
|
||||
"format": 112,
|
||||
"name": "EA",
|
||||
"score": 40
|
||||
},
|
||||
{
|
||||
"format": 111,
|
||||
"name": "BMF",
|
||||
"score": 40
|
||||
},
|
||||
{
|
||||
"format": 110,
|
||||
"name": "LolHD",
|
||||
"score": 40
|
||||
},
|
||||
{
|
||||
"format": 109,
|
||||
"name": "HDMaNiAcS",
|
||||
"score": 40
|
||||
},
|
||||
{
|
||||
"format": 108,
|
||||
"name": "IDE",
|
||||
"score": 40
|
||||
},
|
||||
{
|
||||
"format": 107,
|
||||
"name": "de[42]",
|
||||
"score": 50
|
||||
},
|
||||
{
|
||||
"format": 106,
|
||||
"name": "NCmt",
|
||||
"score": 60
|
||||
},
|
||||
{
|
||||
"format": 105,
|
||||
"name": "decibeL",
|
||||
"score": 50
|
||||
},
|
||||
{
|
||||
"format": 104,
|
||||
"name": "NTb",
|
||||
"score": 40
|
||||
},
|
||||
{
|
||||
"format": 103,
|
||||
"name": "CRiSC",
|
||||
"score": 50
|
||||
},
|
||||
{
|
||||
"format": 102,
|
||||
"name": "SA89",
|
||||
"score": 60
|
||||
},
|
||||
{
|
||||
"format": 101,
|
||||
"name": "HiDt",
|
||||
"score": 60
|
||||
},
|
||||
{
|
||||
"format": 100,
|
||||
"name": "FoRM",
|
||||
"score": 60
|
||||
},
|
||||
{
|
||||
"format": 99,
|
||||
"name": "HiFi",
|
||||
"score": 60
|
||||
},
|
||||
{
|
||||
"format": 98,
|
||||
"name": "CtrlHD",
|
||||
"score": 60
|
||||
},
|
||||
{
|
||||
"format": 97,
|
||||
"name": "VietHD",
|
||||
"score": 70
|
||||
},
|
||||
{
|
||||
"format": 96,
|
||||
"name": "ZQ",
|
||||
"score": 70
|
||||
},
|
||||
{
|
||||
"format": 95,
|
||||
"name": "TayTo",
|
||||
"score": 70
|
||||
},
|
||||
{
|
||||
"format": 94,
|
||||
"name": "Geek",
|
||||
"score": 70
|
||||
},
|
||||
{
|
||||
"format": 93,
|
||||
"name": "EbP",
|
||||
"score": 80
|
||||
},
|
||||
{
|
||||
"format": 92,
|
||||
"name": "DON",
|
||||
"score": 80
|
||||
},
|
||||
{
|
||||
"format": 91,
|
||||
"name": "D-Z0N3",
|
||||
"score": 80
|
||||
},
|
||||
{
|
||||
"format": 215,
|
||||
"name": "CJ",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 216,
|
||||
"name": "pcroland",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 217,
|
||||
"name": "BTN",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 218,
|
||||
"name": "iON",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 219,
|
||||
"name": "AJP69",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 220,
|
||||
"name": "VLAD",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 221,
|
||||
"name": "hdalx",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 223,
|
||||
"name": "LiNG",
|
||||
"score": 0
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
@@ -0,0 +1,934 @@
|
||||
[
|
||||
{
|
||||
"name": "2160p Optimal (Single Grab)",
|
||||
"upgradeAllowed": true,
|
||||
"cutoff": 21,
|
||||
"items": [
|
||||
{
|
||||
"quality": {
|
||||
"id": 0,
|
||||
"name": "Unknown",
|
||||
"source": "unknown",
|
||||
"resolution": 0
|
||||
},
|
||||
"items": [],
|
||||
"allowed": false
|
||||
},
|
||||
{
|
||||
"quality": {
|
||||
"id": 13,
|
||||
"name": "Bluray-480p",
|
||||
"source": "bluray",
|
||||
"resolution": 480
|
||||
},
|
||||
"items": [],
|
||||
"allowed": false
|
||||
},
|
||||
{
|
||||
"quality": {
|
||||
"id": 4,
|
||||
"name": "HDTV-720p",
|
||||
"source": "television",
|
||||
"resolution": 720
|
||||
},
|
||||
"items": [],
|
||||
"allowed": false
|
||||
},
|
||||
{
|
||||
"quality": {
|
||||
"id": 14,
|
||||
"name": "WEBRip-720p",
|
||||
"source": "webRip",
|
||||
"resolution": 720
|
||||
},
|
||||
"items": [],
|
||||
"allowed": false
|
||||
},
|
||||
{
|
||||
"quality": {
|
||||
"id": 5,
|
||||
"name": "WEBDL-720p",
|
||||
"source": "web",
|
||||
"resolution": 720
|
||||
},
|
||||
"items": [],
|
||||
"allowed": false
|
||||
},
|
||||
{
|
||||
"quality": {
|
||||
"id": 6,
|
||||
"name": "Bluray-720p",
|
||||
"source": "bluray",
|
||||
"resolution": 720
|
||||
},
|
||||
"items": [],
|
||||
"allowed": false
|
||||
},
|
||||
{
|
||||
"name": "Fallback SD",
|
||||
"items": [
|
||||
{
|
||||
"quality": {
|
||||
"id": 1,
|
||||
"name": "SDTV",
|
||||
"source": "television",
|
||||
"resolution": 480
|
||||
},
|
||||
"items": [],
|
||||
"allowed": false
|
||||
},
|
||||
{
|
||||
"quality": {
|
||||
"id": 12,
|
||||
"name": "WEBRip-480p",
|
||||
"source": "webRip",
|
||||
"resolution": 480
|
||||
},
|
||||
"items": [],
|
||||
"allowed": false
|
||||
},
|
||||
{
|
||||
"quality": {
|
||||
"id": 8,
|
||||
"name": "WEBDL-480p",
|
||||
"source": "web",
|
||||
"resolution": 480
|
||||
},
|
||||
"items": [],
|
||||
"allowed": false
|
||||
},
|
||||
{
|
||||
"quality": {
|
||||
"id": 2,
|
||||
"name": "DVD",
|
||||
"source": "dvd",
|
||||
"resolution": 480
|
||||
},
|
||||
"items": [],
|
||||
"allowed": false
|
||||
}
|
||||
],
|
||||
"allowed": false,
|
||||
"id": 1003
|
||||
},
|
||||
{
|
||||
"name": "Fallback 1080p",
|
||||
"items": [
|
||||
{
|
||||
"quality": {
|
||||
"id": 10,
|
||||
"name": "Raw-HD",
|
||||
"source": "televisionRaw",
|
||||
"resolution": 1080
|
||||
},
|
||||
"items": [],
|
||||
"allowed": false
|
||||
},
|
||||
{
|
||||
"quality": {
|
||||
"id": 9,
|
||||
"name": "HDTV-1080p",
|
||||
"source": "television",
|
||||
"resolution": 1080
|
||||
},
|
||||
"items": [],
|
||||
"allowed": false
|
||||
}
|
||||
],
|
||||
"allowed": false,
|
||||
"id": 1002
|
||||
},
|
||||
{
|
||||
"name": "Transparent Capable",
|
||||
"items": [
|
||||
{
|
||||
"quality": {
|
||||
"id": 3,
|
||||
"name": "WEBDL-1080p",
|
||||
"source": "web",
|
||||
"resolution": 1080
|
||||
},
|
||||
"items": [],
|
||||
"allowed": false
|
||||
},
|
||||
{
|
||||
"quality": {
|
||||
"id": 15,
|
||||
"name": "WEBRip-1080p",
|
||||
"source": "webRip",
|
||||
"resolution": 1080
|
||||
},
|
||||
"items": [],
|
||||
"allowed": false
|
||||
},
|
||||
{
|
||||
"quality": {
|
||||
"id": 7,
|
||||
"name": "Bluray-1080p",
|
||||
"source": "bluray",
|
||||
"resolution": 1080
|
||||
},
|
||||
"items": [],
|
||||
"allowed": false
|
||||
}
|
||||
],
|
||||
"allowed": false,
|
||||
"id": 1001
|
||||
},
|
||||
{
|
||||
"quality": {
|
||||
"id": 20,
|
||||
"name": "Bluray-1080p Remux",
|
||||
"source": "blurayRaw",
|
||||
"resolution": 1080
|
||||
},
|
||||
"items": [],
|
||||
"allowed": false
|
||||
},
|
||||
{
|
||||
"quality": {
|
||||
"id": 16,
|
||||
"name": "HDTV-2160p",
|
||||
"source": "television",
|
||||
"resolution": 2160
|
||||
},
|
||||
"items": [],
|
||||
"allowed": false
|
||||
},
|
||||
{
|
||||
"quality": {
|
||||
"id": 17,
|
||||
"name": "WEBRip-2160p",
|
||||
"source": "webRip",
|
||||
"resolution": 2160
|
||||
},
|
||||
"items": [],
|
||||
"allowed": false
|
||||
},
|
||||
{
|
||||
"quality": {
|
||||
"id": 19,
|
||||
"name": "Bluray-2160p",
|
||||
"source": "bluray",
|
||||
"resolution": 2160
|
||||
},
|
||||
"items": [],
|
||||
"allowed": false
|
||||
},
|
||||
{
|
||||
"quality": {
|
||||
"id": 18,
|
||||
"name": "WEBDL-2160p",
|
||||
"source": "web",
|
||||
"resolution": 2160
|
||||
},
|
||||
"items": [],
|
||||
"allowed": true
|
||||
},
|
||||
{
|
||||
"quality": {
|
||||
"id": 21,
|
||||
"name": "Bluray-2160p Remux",
|
||||
"source": "blurayRaw",
|
||||
"resolution": 2160
|
||||
},
|
||||
"items": [],
|
||||
"allowed": true
|
||||
}
|
||||
],
|
||||
"minFormatScore": 0,
|
||||
"cutoffFormatScore": 0,
|
||||
"formatItems": [
|
||||
{
|
||||
"format": 229,
|
||||
"name": "HR",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 228,
|
||||
"name": "MAX",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 227,
|
||||
"name": "h265 (4k)",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 226,
|
||||
"name": "PCM",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 225,
|
||||
"name": "Blu-Ray (Remux)",
|
||||
"score": 60
|
||||
},
|
||||
{
|
||||
"format": 224,
|
||||
"name": "h265",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 223,
|
||||
"name": "LiNG",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 214,
|
||||
"name": "LQ",
|
||||
"score": -9999
|
||||
},
|
||||
{
|
||||
"format": 213,
|
||||
"name": "EPSiLON",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 212,
|
||||
"name": "playBD",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 211,
|
||||
"name": "BLURANiUM",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 210,
|
||||
"name": "PmP",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 209,
|
||||
"name": "WiLDCAT",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 208,
|
||||
"name": "TRiToN",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 207,
|
||||
"name": "3L",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 206,
|
||||
"name": "Dolby Vision w/out Fallback",
|
||||
"score": -9999
|
||||
},
|
||||
{
|
||||
"format": 205,
|
||||
"name": "UHDBits",
|
||||
"score": -9999
|
||||
},
|
||||
{
|
||||
"format": 204,
|
||||
"name": "ATMOS (Missing)",
|
||||
"score": 10
|
||||
},
|
||||
{
|
||||
"format": 203,
|
||||
"name": "TrueHD (Missing)",
|
||||
"score": 50
|
||||
},
|
||||
{
|
||||
"format": 202,
|
||||
"name": "HDR10 (Missing)",
|
||||
"score": 10
|
||||
},
|
||||
{
|
||||
"format": 201,
|
||||
"name": "HDR10",
|
||||
"score": 10
|
||||
},
|
||||
{
|
||||
"format": 200,
|
||||
"name": "Dolby Vision",
|
||||
"score": 30
|
||||
},
|
||||
{
|
||||
"format": 199,
|
||||
"name": "HDR10+",
|
||||
"score": 20
|
||||
},
|
||||
{
|
||||
"format": 198,
|
||||
"name": "Stream Optimised",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 197,
|
||||
"name": "LoRD",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 196,
|
||||
"name": "Scene",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 195,
|
||||
"name": "mHD",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 194,
|
||||
"name": "AV-1",
|
||||
"score": -9999
|
||||
},
|
||||
{
|
||||
"format": 193,
|
||||
"name": "VVC",
|
||||
"score": -9999
|
||||
},
|
||||
{
|
||||
"format": 192,
|
||||
"name": "Extras",
|
||||
"score": -9999
|
||||
},
|
||||
{
|
||||
"format": 191,
|
||||
"name": "480p",
|
||||
"score": -9999
|
||||
},
|
||||
{
|
||||
"format": 190,
|
||||
"name": "Dariush ",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 189,
|
||||
"name": "TBB SD",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 188,
|
||||
"name": "Xvid",
|
||||
"score": -9999
|
||||
},
|
||||
{
|
||||
"format": 187,
|
||||
"name": "DVD",
|
||||
"score": -9999
|
||||
},
|
||||
{
|
||||
"format": 186,
|
||||
"name": "DVD REMUX ",
|
||||
"score": -9999
|
||||
},
|
||||
{
|
||||
"format": 185,
|
||||
"name": "HANDJOB SD",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 184,
|
||||
"name": "iTunes (Missing)",
|
||||
"score": 10
|
||||
},
|
||||
{
|
||||
"format": 183,
|
||||
"name": "ROKU",
|
||||
"score": 20
|
||||
},
|
||||
{
|
||||
"format": 182,
|
||||
"name": "BeyondHD",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 181,
|
||||
"name": "Disc ",
|
||||
"score": -9999
|
||||
},
|
||||
{
|
||||
"format": 180,
|
||||
"name": "3D",
|
||||
"score": -9999
|
||||
},
|
||||
{
|
||||
"format": 179,
|
||||
"name": "Unwanted",
|
||||
"score": -9999
|
||||
},
|
||||
{
|
||||
"format": 178,
|
||||
"name": "RightSIZE",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 177,
|
||||
"name": "Black and White",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 176,
|
||||
"name": "TrueHD",
|
||||
"score": 50
|
||||
},
|
||||
{
|
||||
"format": 175,
|
||||
"name": "DTS-X",
|
||||
"score": 60
|
||||
},
|
||||
{
|
||||
"format": 174,
|
||||
"name": "FLAC",
|
||||
"score": 40
|
||||
},
|
||||
{
|
||||
"format": 173,
|
||||
"name": "DTS-HD MA",
|
||||
"score": 40
|
||||
},
|
||||
{
|
||||
"format": 172,
|
||||
"name": "x265",
|
||||
"score": -9999
|
||||
},
|
||||
{
|
||||
"format": 171,
|
||||
"name": "IMAX",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 170,
|
||||
"name": "ATMOS",
|
||||
"score": 10
|
||||
},
|
||||
{
|
||||
"format": 169,
|
||||
"name": "DD",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 168,
|
||||
"name": "DTS",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 167,
|
||||
"name": "DD+",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 166,
|
||||
"name": "iTunes",
|
||||
"score": 10
|
||||
},
|
||||
{
|
||||
"format": 165,
|
||||
"name": "Paramount+",
|
||||
"score": 20
|
||||
},
|
||||
{
|
||||
"format": 164,
|
||||
"name": "Peacock TV",
|
||||
"score": 20
|
||||
},
|
||||
{
|
||||
"format": 163,
|
||||
"name": "Hulu",
|
||||
"score": 20
|
||||
},
|
||||
{
|
||||
"format": 162,
|
||||
"name": "Netflix",
|
||||
"score": 30
|
||||
},
|
||||
{
|
||||
"format": 161,
|
||||
"name": "HBO Max",
|
||||
"score": 30
|
||||
},
|
||||
{
|
||||
"format": 160,
|
||||
"name": "Disney+",
|
||||
"score": 30
|
||||
},
|
||||
{
|
||||
"format": 159,
|
||||
"name": "Apple TV+",
|
||||
"score": 40
|
||||
},
|
||||
{
|
||||
"format": 158,
|
||||
"name": "Movies Anywhere",
|
||||
"score": 50
|
||||
},
|
||||
{
|
||||
"format": 157,
|
||||
"name": "Amazon Prime",
|
||||
"score": 40
|
||||
},
|
||||
{
|
||||
"format": 156,
|
||||
"name": "REMUX",
|
||||
"score": 60
|
||||
},
|
||||
{
|
||||
"format": 155,
|
||||
"name": "x264",
|
||||
"score": -9999
|
||||
},
|
||||
{
|
||||
"format": 154,
|
||||
"name": "WEBRip",
|
||||
"score": -9999
|
||||
},
|
||||
{
|
||||
"format": 153,
|
||||
"name": "Blu-Ray",
|
||||
"score": 60
|
||||
},
|
||||
{
|
||||
"format": 152,
|
||||
"name": "2160p",
|
||||
"score": 60
|
||||
},
|
||||
{
|
||||
"format": 151,
|
||||
"name": "720p",
|
||||
"score": -9999
|
||||
},
|
||||
{
|
||||
"format": 150,
|
||||
"name": "1080p",
|
||||
"score": -9999
|
||||
},
|
||||
{
|
||||
"format": 149,
|
||||
"name": "BHDStudio",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 148,
|
||||
"name": "LEGi0N",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 147,
|
||||
"name": "FraMeSToR",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 146,
|
||||
"name": "iFT",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 145,
|
||||
"name": "MTeam",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 144,
|
||||
"name": "EDPH",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 143,
|
||||
"name": "HANDJOB",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 142,
|
||||
"name": "c0ke",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 141,
|
||||
"name": "KASHMiR",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 140,
|
||||
"name": "WMING",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 139,
|
||||
"name": "playHD",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 138,
|
||||
"name": "E.N.D",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 137,
|
||||
"name": "GutS",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 136,
|
||||
"name": "BV",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 135,
|
||||
"name": "SiMPLE",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 134,
|
||||
"name": "W4NK3R",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 133,
|
||||
"name": "GS88",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 132,
|
||||
"name": "HiP",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 131,
|
||||
"name": "GALAXY",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 130,
|
||||
"name": "luvBB",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 129,
|
||||
"name": "NyHD",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 128,
|
||||
"name": "ZIMBO",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 127,
|
||||
"name": "ThD",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 126,
|
||||
"name": "SaNcTi",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 125,
|
||||
"name": "ORiGEN",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 124,
|
||||
"name": "Positive",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 123,
|
||||
"name": "ESiR",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 122,
|
||||
"name": "Chotab",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 121,
|
||||
"name": "xander",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 120,
|
||||
"name": "FTW-HD",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 119,
|
||||
"name": "Penumbra",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 118,
|
||||
"name": "TDD",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 117,
|
||||
"name": "Dariush SD",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 116,
|
||||
"name": "PTer",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 115,
|
||||
"name": "SbR",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 114,
|
||||
"name": "nmd",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 113,
|
||||
"name": "TBB",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 112,
|
||||
"name": "EA",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 111,
|
||||
"name": "BMF",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 110,
|
||||
"name": "LolHD",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 109,
|
||||
"name": "HDMaNiAcS",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 108,
|
||||
"name": "IDE",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 107,
|
||||
"name": "de[42]",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 106,
|
||||
"name": "NCmt",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 105,
|
||||
"name": "decibeL",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 104,
|
||||
"name": "NTb",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 103,
|
||||
"name": "CRiSC",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 102,
|
||||
"name": "SA89",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 101,
|
||||
"name": "HiDt",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 100,
|
||||
"name": "FoRM",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 99,
|
||||
"name": "HiFi",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 98,
|
||||
"name": "CtrlHD",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 97,
|
||||
"name": "VietHD",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 96,
|
||||
"name": "ZQ",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 95,
|
||||
"name": "TayTo",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 94,
|
||||
"name": "Geek",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 93,
|
||||
"name": "EbP",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 92,
|
||||
"name": "DON",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 91,
|
||||
"name": "D-Z0N3",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 215,
|
||||
"name": "CJ",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 216,
|
||||
"name": "pcroland",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 217,
|
||||
"name": "BTN",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 218,
|
||||
"name": "iON",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 219,
|
||||
"name": "AJP69",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 220,
|
||||
"name": "VLAD",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 221,
|
||||
"name": "hdalx",
|
||||
"score": 0
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
@@ -0,0 +1,934 @@
|
||||
[
|
||||
{
|
||||
"name": "2160p Optimal",
|
||||
"upgradeAllowed": true,
|
||||
"cutoff": 21,
|
||||
"items": [
|
||||
{
|
||||
"quality": {
|
||||
"id": 0,
|
||||
"name": "Unknown",
|
||||
"source": "unknown",
|
||||
"resolution": 0
|
||||
},
|
||||
"items": [],
|
||||
"allowed": false
|
||||
},
|
||||
{
|
||||
"quality": {
|
||||
"id": 13,
|
||||
"name": "Bluray-480p",
|
||||
"source": "bluray",
|
||||
"resolution": 480
|
||||
},
|
||||
"items": [],
|
||||
"allowed": false
|
||||
},
|
||||
{
|
||||
"quality": {
|
||||
"id": 4,
|
||||
"name": "HDTV-720p",
|
||||
"source": "television",
|
||||
"resolution": 720
|
||||
},
|
||||
"items": [],
|
||||
"allowed": false
|
||||
},
|
||||
{
|
||||
"quality": {
|
||||
"id": 14,
|
||||
"name": "WEBRip-720p",
|
||||
"source": "webRip",
|
||||
"resolution": 720
|
||||
},
|
||||
"items": [],
|
||||
"allowed": false
|
||||
},
|
||||
{
|
||||
"quality": {
|
||||
"id": 5,
|
||||
"name": "WEBDL-720p",
|
||||
"source": "web",
|
||||
"resolution": 720
|
||||
},
|
||||
"items": [],
|
||||
"allowed": false
|
||||
},
|
||||
{
|
||||
"quality": {
|
||||
"id": 6,
|
||||
"name": "Bluray-720p",
|
||||
"source": "bluray",
|
||||
"resolution": 720
|
||||
},
|
||||
"items": [],
|
||||
"allowed": false
|
||||
},
|
||||
{
|
||||
"name": "Fallback SD",
|
||||
"items": [
|
||||
{
|
||||
"quality": {
|
||||
"id": 1,
|
||||
"name": "SDTV",
|
||||
"source": "television",
|
||||
"resolution": 480
|
||||
},
|
||||
"items": [],
|
||||
"allowed": false
|
||||
},
|
||||
{
|
||||
"quality": {
|
||||
"id": 12,
|
||||
"name": "WEBRip-480p",
|
||||
"source": "webRip",
|
||||
"resolution": 480
|
||||
},
|
||||
"items": [],
|
||||
"allowed": false
|
||||
},
|
||||
{
|
||||
"quality": {
|
||||
"id": 8,
|
||||
"name": "WEBDL-480p",
|
||||
"source": "web",
|
||||
"resolution": 480
|
||||
},
|
||||
"items": [],
|
||||
"allowed": false
|
||||
},
|
||||
{
|
||||
"quality": {
|
||||
"id": 2,
|
||||
"name": "DVD",
|
||||
"source": "dvd",
|
||||
"resolution": 480
|
||||
},
|
||||
"items": [],
|
||||
"allowed": false
|
||||
}
|
||||
],
|
||||
"allowed": false,
|
||||
"id": 1003
|
||||
},
|
||||
{
|
||||
"name": "Fallback 1080p",
|
||||
"items": [
|
||||
{
|
||||
"quality": {
|
||||
"id": 10,
|
||||
"name": "Raw-HD",
|
||||
"source": "televisionRaw",
|
||||
"resolution": 1080
|
||||
},
|
||||
"items": [],
|
||||
"allowed": false
|
||||
},
|
||||
{
|
||||
"quality": {
|
||||
"id": 9,
|
||||
"name": "HDTV-1080p",
|
||||
"source": "television",
|
||||
"resolution": 1080
|
||||
},
|
||||
"items": [],
|
||||
"allowed": false
|
||||
}
|
||||
],
|
||||
"allowed": false,
|
||||
"id": 1002
|
||||
},
|
||||
{
|
||||
"name": "Transparent Capable",
|
||||
"items": [
|
||||
{
|
||||
"quality": {
|
||||
"id": 3,
|
||||
"name": "WEBDL-1080p",
|
||||
"source": "web",
|
||||
"resolution": 1080
|
||||
},
|
||||
"items": [],
|
||||
"allowed": false
|
||||
},
|
||||
{
|
||||
"quality": {
|
||||
"id": 15,
|
||||
"name": "WEBRip-1080p",
|
||||
"source": "webRip",
|
||||
"resolution": 1080
|
||||
},
|
||||
"items": [],
|
||||
"allowed": false
|
||||
},
|
||||
{
|
||||
"quality": {
|
||||
"id": 7,
|
||||
"name": "Bluray-1080p",
|
||||
"source": "bluray",
|
||||
"resolution": 1080
|
||||
},
|
||||
"items": [],
|
||||
"allowed": false
|
||||
}
|
||||
],
|
||||
"allowed": false,
|
||||
"id": 1001
|
||||
},
|
||||
{
|
||||
"quality": {
|
||||
"id": 20,
|
||||
"name": "Bluray-1080p Remux",
|
||||
"source": "blurayRaw",
|
||||
"resolution": 1080
|
||||
},
|
||||
"items": [],
|
||||
"allowed": false
|
||||
},
|
||||
{
|
||||
"quality": {
|
||||
"id": 16,
|
||||
"name": "HDTV-2160p",
|
||||
"source": "television",
|
||||
"resolution": 2160
|
||||
},
|
||||
"items": [],
|
||||
"allowed": false
|
||||
},
|
||||
{
|
||||
"quality": {
|
||||
"id": 17,
|
||||
"name": "WEBRip-2160p",
|
||||
"source": "webRip",
|
||||
"resolution": 2160
|
||||
},
|
||||
"items": [],
|
||||
"allowed": false
|
||||
},
|
||||
{
|
||||
"quality": {
|
||||
"id": 19,
|
||||
"name": "Bluray-2160p",
|
||||
"source": "bluray",
|
||||
"resolution": 2160
|
||||
},
|
||||
"items": [],
|
||||
"allowed": false
|
||||
},
|
||||
{
|
||||
"quality": {
|
||||
"id": 18,
|
||||
"name": "WEBDL-2160p",
|
||||
"source": "web",
|
||||
"resolution": 2160
|
||||
},
|
||||
"items": [],
|
||||
"allowed": true
|
||||
},
|
||||
{
|
||||
"quality": {
|
||||
"id": 21,
|
||||
"name": "Bluray-2160p Remux",
|
||||
"source": "blurayRaw",
|
||||
"resolution": 2160
|
||||
},
|
||||
"items": [],
|
||||
"allowed": true
|
||||
}
|
||||
],
|
||||
"minFormatScore": 0,
|
||||
"cutoffFormatScore": 320,
|
||||
"formatItems": [
|
||||
{
|
||||
"format": 229,
|
||||
"name": "HR",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 228,
|
||||
"name": "MAX",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 227,
|
||||
"name": "h265 (4k)",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 226,
|
||||
"name": "PCM",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 225,
|
||||
"name": "Blu-Ray (Remux)",
|
||||
"score": 60
|
||||
},
|
||||
{
|
||||
"format": 224,
|
||||
"name": "h265",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 223,
|
||||
"name": "LiNG",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 214,
|
||||
"name": "LQ",
|
||||
"score": -9999
|
||||
},
|
||||
{
|
||||
"format": 213,
|
||||
"name": "EPSiLON",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 212,
|
||||
"name": "playBD",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 211,
|
||||
"name": "BLURANiUM",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 210,
|
||||
"name": "PmP",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 209,
|
||||
"name": "WiLDCAT",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 208,
|
||||
"name": "TRiToN",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 207,
|
||||
"name": "3L",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 206,
|
||||
"name": "Dolby Vision w/out Fallback",
|
||||
"score": -9999
|
||||
},
|
||||
{
|
||||
"format": 205,
|
||||
"name": "UHDBits",
|
||||
"score": -9999
|
||||
},
|
||||
{
|
||||
"format": 204,
|
||||
"name": "ATMOS (Missing)",
|
||||
"score": 10
|
||||
},
|
||||
{
|
||||
"format": 203,
|
||||
"name": "TrueHD (Missing)",
|
||||
"score": 50
|
||||
},
|
||||
{
|
||||
"format": 202,
|
||||
"name": "HDR10 (Missing)",
|
||||
"score": 10
|
||||
},
|
||||
{
|
||||
"format": 201,
|
||||
"name": "HDR10",
|
||||
"score": 10
|
||||
},
|
||||
{
|
||||
"format": 200,
|
||||
"name": "Dolby Vision",
|
||||
"score": 30
|
||||
},
|
||||
{
|
||||
"format": 199,
|
||||
"name": "HDR10+",
|
||||
"score": 20
|
||||
},
|
||||
{
|
||||
"format": 198,
|
||||
"name": "Stream Optimised",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 197,
|
||||
"name": "LoRD",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 196,
|
||||
"name": "Scene",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 195,
|
||||
"name": "mHD",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 194,
|
||||
"name": "AV-1",
|
||||
"score": -9999
|
||||
},
|
||||
{
|
||||
"format": 193,
|
||||
"name": "VVC",
|
||||
"score": -9999
|
||||
},
|
||||
{
|
||||
"format": 192,
|
||||
"name": "Extras",
|
||||
"score": -9999
|
||||
},
|
||||
{
|
||||
"format": 191,
|
||||
"name": "480p",
|
||||
"score": -9999
|
||||
},
|
||||
{
|
||||
"format": 190,
|
||||
"name": "Dariush ",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 189,
|
||||
"name": "TBB SD",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 188,
|
||||
"name": "Xvid",
|
||||
"score": -9999
|
||||
},
|
||||
{
|
||||
"format": 187,
|
||||
"name": "DVD",
|
||||
"score": -9999
|
||||
},
|
||||
{
|
||||
"format": 186,
|
||||
"name": "DVD REMUX ",
|
||||
"score": -9999
|
||||
},
|
||||
{
|
||||
"format": 185,
|
||||
"name": "HANDJOB SD",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 184,
|
||||
"name": "iTunes (Missing)",
|
||||
"score": 10
|
||||
},
|
||||
{
|
||||
"format": 183,
|
||||
"name": "ROKU",
|
||||
"score": 20
|
||||
},
|
||||
{
|
||||
"format": 182,
|
||||
"name": "BeyondHD",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 181,
|
||||
"name": "Disc ",
|
||||
"score": -9999
|
||||
},
|
||||
{
|
||||
"format": 180,
|
||||
"name": "3D",
|
||||
"score": -9999
|
||||
},
|
||||
{
|
||||
"format": 179,
|
||||
"name": "Unwanted",
|
||||
"score": -9999
|
||||
},
|
||||
{
|
||||
"format": 178,
|
||||
"name": "RightSIZE",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 177,
|
||||
"name": "Black and White",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 176,
|
||||
"name": "TrueHD",
|
||||
"score": 50
|
||||
},
|
||||
{
|
||||
"format": 175,
|
||||
"name": "DTS-X",
|
||||
"score": 60
|
||||
},
|
||||
{
|
||||
"format": 174,
|
||||
"name": "FLAC",
|
||||
"score": 40
|
||||
},
|
||||
{
|
||||
"format": 173,
|
||||
"name": "DTS-HD MA",
|
||||
"score": 40
|
||||
},
|
||||
{
|
||||
"format": 172,
|
||||
"name": "x265",
|
||||
"score": -9999
|
||||
},
|
||||
{
|
||||
"format": 171,
|
||||
"name": "IMAX",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 170,
|
||||
"name": "ATMOS",
|
||||
"score": 10
|
||||
},
|
||||
{
|
||||
"format": 169,
|
||||
"name": "DD",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 168,
|
||||
"name": "DTS",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 167,
|
||||
"name": "DD+",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 166,
|
||||
"name": "iTunes",
|
||||
"score": 10
|
||||
},
|
||||
{
|
||||
"format": 165,
|
||||
"name": "Paramount+",
|
||||
"score": 20
|
||||
},
|
||||
{
|
||||
"format": 164,
|
||||
"name": "Peacock TV",
|
||||
"score": 20
|
||||
},
|
||||
{
|
||||
"format": 163,
|
||||
"name": "Hulu",
|
||||
"score": 20
|
||||
},
|
||||
{
|
||||
"format": 162,
|
||||
"name": "Netflix",
|
||||
"score": 30
|
||||
},
|
||||
{
|
||||
"format": 161,
|
||||
"name": "HBO Max",
|
||||
"score": 30
|
||||
},
|
||||
{
|
||||
"format": 160,
|
||||
"name": "Disney+",
|
||||
"score": 30
|
||||
},
|
||||
{
|
||||
"format": 159,
|
||||
"name": "Apple TV+",
|
||||
"score": 40
|
||||
},
|
||||
{
|
||||
"format": 158,
|
||||
"name": "Movies Anywhere",
|
||||
"score": 50
|
||||
},
|
||||
{
|
||||
"format": 157,
|
||||
"name": "Amazon Prime",
|
||||
"score": 40
|
||||
},
|
||||
{
|
||||
"format": 156,
|
||||
"name": "REMUX",
|
||||
"score": 60
|
||||
},
|
||||
{
|
||||
"format": 155,
|
||||
"name": "x264",
|
||||
"score": -9999
|
||||
},
|
||||
{
|
||||
"format": 154,
|
||||
"name": "WEBRip",
|
||||
"score": -9999
|
||||
},
|
||||
{
|
||||
"format": 153,
|
||||
"name": "Blu-Ray",
|
||||
"score": 60
|
||||
},
|
||||
{
|
||||
"format": 152,
|
||||
"name": "2160p",
|
||||
"score": 60
|
||||
},
|
||||
{
|
||||
"format": 151,
|
||||
"name": "720p",
|
||||
"score": -9999
|
||||
},
|
||||
{
|
||||
"format": 150,
|
||||
"name": "1080p",
|
||||
"score": -9999
|
||||
},
|
||||
{
|
||||
"format": 149,
|
||||
"name": "BHDStudio",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 148,
|
||||
"name": "LEGi0N",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 147,
|
||||
"name": "FraMeSToR",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 146,
|
||||
"name": "iFT",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 145,
|
||||
"name": "MTeam",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 144,
|
||||
"name": "EDPH",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 143,
|
||||
"name": "HANDJOB",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 142,
|
||||
"name": "c0ke",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 141,
|
||||
"name": "KASHMiR",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 140,
|
||||
"name": "WMING",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 139,
|
||||
"name": "playHD",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 138,
|
||||
"name": "E.N.D",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 137,
|
||||
"name": "GutS",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 136,
|
||||
"name": "BV",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 135,
|
||||
"name": "SiMPLE",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 134,
|
||||
"name": "W4NK3R",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 133,
|
||||
"name": "GS88",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 132,
|
||||
"name": "HiP",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 131,
|
||||
"name": "GALAXY",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 130,
|
||||
"name": "luvBB",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 129,
|
||||
"name": "NyHD",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 128,
|
||||
"name": "ZIMBO",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 127,
|
||||
"name": "ThD",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 126,
|
||||
"name": "SaNcTi",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 125,
|
||||
"name": "ORiGEN",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 124,
|
||||
"name": "Positive",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 123,
|
||||
"name": "ESiR",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 122,
|
||||
"name": "Chotab",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 121,
|
||||
"name": "xander",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 120,
|
||||
"name": "FTW-HD",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 119,
|
||||
"name": "Penumbra",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 118,
|
||||
"name": "TDD",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 117,
|
||||
"name": "Dariush SD",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 116,
|
||||
"name": "PTer",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 115,
|
||||
"name": "SbR",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 114,
|
||||
"name": "nmd",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 113,
|
||||
"name": "TBB",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 112,
|
||||
"name": "EA",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 111,
|
||||
"name": "BMF",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 110,
|
||||
"name": "LolHD",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 109,
|
||||
"name": "HDMaNiAcS",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 108,
|
||||
"name": "IDE",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 107,
|
||||
"name": "de[42]",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 106,
|
||||
"name": "NCmt",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 105,
|
||||
"name": "decibeL",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 104,
|
||||
"name": "NTb",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 103,
|
||||
"name": "CRiSC",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 102,
|
||||
"name": "SA89",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 101,
|
||||
"name": "HiDt",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 100,
|
||||
"name": "FoRM",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 99,
|
||||
"name": "HiFi",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 98,
|
||||
"name": "CtrlHD",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 97,
|
||||
"name": "VietHD",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 96,
|
||||
"name": "ZQ",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 95,
|
||||
"name": "TayTo",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 94,
|
||||
"name": "Geek",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 93,
|
||||
"name": "EbP",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 92,
|
||||
"name": "DON",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 91,
|
||||
"name": "D-Z0N3",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 215,
|
||||
"name": "CJ",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 216,
|
||||
"name": "pcroland",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 217,
|
||||
"name": "BTN",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 218,
|
||||
"name": "iON",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 219,
|
||||
"name": "AJP69",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 220,
|
||||
"name": "VLAD",
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"format": 221,
|
||||
"name": "hdalx",
|
||||
"score": 0
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
2
requirements.txt
Normal file
2
requirements.txt
Normal file
@@ -0,0 +1,2 @@
|
||||
PyYAML==6.0.1
|
||||
Requests==2.31.0
|
||||
24
setup.py
Normal file
24
setup.py
Normal file
@@ -0,0 +1,24 @@
|
||||
config_content = """
|
||||
instances:
|
||||
radarr:
|
||||
- name: "Master"
|
||||
base_url: "http://localhost:7878"
|
||||
api_key: "API_KEY"
|
||||
- name: "4k-radarr"
|
||||
base_url: "http://localhost:7887"
|
||||
api_key: "API_KEY"
|
||||
sonarr:
|
||||
- name: "Master"
|
||||
base_url: "http://localhost:8989"
|
||||
api_key: "API_KEY"
|
||||
- name: "4k-sonarr"
|
||||
base_url: "http://localhost:8998"
|
||||
api_key: "API_KEY"
|
||||
settings:
|
||||
export_path: "./exports"
|
||||
import_path: "./imports"
|
||||
|
||||
"""
|
||||
|
||||
with open('config.yml', 'w') as file:
|
||||
file.write(config_content)
|
||||
22
syncarr.py
Normal file
22
syncarr.py
Normal file
@@ -0,0 +1,22 @@
|
||||
from exportarr import export_custom_formats, export_quality_profiles
|
||||
from importarr import import_custom_formats, import_quality_profiles
|
||||
from helpers import load_config, get_app_choice
|
||||
|
||||
def main():
|
||||
app = get_app_choice().lower() # Convert to lowercase
|
||||
config = load_config() # Load the entire configuration
|
||||
|
||||
# Now app will be 'radarr' or 'sonarr', matching the keys in the config dictionary
|
||||
master_instance = next((inst for inst in config['instances'][app] if inst['name'] == 'Master'), None)
|
||||
extra_instances = [inst for inst in config['instances'][app] if inst['name'] != 'Master']
|
||||
|
||||
if master_instance:
|
||||
export_custom_formats(app, [master_instance], config)
|
||||
export_quality_profiles(app, [master_instance], config)
|
||||
|
||||
if extra_instances:
|
||||
import_custom_formats(app, extra_instances)
|
||||
import_quality_profiles(app, extra_instances)
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
Reference in New Issue
Block a user