From 2f26e55721dbef505f0259cf03bc3d9bf0ae782b Mon Sep 17 00:00:00 2001 From: Garfield69 Date: Mon, 29 Nov 2021 17:19:58 +1300 Subject: [PATCH] Revert "slosoul: upgrade for TSUE 2.2 #12435" This reverts commit ce75ba4a920cda0a8454e0f43a527a5993832a8c. --- src/Jackett.Common/Definitions/slosoul.yml | 182 +++++++++------------ 1 file changed, 80 insertions(+), 102 deletions(-) diff --git a/src/Jackett.Common/Definitions/slosoul.yml b/src/Jackett.Common/Definitions/slosoul.yml index 8dca86dfc..e7e9e2a46 100644 --- a/src/Jackett.Common/Definitions/slosoul.yml +++ b/src/Jackett.Common/Definitions/slosoul.yml @@ -7,35 +7,27 @@ type: private encoding: UTF-8 testlinktorrent: false links: - - http://slosoul.net/ # site is forcing http -legacylinks: - https://slosoul.net/ caps: categorymappings: - - {id: 34, cat: Movies/SD, desc: "Filmi - Xvid"} - - {id: 35, cat: Movies/DVD, desc: "Filmi - DVD"} - - {id: 36, cat: Movies/BluRay, desc: "Filmi - BluRay"} - - {id: 37, cat: Movies/HD, desc: "Filmi - X264"} - - {id: 38, cat: Audio/MP3, desc: "Glasba - MP3"} - - {id: 39, cat: Audio/Lossless, desc: "Glasba - FLAC"} - - {id: 40, cat: PC/Games, desc: "Igre - PC"} - - {id: 42, cat: TV/Documentary, desc: "Dokumentarni filmi"} - - {id: 43, cat: TV/Sport, desc: "Šport"} - - {id: 44, cat: TV/Anime, desc: "Risanke"} - - {id: 45, cat: TV, desc: "TV - Serije"} - - {id: 46, cat: PC, desc: "Programi"} - - {id: 47, cat: Books/EBook, desc: "E-Knjige"} - - {id: 48, cat: Other, desc: "Slike"} - - {id: 49, cat: Other, desc: "Ostalo"} - - {id: 50, cat: XXX/XviD, desc: "Erotika - Xvid"} - - {id: 51, cat: XXX/DVD, desc: "Erotika - DVD"} - - {id: 52, cat: XXX/ImageSet, desc: "Erotika - Slike"} + - {id: 5, cat: PC, desc: "Apps"} + - {id: 7, cat: Books/EBook, desc: "Ebooks"} + - {id: 6, cat: PC/Games, desc: "Games PC"} + - {id: 8, cat: Movies, desc: "Movies Packs"} + - {id: 1, cat: Movies/SD, desc: "Movies Divx/Xvid"} + - {id: 9, cat: Movies/DVD, desc: "Movies DVD-r"} + - {id: 11, cat: Movies/BluRay, desc: "Movies BluRay"} + - {id: 3, cat: Audio, desc: "Music"} + - {id: 4, cat: XXX, desc: "Porn"} + - {id: 13, cat: TV/Sport, desc: "TV Sport"} + - {id: 10, cat: TV, desc: "TV Shows"} + - {id: 12, cat: Other, desc: "VIP"} modes: search: [q] - tv-search: [q, season, ep] - movie-search: [q] + tv-search: [q, season, ep, imdbid] + movie-search: [q, imdbid] music-search: [q] book-search: [q] @@ -66,122 +58,108 @@ settings: asc: asc login: - path: ?p=home&pid=1 - method: form - form: form#loginbox_form - submitpath: ajax/login.php + path: takelogin.php + method: post inputs: - action: login - loginbox_membername: "{{ .Config.username }}" - loginbox_password: "{{ .Config.password }}" - loginbox_remember: 1 - selectorinputs: - securitytoken: - selector: "script:contains(\"stKey: \")" - filters: - - name: regexp - args: "stKey: \"(.+?)\"," + username: "{{ .Config.username }}" + password: "{{ .Config.password }}" + logout: "" error: - - selector: div.error - - selector: :contains("-ERROR-") + - selector: table:has(td.thead:contains("An error has occured!")) test: - path: ?p=home&pid=1 - selector: div#member_info_bar + path: index.php + selector: a[href*="logout.php?logouthash="] + +download: + before: + path: takethanks.php + method: post + inputs: + torrentid: "{{ re_replace .DownloadUri.PathAndQuery \".*torrent-details-(\\d+).*\" \"$1\"}}" + selectors: + - selector: a[href*="download-torrent-"] + attribute: href search: paths: - - path: / + - path: browse.php inputs: - p: torrents - pid: 10 - $raw: "{{ range .Categories }}&cid[]={{.}}{{end}}" - keywords: "{{ .Keywords }}" - # name, description, both, uploader - search_type: name - "sortOptions[sortBy]": "{{ .Config.sort }}" - "sortOptions[sortOrder]": "{{ .Config.type }}" - # does not support imdbid searching + do: search + # does not support multi categories so defaulting to ALL + category: 0 + # yes incldead, no activeonly + include_dead_torrents: yes + keywords: "{{ if .Query.IMDBID }}{{ .Query.IMDBID }}{{ else }}{{ .Keywords }}{{ end }}" + # t_name, t_description, t_both, t_uploader, t_genre + search_type: "{{ if .Query.IMDBID }}t_genre{{ else }}t_name{{ end }}" + sort: "{{ .Config.sort }}" + order: "{{ .Config.type }}" + # does not return imdb link in results + keywordsfilters: + - name: re_replace # replace special characters with "%" (wildcard) + args: ["[^a-zA-Z0-9]+", "%"] rows: - selector: "div.torrent-box[id^=\"torrent_\"]{{ if .Config.freeleech }}:has(img[src$=\"/torrent_free.png\"]){{ else }}{{ end }}" + selector: "table#sortabletable tbody tr:has(a[href*=\"download-torrent-\"]){{ if .Config.freeleech }}:has(img[src$=\"/freedownload.gif\"]){{ else }}{{ end }}" fields: category: - selector: a[href*="?p=torrents&pid=10&cid="] + selector: a[href*="torrent-category-"] attribute: href filters: - - name: querystring - args: cid + - name: regexp + args: (\d+) + title_default: + # is often abbreviated + selector: a[href*="torrent-details-"] + title_optional: + # usually longer than details title + selector: div[id^="port-content-"] div + optional: true title: - selector: a[href*="?p=torrents&pid=10&action=details&tid="] + text: "{{ if .Result.title_optional }}{{ .Result.title_optional }}{{ else }}{{ .Result.title_default }}{{ end }}" details: - selector: a[href*="?p=torrents&pid=10&action=details&tid="] + selector: a[href*="torrent-details-"] attribute: href download: - selector: a[href*="?p=torrents&pid=10&action=download&tid="] + selector: a[href*="torrent-details-"] attribute: href magnet: selector: a[href^="magnet:?xt="] attribute: href poster: - selector: a[href*="data/torrents/torrent_images/"] - attribute: href - imdbid: - selector: a[href*="imdb.com/title/tt"] - attribute: href - size: - selector: a[rel="torrent_size"] - grabs: - selector: a[rel="times_completed"] - seeders: - selector: a[rel="torrent_seeders"] - leechers: - selector: a[rel="torrent_leechers"] - date_time: - selector: div.torrentOwner abbr - optional: true - attribute: data-time - date_day: - # Naložil včeraj ob 12:00 by - # Naložil danes ob 09:28 by - # Uploaded Today at 09:17 by - # Uploaded Yesterday at 10:31 by - selector: div.torrentOwner:contains("day"), div.torrentOwner:contains("včeraj"), div.torrentOwner:contains("danes") - optional: true + selector: div[id^="port-content-"] img + attribute: src + date: + selector: td:nth-child(2) > div:last-child filters: - name: regexp - args: " (.+?) by" - - name: replace - args: [" ob ", " at "] - - name: replace - args: ["danes", "Today"] - - name: replace - args: ["včeraj", "Yesterday"] - - name: append - args: " +00:00" # auto adjusted by site account profile - - name: fuzzytime - date_year: - selector: div.torrentOwner:contains("-") - optional: true - filters: - - name: regexp - args: " (.+?) by" + args: (\d{2}-\d{2}-\d{4} \d{2}:\d{2}) - name: append args: " +00:00" # auto adjusted by site account profile - name: dateparse args: "02-01-2006 15:04 -07:00" - date: - text: "{{ if or .Result.date_time .Result.date_year .Result.date_day }}{{ or .Result.date_time .Result.date_year .Result.date_day }}{{ else }}now{{ end }}" + size: + selector: td:nth-child(5) + grabs: + selector: td:nth-child(6) + seeders: + selector: td:nth-child(7) + leechers: + selector: td:nth-child(8) downloadvolumefactor: case: - img[src$="/torrent_free.png"]: 0 + img[src$="/freedownload.gif"]: 0 + img[src$="/silverdownload.gif"]: 0.5 "*": 1 uploadvolumefactor: - text: 1 + case: + img[src$="/x2.gif"]: 2 + "*": 1 # TBD, Rules and FAQ do not cover this yet # minimumratio: # text: 1.0 # minimumseedtime: # # 2 days (as seconds = 2 x 24 x 60 x 60) # text: 172800 -# TSUE 2.2 +# TS Special Edition v.8.0