diff --git a/src/Jackett.Common/Definitions/yggcookie.yml b/src/Jackett.Common/Definitions/yggcookie.yml
index 21bc1f94b..de1d8edae 100644
--- a/src/Jackett.Common/Definitions/yggcookie.yml
+++ b/src/Jackett.Common/Definitions/yggcookie.yml
@@ -125,19 +125,79 @@ settings:
label: Category
default: all
options:
- all: Tous
- 2145: Film/Vidéo
- 2139: Audio
- 2144: Application
- 2142: Jeu vidéo
- 2140: eBook
- 2141: Emulation
- 2143: GPS
- 2188: XXX
- - name: filter_title
- type: checkbox
- label: Try to normalize releases names by moving year after the title
- default: false
+ all: "Tous"
+ 2145: "Film/Vidéo"
+ 2139: "Audio"
+ 2144: "Application"
+ 2142: "Jeu vidéo"
+ 2140: "eBook"
+ 2300: "Nulled"
+ 2200: "Imprimante 3D"
+ 2141: "Emulation"
+ 2143: "GPS"
+ 2188: "XXX"
+ - name: subcategory
+ type: select
+ label: Sub-category
+ default: all
+ options:
+ all: "Tous"
+ 2178: "Film/Vidéo : Animation"
+ 2179: "Film/Vidéo : Animation Série"
+ 2180: "Film/Vidéo : Concert"
+ 2181: "Film/Vidéo : Documentaire"
+ 2182: "Film/Vidéo : Emission TV"
+ 2183: "Film/Vidéo : Film"
+ 2184: "Film/Vidéo : Série TV"
+ 2185: "Film/Vidéo : Spectacle"
+ 2186: "Film/Vidéo : Sport"
+ 2187: "Film/Vidéo : Vidéo-clips"
+ 2147: "Audio : Karaoké"
+ 2148: "Audio : Musique"
+ 2150: "Audio : Podcast Radio"
+ 2149: "Audio : Samples"
+ 2177: "Application : Autre"
+ 2176: "Application : Formation"
+ 2171: "Application : Linux"
+ 2172: "Application : MacOS"
+ 2174: "Application : Smartphone"
+ 2175: "Application : Tablette"
+ 2173: "Application : Windows"
+ 2167: "Jeu vidéo : Autre"
+ 2159: "Jeu vidéo : Linux"
+ 2160: "Jeu vidéo : MacOS"
+ 2162: "Jeu vidéo : Microsoft"
+ 2163: "Jeu vidéo : Nintendo"
+ 2165: "Jeu vidéo : Smartphone"
+ 2164: "Jeu vidéo : Sony"
+ 2166: "Jeu vidéo : Tablette"
+ 2161: "Jeu vidéo : Windows"
+ 2151: "eBook : Audio"
+ 2152: "eBook : Bds"
+ 2153: "eBook : Comics"
+ 2154: "eBook : Livres"
+ 2155: "eBook : Mangas"
+ 2156: "eBook : Presse"
+ 2301: "Nulled : Wordpress"
+ 2302: "Nulled : Scripts PHP & CMS"
+ 2303: "Nulled : Mobile"
+ 2304: "Nulled : Divers"
+ 2201: "Imprimante 3D : Objets"
+ 2202: "Imprimante 3D : Personnages"
+ 2157: "Emulation : Emulateurs"
+ 2158: "Emulation : Roms"
+ 2168: "GPS : Applications"
+ 2169: "GPS : Cartes"
+ 2170: "GPS : Divers"
+ 2401: "XXX : Ebooks"
+ 2189: "XXX : Films"
+ 2190: "XXX : Hentai"
+ 2191: "XXX : Images"
+ 2402: "XXX : Jeux"
+ - name: info_category
+ type: info
+ label: Category and Sub-category
+ default: Only select a Category OR a Sub-category, leaving the other as Tous.
- name: multilang
type: checkbox
label: Replace MULTi by another language in release name
@@ -157,9 +217,13 @@ settings:
type: checkbox
label: Replace VOSTFR and SUBFRENCH with ENGLISH
default: false
+ - name: filter_title
+ type: checkbox
+ label: Normalize release names by moving year after the title
+ default: false
- name: enhancedAnime
type: checkbox
- label: Enhance sonarr compatibility with anime by renaming episode (xxx to exxx). Works only if episode is at the end of the query. Can disturb movies search. (back to the future 3 -> back to the future e3)
+ label: Enhance sonarr compatibility with anime by renaming episodes (xxx > Exxx). Works only if episode is at the end of the query. Can disturb movies search (e.g. back to the future 3 > back to the future E3).
default: false
- name: enhancedAnime4
type: checkbox
@@ -190,46 +254,41 @@ login:
method: cookie
inputs:
cookie: "{{ .Config.cookie }}"
+ test:
+ path: /
+ selector: div#top_panel:contains("Déconnexion")
search:
+ paths:
+ - path: engine/search
+ inputs:
+ name: "{{ .Keywords }}"
+ followredirect: true
+ - path: engine/search
+ inputs:
+ $raw: "name={{ if .Keywords }}{{ re_replace .Keywords \"(?i)S0?(\\d{1,2})\" \"Saison $1\" }}{{ else }}&page=50{{ end }}"
+ followredirect: true
+ inputs:
+ $raw: "{{ if eq .Config.subcategory \"all\" }}category={{ .Config.category }}{{ else }}sub_category={{ .Config.subcategory }}{{ end }}"
+ do: search
+ order: "{{ .Config.type }}"
+ sort: "{{ .Config.sort }}"
+
+ headers:
+ User-Agent: ["{{ .Config.useragent }}"]
+
keywordsfilters:
- # Hack For anime Search ! example : replace sonarr search of
- # One Punch Man S2 10 OR One Punch Man S2 2
- # BY
- # One Punch Man S02E10 OR One Punch Man S02E02
- - name: re_replace # S 1-9 & EP >= 10
- args: ["(?i)(.*)s([1-9])\\s(\\d{2,3})$", "$1 S0$2E$3"]
- - name: re_replace # S 1-9 & EP 1-9
- args: ["(?i)(.*)s([1-9])\\s(\\d{1})$", "$1 S0$2E0$3"]
- - name: re_replace # S >= 10 & EP >= 10
- args: ["(?i)(.*)s([1-9][0-9])\\s(\\d{2,3})$", "$1 S0$2E$3"]
- - name: re_replace # S >= 10 & EP 1-9
- args: ["(?i)(.*)s([1-9][0-9])\\s(\\d{1})$", "$1 S0$2E0$3"]
- - name: re_replace # Full season S 1-9
- args: ["(?i)(.*)s([1-9])$", "$1 S0$2"]
- - name: re_replace # Full season S >= 10
- args: ["(?i)(.*)s([1-9][0-9])$", "$1 S$2"]
- - name: re_replace # episode number at the end "1234" to "E1234"
- args: ["(.*)(\\.|\\s|\\-)(\\d{4})(\\.|\\s|\\-*)(.*)", "{{ if .Config.enhancedAnime4 }}$1 E$3 $5{{ else }}$1$2$3$4$5{{ end }}"]
- - name: re_replace # episode number at the end "123" to "E123"
- args: ["(.*)(\\.|\\s|\\-)(\\d{2,3})(\\.|\\s|\\-*)(.*)", "{{ if .Config.enhancedAnime }}$1 E$3 $5{{ else }}$1$2$3$4$5{{ end }}"]
- # END ANIME HACK
- # fix date search and workaround for internal YGG Issues
+ - name: re_replace # 1234 > E1234
+ args: ["\\b(\\d{4})\\b", "{{ if .Config.enhancedAnime4 }}E$1{{ else }}$1{{ end }}"]
+ - name: re_replace # 123 > E123
+ args: ["\\b(\\d{2,3})\\b", "{{ if .Config.enhancedAnime }}E$1{{ else }}$1{{ end }}"]
+ # fix date search and workaround for internal YGG issues
- name: re_replace
args: ["[\\\\\\-\\.\\/!\\s]+", " "]
- name: trim
# put each word in quotations to prevent exact phrase search
- name: re_replace
args: ["([^\\s]+)", "\"$1\""]
- paths:
- - path: "engine/search?category={{ .Config.category }}&name={{ .Keywords }}&description=&file=&uploader=&sub_category=&do=search&order={{ .Config.type }}&sort={{ .Config.sort }}"
- followredirect: true
- # Saison Word
- - path: "engine/search?category={{ .Config.category }}&name={{ if .Keywords }}{{ re_replace .Keywords \"[sS]0(\\d{1,2})\" \"Saison.$1\"}}{{ else }}&page=50{{ end }}&description=&file=&uploader=&sub_category=&do=search&order={{ .Config.type }}&sort={{ .Config.sort }}"
- followredirect: true
-
- headers:
- User-Agent: ["{{ .Config.useragent }}"]
rows:
selector: table.table > tbody > tr
@@ -244,26 +303,14 @@ search:
title_normal:
selector: td:nth-child(2) > a
filters:
- - name: re_replace # S 1-9 & EP >= 10
- args: ["(?i)(.*)s([1-9])\\s(\\d{2,3})$", "$1 S0$2E$3"]
- - name: re_replace # S 1-9 & EP 1-9
- args: ["(?i)(.*)s([1-9])\\s(\\d{1})$", "$1 S0$2E0$3"]
- - name: re_replace # S >= 10 & EP >= 10
- args: ["(?i)(.*)s([1-9][0-9])\\s(\\d{2,3})$", "$1 S0$2E$3"]
- - name: re_replace # S >= 10 & EP 1-9
- args: ["(?i)(.*)s([1-9][0-9])\\s(\\d{1})$", "$1 S0$2E0$3"]
- - name: re_replace # Full season S 1-9
- args: ["(?i)(.*)s([1-9])$", "$1 S0$2"]
- - name: re_replace # Full season S >= 10
- args: ["(?i)(.*)s([1-9][0-9])$", "$1 S$2"]
- # Replace French Saison by Season
+ # Saison 1 > S01
- name: re_replace
- args: ["(?i)\\b(saison\\s*)\\b([1-9])", "S0$2"]
+ args: ["(?i)\\bSaison\\s*(\\d{2,4})\\b", "S$1"]
- name: re_replace
- args: ["(?i)\\b(saison\\s*)\\b(\\d{1,4})", "S$2"]
+ args: ["(?i)\\bSaison\\s*(\\d)\\b", "S0$1"]
# Replace French date dd-mm-yyyy to yyyy.mm.dd
- name: re_replace
- args: ["(\\d{2})[\\-_\\.](\\d{2})[\\-_\\.](\\d{4})", "$3.$2.$1"]
+ args: ["\\b(\\d{2})[\\-_\\.](\\d{2})[\\-_\\.](\\d{4})\\b", "$3.$2.$1"]
title_filtered:
text: "{{ .Result.title_normal }}"
filters:
@@ -273,7 +320,7 @@ search:
- name: re_replace
args: ["(?i)(.\\b(mkv|avi|divx|xvid|mp4)\\b)$", ""]
- name: re_replace
- args: ["(\\s{2,5})", " "]
+ args: ["(\\s+)", " "]
- name: trim
title_phase1:
text: "{{ if .Config.filter_title }}{{ .Result.title_filtered }}{{ else }}{{ .Result.title_normal }}{{ end }}"
@@ -292,17 +339,14 @@ search:
title:
text: "{{ if .Config.multilang }}{{ .Result.title_multilang }}{{ else }}{{ .Result.title_phase2 }}{{ end }}"
filters:
- # Sonarr need E in front of 3 digit number or else it thinks it is episode
- # S01E10 for number 110 for example ==> enhancedAnime
- name: re_replace # extend to 4 digits
- args: ["(.*)(\\.|\\s|\\-)(\\d{4})(\\.|\\s|\\-)(.*)", "{{ if .Config.enhancedAnime4 }}$1 E$3 $5{{ else }}$1$2$3$4$5{{ end }}"]
+ args: ["\\b(\\d{4})\\b", "{{ if .Config.enhancedAnime4 }}E$1{{ else }}$1{{ end }}"]
- name: re_replace
- args: ["(.*)(\\.|\\s|\\-)(\\d{2,3})(\\.|\\s|\\-)(.*)", "{{ if .Config.enhancedAnime }}$1 E$3 $5{{ else }}$1$2$3$4$5{{ end }}"]
+ args: ["\\b(\\d{2,3})\\b", "{{ if .Config.enhancedAnime }}E$1{{ else }}$1{{ end }}"]
details:
selector: td:nth-child(2) > a
attribute: href
category:
- # changed the catid into and hidden div as of last tracker problem
selector: ":nth-child(1) > div.hidden"
download:
text: "{{ .Config.sitelink }}engine/download_torrent?id={{ .Result._id }}"
diff --git a/src/Jackett.Common/Definitions/yggtorrent.yml b/src/Jackett.Common/Definitions/yggtorrent.yml
index 96ab8bee8..53f4433c2 100644
--- a/src/Jackett.Common/Definitions/yggtorrent.yml
+++ b/src/Jackett.Common/Definitions/yggtorrent.yml
@@ -117,19 +117,79 @@ settings:
label: Category
default: all
options:
- all: Tous
- 2145: Film/Vidéo
- 2139: Audio
- 2144: Application
- 2142: Jeu vidéo
- 2140: eBook
- 2141: Emulation
- 2143: GPS
- 2188: XXX
- - name: filter_title
- type: checkbox
- label: Try to normalize releases names by moving year after the title
- default: false
+ all: "Tous"
+ 2145: "Film/Vidéo"
+ 2139: "Audio"
+ 2144: "Application"
+ 2142: "Jeu vidéo"
+ 2140: "eBook"
+ 2300: "Nulled"
+ 2200: "Imprimante 3D"
+ 2141: "Emulation"
+ 2143: "GPS"
+ 2188: "XXX"
+ - name: subcategory
+ type: select
+ label: Sub-category
+ default: all
+ options:
+ all: "Tous"
+ 2178: "Film/Vidéo : Animation"
+ 2179: "Film/Vidéo : Animation Série"
+ 2180: "Film/Vidéo : Concert"
+ 2181: "Film/Vidéo : Documentaire"
+ 2182: "Film/Vidéo : Emission TV"
+ 2183: "Film/Vidéo : Film"
+ 2184: "Film/Vidéo : Série TV"
+ 2185: "Film/Vidéo : Spectacle"
+ 2186: "Film/Vidéo : Sport"
+ 2187: "Film/Vidéo : Vidéo-clips"
+ 2147: "Audio : Karaoké"
+ 2148: "Audio : Musique"
+ 2150: "Audio : Podcast Radio"
+ 2149: "Audio : Samples"
+ 2177: "Application : Autre"
+ 2176: "Application : Formation"
+ 2171: "Application : Linux"
+ 2172: "Application : MacOS"
+ 2174: "Application : Smartphone"
+ 2175: "Application : Tablette"
+ 2173: "Application : Windows"
+ 2167: "Jeu vidéo : Autre"
+ 2159: "Jeu vidéo : Linux"
+ 2160: "Jeu vidéo : MacOS"
+ 2162: "Jeu vidéo : Microsoft"
+ 2163: "Jeu vidéo : Nintendo"
+ 2165: "Jeu vidéo : Smartphone"
+ 2164: "Jeu vidéo : Sony"
+ 2166: "Jeu vidéo : Tablette"
+ 2161: "Jeu vidéo : Windows"
+ 2151: "eBook : Audio"
+ 2152: "eBook : Bds"
+ 2153: "eBook : Comics"
+ 2154: "eBook : Livres"
+ 2155: "eBook : Mangas"
+ 2156: "eBook : Presse"
+ 2301: "Nulled : Wordpress"
+ 2302: "Nulled : Scripts PHP & CMS"
+ 2303: "Nulled : Mobile"
+ 2304: "Nulled : Divers"
+ 2201: "Imprimante 3D : Objets"
+ 2202: "Imprimante 3D : Personnages"
+ 2157: "Emulation : Emulateurs"
+ 2158: "Emulation : Roms"
+ 2168: "GPS : Applications"
+ 2169: "GPS : Cartes"
+ 2170: "GPS : Divers"
+ 2401: "XXX : Ebooks"
+ 2189: "XXX : Films"
+ 2190: "XXX : Hentai"
+ 2191: "XXX : Images"
+ 2402: "XXX : Jeux"
+ - name: info_category
+ type: info
+ label: Category and Sub-category
+ default: Only select a Category OR a Sub-category, leaving the other as Tous.
- name: multilang
type: checkbox
label: Replace MULTi by another language in release name
@@ -149,9 +209,13 @@ settings:
type: checkbox
label: Replace VOSTFR and SUBFRENCH with ENGLISH
default: false
+ - name: filter_title
+ type: checkbox
+ label: Normalize release names by moving year after the title
+ default: false
- name: enhancedAnime
type: checkbox
- label: Enhance sonarr compatibility with anime by renaming episode (xxx to exxx). Works only if episode is at the end of the query. Can disturb movies search. (back to the future 3 -> back to the future e3)
+ label: Enhance sonarr compatibility with anime by renaming episodes (xxx > Exxx). Works only if episode is at the end of the query. Can disturb movies search (e.g. back to the future 3 > back to the future E3).
default: false
- name: enhancedAnime4
type: checkbox
@@ -202,41 +266,33 @@ login:
selector: div#top_panel:contains("Déconnexion")
search:
+ paths:
+ - path: engine/search
+ inputs:
+ name: "{{ .Keywords }}"
+ followredirect: true
+ - path: engine/search
+ inputs:
+ $raw: "name={{ if .Keywords }}{{ re_replace .Keywords \"(?i)S0?(\\d{1,2})\" \"Saison $1\" }}{{ else }}&page=50{{ end }}"
+ followredirect: true
+ inputs:
+ $raw: "{{ if eq .Config.subcategory \"all\" }}category={{ .Config.category }}{{ else }}sub_category={{ .Config.subcategory }}{{ end }}"
+ do: search
+ order: "{{ .Config.type }}"
+ sort: "{{ .Config.sort }}"
+
keywordsfilters:
- # Hack For anime Search ! example : replace sonarr search of
- # One Punch Man S2 10 OR One Punch Man S2 2
- # BY
- # One Punch Man S02E10 OR One Punch Man S02E02
- - name: re_replace # S 1-9 & EP >= 10
- args: ["(?i)(.*)s([1-9])\\s(\\d{2,3})$", "$1 S0$2E$3"]
- - name: re_replace # S 1-9 & EP 1-9
- args: ["(?i)(.*)s([1-9])\\s(\\d{1})$", "$1 S0$2E0$3"]
- - name: re_replace # S >= 10 & EP >= 10
- args: ["(?i)(.*)s([1-9][0-9])\\s(\\d{2,3})$", "$1 S0$2E$3"]
- - name: re_replace # S >= 10 & EP 1-9
- args: ["(?i)(.*)s([1-9][0-9])\\s(\\d{1})$", "$1 S0$2E0$3"]
- - name: re_replace # Full season S 1-9
- args: ["(?i)(.*)s([1-9])$", "$1 S0$2"]
- - name: re_replace # Full season S >= 10
- args: ["(?i)(.*)s([1-9][0-9])$", "$1 S$2"]
- - name: re_replace # episode number at the end "1234" to "E1234"
- args: ["(.*)(\\.|\\s|\\-)(\\d{4})(\\.|\\s|\\-*)(.*)", "{{ if .Config.enhancedAnime4 }}$1 E$3 $5{{ else }}$1$2$3$4$5{{ end }}"]
- - name: re_replace # episode number at the end "123" to "E123"
- args: ["(.*)(\\.|\\s|\\-)(\\d{2,3})(\\.|\\s|\\-*)(.*)", "{{ if .Config.enhancedAnime }}$1 E$3 $5{{ else }}$1$2$3$4$5{{ end }}"]
- # END ANIME HACK
- # fix date search and workaround for internal YGG Issues
+ - name: re_replace # 1234 > E1234
+ args: ["\\b(\\d{4})\\b", "{{ if .Config.enhancedAnime4 }}E$1{{ else }}$1{{ end }}"]
+ - name: re_replace # 123 > E123
+ args: ["\\b(\\d{2,3})\\b", "{{ if .Config.enhancedAnime }}E$1{{ else }}$1{{ end }}"]
+ # fix date search and workaround for internal YGG issues
- name: re_replace
args: ["[\\\\\\-\\.\\/!\\s]+", " "]
- name: trim
# put each word in quotations to prevent exact phrase search
- name: re_replace
args: ["([^\\s]+)", "\"$1\""]
- paths:
- - path: "engine/search?category={{ .Config.category }}&name={{ .Keywords }}&description=&file=&uploader=&sub_category=&do=search&order={{ .Config.type }}&sort={{ .Config.sort }}"
- followredirect: true
- # Saison Word
- - path: "engine/search?category={{ .Config.category }}&name={{ if .Keywords }}{{ re_replace .Keywords \"[sS]0(\\d{1,2})\" \"Saison.$1\"}}{{ else }}&page=50{{ end }}&description=&file=&uploader=&sub_category=&do=search&order={{ .Config.type }}&sort={{ .Config.sort }}"
- followredirect: true
rows:
selector: table.table > tbody > tr
@@ -251,26 +307,14 @@ search:
title_normal:
selector: td:nth-child(2) > a
filters:
- - name: re_replace # S 1-9 & EP >= 10
- args: ["(?i)(.*)s([1-9])\\s(\\d{2,3})$", "$1 S0$2E$3"]
- - name: re_replace # S 1-9 & EP 1-9
- args: ["(?i)(.*)s([1-9])\\s(\\d{1})$", "$1 S0$2E0$3"]
- - name: re_replace # S >= 10 & EP >= 10
- args: ["(?i)(.*)s([1-9][0-9])\\s(\\d{2,3})$", "$1 S0$2E$3"]
- - name: re_replace # S >= 10 & EP 1-9
- args: ["(?i)(.*)s([1-9][0-9])\\s(\\d{1})$", "$1 S0$2E0$3"]
- - name: re_replace # Full season S 1-9
- args: ["(?i)(.*)s([1-9])$", "$1 S0$2"]
- - name: re_replace # Full season S >= 10
- args: ["(?i)(.*)s([1-9][0-9])$", "$1 S$2"]
- # Replace French Saison by Season
+ # Saison 1 > S01
- name: re_replace
- args: ["(?i)\\b(saison\\s*)\\b([1-9])", "S0$2"]
+ args: ["(?i)\\bSaison\\s*(\\d{2,4})\\b", "S$1"]
- name: re_replace
- args: ["(?i)\\b(saison\\s*)\\b(\\d{1,4})", "S$2"]
+ args: ["(?i)\\bSaison\\s*(\\d)\\b", "S0$1"]
# Replace French date dd-mm-yyyy to yyyy.mm.dd
- name: re_replace
- args: ["(\\d{2})[\\-_\\.](\\d{2})[\\-_\\.](\\d{4})", "$3.$2.$1"]
+ args: ["\\b(\\d{2})[\\-_\\.](\\d{2})[\\-_\\.](\\d{4})\\b", "$3.$2.$1"]
title_filtered:
text: "{{ .Result.title_normal }}"
filters:
@@ -280,7 +324,7 @@ search:
- name: re_replace
args: ["(?i)(.\\b(mkv|avi|divx|xvid|mp4)\\b)$", ""]
- name: re_replace
- args: ["(\\s{2,5})", " "]
+ args: ["(\\s+)", " "]
- name: trim
title_phase1:
text: "{{ if .Config.filter_title }}{{ .Result.title_filtered }}{{ else }}{{ .Result.title_normal }}{{ end }}"
@@ -299,17 +343,14 @@ search:
title:
text: "{{ if .Config.multilang }}{{ .Result.title_multilang }}{{ else }}{{ .Result.title_phase2 }}{{ end }}"
filters:
- # Sonarr need E in front of 3 digit number or else it thinks it is episode
- # S01E10 for number 110 for example ==> enhancedAnime
- name: re_replace # extend to 4 digits
- args: ["(.*)(\\.|\\s|\\-)(\\d{4})(\\.|\\s|\\-)(.*)", "{{ if .Config.enhancedAnime4 }}$1 E$3 $5{{ else }}$1$2$3$4$5{{ end }}"]
+ args: ["\\b(\\d{4})\\b", "{{ if .Config.enhancedAnime4 }}E$1{{ else }}$1{{ end }}"]
- name: re_replace
- args: ["(.*)(\\.|\\s|\\-)(\\d{2,3})(\\.|\\s|\\-)(.*)", "{{ if .Config.enhancedAnime }}$1 E$3 $5{{ else }}$1$2$3$4$5{{ end }}"]
+ args: ["\\b(\\d{2,3})\\b", "{{ if .Config.enhancedAnime }}E$1{{ else }}$1{{ end }}"]
details:
selector: td:nth-child(2) > a
attribute: href
category:
- # changed the catid into and hidden div as of last tracker problem
selector: ":nth-child(1) > div.hidden"
download:
text: "{{ .Config.sitelink }}engine/download_torrent?id={{ .Result._id }}"