diff --git a/.github/workflows/metadata-validation.yml b/.github/workflows/metadata-validation.yml new file mode 100644 index 000000000..88546450d --- /dev/null +++ b/.github/workflows/metadata-validation.yml @@ -0,0 +1,25 @@ +name: Validate Metadata JSON + +on: + push: + paths: + - metadata.json + - metadata.schema.json + - .github/workflows/metadata-validation.yml + pull_request: + paths: + - metadata.json + - metadata.schema.json + - .github/workflows/metadata-validation.yml + +jobs: + validate: + runs-on: ubuntu-latest + name: Validate metadata.json + steps: + - uses: actions/checkout@v3 + - uses: actions/setup-python@v4 + with: + python-version: "3.x" + - run: pip install jsonschema + - run: jsonschema -i metadata.json metadata.schema.json diff --git a/docs/Sonarr/Sonarr-Release-Profile-RegEx.md b/docs/Sonarr/Sonarr-Release-Profile-RegEx.md index 8c997d0fb..6b401181b 100644 --- a/docs/Sonarr/Sonarr-Release-Profile-RegEx.md +++ b/docs/Sonarr/Sonarr-Release-Profile-RegEx.md @@ -497,7 +497,7 @@ Add this to your `Must not contain (2)` Add this to your `Must not contain (2)` ```bash -/^(?!.*(web[ ]dl|-deflate|-inflate))(?=.*([_. ]WEB[_. ]|-CAKES\b|-GGEZ\b|-GGWP\b|-GLHF\b|-KOGI\b)).*/i +/^(?!.*(web[ ]dl|-deflate|-inflate))(?=.*([_. ]WEB[_. ]|-CAKES\b|-GGEZ\b|-GGWP\b|-GLHF\b|-GOSSIP\b|-KOGI\b|-PECULATE\b)).*/i ``` diff --git a/docs/json/radarr/extras.json b/docs/json/radarr/extras.json new file mode 100644 index 000000000..62f7b3423 --- /dev/null +++ b/docs/json/radarr/extras.json @@ -0,0 +1,17 @@ +{ + "trash_id": "0a3f082873eb454bde444150b70253cc", + "trash_score": "-10000", + "name": "Extras", + "includeCustomFormatWhenRenaming": false, + "specifications": [ + { + "name": "Extras", + "implementation": "ReleaseTitleSpecification", + "negate": false, + "required": true, + "fields": { + "value": "(?<=\\b[12]\\d{3}\\b).*\\b(Extras)\\b" + } + } + ] +} diff --git a/docs/json/radarr/hq-webdl.json b/docs/json/radarr/hq-webdl.json index f5aaf0807..ae2ba425d 100644 --- a/docs/json/radarr/hq-webdl.json +++ b/docs/json/radarr/hq-webdl.json @@ -58,6 +58,15 @@ "value": "\\bCMRG\\b" } }, + { + "name": "CRFW", + "implementation": "ReleaseTitleSpecification", + "negate": false, + "required": false, + "fields": { + "value": "\\bCRFW\\b" + } + }, { "name": "CRUD", "implementation": "ReleaseTitleSpecification", diff --git a/docs/json/radarr/web-tier-01.json b/docs/json/radarr/web-tier-01.json index ea9e3fe8a..a441cd902 100644 --- a/docs/json/radarr/web-tier-01.json +++ b/docs/json/radarr/web-tier-01.json @@ -58,6 +58,15 @@ "value": "CMRG\\b" } }, + { + "name": "CRFW", + "implementation": "ReleaseGroupSpecification", + "negate": false, + "required": false, + "fields": { + "value": "CRFW\\b" + } + }, { "name": "CRUD", "implementation": "ReleaseGroupSpecification", diff --git a/docs/json/sonarr/optionals.json b/docs/json/sonarr/optionals.json index 526453990..e1f2d7085 100644 --- a/docs/json/sonarr/optionals.json +++ b/docs/json/sonarr/optionals.json @@ -16,7 +16,7 @@ }, { "name": "Ignore so called scene releases", "trash_id": "5bc23c3a055a1a5d8bbe4fb49d80e0cb", - "term": "/^(?!.*(web[ ]dl|-deflate|-inflate))(?=.*([_. ]WEB[_. ]|-CAKES\\b|-GGEZ\\b|-GGWP\\b|-GLHF\\b|-KOGI\\b)).*/i" + "term": "/^(?!.*(web[ ]dl|-deflate|-inflate))(?=.*([_. ]WEB[_. ]|-CAKES\\b|-GGEZ\\b|-GGWP\\b|-GLHF\\b|-GOSSIP\\b|-KOGI\\b|-PECULATE\\b)).*/i" }, { "name": "Dislike Bad Dual Audio Groups", "trash_id": "538bad00ee6f8aced8e0db5218b8484c", diff --git a/metadata.schema.json b/metadata.schema.json index 2f94ffbbc..ecc767d91 100644 --- a/metadata.schema.json +++ b/metadata.schema.json @@ -1,5 +1,5 @@ { - "$schema": "https://json-schema.org/draft/2020-12/schema", + "$schema": "https://json-schema.org/draft-07/schema", "$id": "https://raw.githubusercontent.com/TRaSH-/Guides/master/metadata.schema.json", "type": "object", "additionalProperties": false, @@ -9,8 +9,8 @@ "type": "object", "additionalProperties": false, "properties": { - "radarr": "#/$defs/radarr", - "sonarr": "#/$defs/sonarr" + "radarr": { "$ref": "#/$defs/radarr" }, + "sonarr": { "$ref": "#/$defs/sonarr" } } } }, @@ -27,14 +27,14 @@ "type": "object", "additionalProperties": false, "properties": { - "custom_formats": "#/$defs/custom_formats" + "custom_formats": { "$ref": "#/$defs/custom_formats" } } }, "sonarr": { "type": "object", "additionalProperties": false, "properties": { - "release_profiles": "#/$defs/release_profiles" + "release_profiles": { "$ref": "#/$defs/release_profiles" } } } }