diff --git a/README.md b/README.md
index a23de0ce9..fe0de67a9 100644
--- a/README.md
+++ b/README.md
@@ -212,6 +212,7 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
* TribalMixes
* Union Fansub
* UniOtaku
+ * ViDEOTEKA
* xTorrenty
* ZOMB
* Ztracker
diff --git a/src/Jackett.Common/Definitions/videoteka.yml b/src/Jackett.Common/Definitions/videoteka.yml
new file mode 100644
index 000000000..e7565b2a9
--- /dev/null
+++ b/src/Jackett.Common/Definitions/videoteka.yml
@@ -0,0 +1,214 @@
+---
+id: videoteka
+name: ViDEOTEKA
+description: "ViDEOTEKA (VT) is a SLOVENIAN Semi-Private Torrent Tracker for MOVIES / TV"
+language: sl-SI
+type: semi-private
+encoding: UTF-8
+links:
+ - http://videoteka.org/ # https is not supported
+
+caps:
+ categorymappings:
+ - {id: 1, cat: Movies, desc: "FILMI"}
+ - {id: 50, cat: Movies/WEB-DL, desc: "WEBRip-1080"}
+ - {id: 17, cat: Movies/WEB-DL, desc: "WEBRip-720"}
+ - {id: 51, cat: Movies/WEB-DL, desc: "WEBRip"}
+ - {id: 48, cat: Movies/BluRay, desc: "BluRay-1080"}
+ - {id: 49, cat: Movies/BluRay, desc: "BluRay-720"}
+ - {id: 52, cat: Movies/BluRay, desc: "BRRip"}
+ - {id: 44, cat: Movies/BluRay, desc: "BDRip"}
+ - {id: 32, cat: Movies/DVD, desc: "DVDRip"}
+ - {id: 36, cat: Movies/SD, desc: "TVRip"}
+ - {id: 43, cat: Movies/HD, desc: "HDRip"}
+ - {id: 16, cat: Movies/HD, desc: "HDTV"}
+ - {id: 31, cat: Movies/SD, desc: "HDSD"}
+ - {id: 46, cat: Movies/DVD, desc: "DVD"}
+ - {id: 45, cat: Movies/SD, desc: "XviD"}
+ - {id: 38, cat: TV, desc: "TV - Serija"}
+ - {id: 35, cat: TV/Documentary, desc: "Dokumentarni"}
+ - {id: 40, cat: TV, desc: "Slo"}
+ - {id: 33, cat: TV/Anime, desc: "Risanke"}
+ - {id: 34, cat: XXX, desc: "xxx"}
+ - {id: 6, cat: PC, desc: "PROGRAMI"}
+ - {id: 18, cat: PC, desc: "Programi"}
+ - {id: 47, cat: Console, desc: "Igre"}
+ - {id: 37, cat: Books/EBook, desc: "E-Knjiga"}
+ - {id: 19, cat: Other, desc: "Ostalo"}
+ - {id: 39, cat: PC/Mobile-Android, desc: "Android App"}
+ - {id: 7, cat: Audio, desc: "GLASBA"}
+ - {id: 20, cat: Audio/Video, desc: "Video"}
+ - {id: 21, cat: Audio, desc: "Glasba"}
+
+ modes:
+ search: [q]
+ tv-search: [q, season, ep]
+ movie-search: [q]
+ music-search: [q]
+ book-search: [q]
+
+settings:
+ - name: username
+ type: text
+ label: Username
+ - name: password
+ type: password
+ label: Password
+ - name: freeleech
+ type: checkbox
+ label: Filter freeleech only
+ default: false
+ - name: sort
+ type: select
+ label: Sort requested from site
+ default: added
+ options:
+ added: created
+ seeders: seeders
+ size: size
+ - name: type
+ type: select
+ label: Order requested from site
+ default: desc
+ options:
+ desc: desc
+ asc: asc
+ type: info
+ label: Layout
+ default: "
- Only the Classic list is supported.
- Make sure to set the Torrent Listing (Prikaz torrentov) option in your profile to Classic
- Using the Modern list will prevent results
"
+
+login:
+ path: ?p=home&pid=1
+ method: form
+ form: form#loginbox_form
+ submitpath: /ajax/login.php
+ 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: \"(.+?)\","
+ error:
+ - selector: ":contains(\"-ERROR-\")"
+ test:
+ path: ?p=home&pid=1
+ selector: a#logout
+
+search:
+ paths:
+ - path: /
+ keywordsfilters:
+ - name: re_replace # add brackets to year on searchquery if missing
+ args: ["\\(*((19|20)\\d{2})\\)*", "($1)"]
+ - name: re_replace
+ args: ["[^\\w\\d\\(\\)]+", "%"]
+ inputs:
+ p: torrents
+ pid: 32
+ $raw: "{{ range .Categories }}cid[]={{.}}&{{end}}"
+ keywords: "{{ .Keywords }}"
+ # name, description, both, uploader
+ search_type: name
+ "sortOptions[sortBy]": "{{ .Config.sort }}"
+ "sortOptions[sortOrder]": "{{ .Config.type }}"
+ error:
+ - selector: div.error:not(:contains("Nič ni najdeno.")):not(:contains("There are no results found."))
+
+ rows:
+ selector: "table#torrents_table_classic tr:has(td.torrent_name){{ if .Config.freeleech }}:has(img[src$=\"/torrent_free.png\"]){{ else }}{{ end }}"
+ filters:
+ - name: andmatch
+
+ fields:
+ category:
+ selector: a[href*="?p=torrents"][href*="&cid="]
+ attribute: href
+ filters:
+ - name: querystring
+ args: cid
+ title:
+ selector: a[href*="?p=torrents"][href*="&action=details"]
+ details:
+ selector: a[href*="?p=torrents"][href*="&action=details"]
+ attribute: href
+ download:
+ selector: a[href*="?p=torrents"][href*="&action=download"]
+ attribute: href
+ magnet:
+ selector: a[href^="magnet:?xt="]
+ attribute: href
+ poster:
+ selector: a[rel="fancybox"]
+ attribute: href
+ imdbid:
+ selector: a[href*="imdb.com/title/tt"]
+ attribute: href
+ size:
+ selector: a[rel="torrent_size"]
+ seeders:
+ selector: a[rel="torrent_seeders"]
+ leechers:
+ selector: a[rel="torrent_leechers"]
+ grabs:
+ selector: a[rel="times_completed"]
+ downloadvolumefactor:
+ case:
+ "img[src*=\"torrent_free.png\"]": 0
+ "*": 1
+ uploadvolumefactor:
+ text: 1
+ date_day:
+ selector: td.torrent_name:contains("day"), td.torrent_name:contains("Nedelja"), td.torrent_name:contains("Ponedeljek"), td.torrent_name:contains("Torek"), td.torrent_name:contains("Sreda"), td.torrent_name:contains("Četrtek"), td.torrent_name:contains("Petek"), td.torrent_name:contains("Sobota"), td.torrent_name:contains("Danes"), td.torrent_name:contains("Včeraj")
+ # auto adjusted by site account profile
+ optional: true
+ remove: span, a, br
+ filters:
+ - name: replace
+ args: ["Uploaded ", ""]
+ - name: replace
+ args: [" by", ""]
+ - name: replace
+ args: [" naložil", ""] # Uploaded
+ - name: replace
+ args: ["ob ", "at "] # at
+ - name: replace
+ args: ["Danes", "Today"]
+ - name: replace
+ args: ["Včeraj", "Yesterday"]
+ - name: replace
+ args: ["Ponedeljek", "Monday"]
+ - name: replace
+ args: ["Torek", "Tuesday"]
+ - name: replace
+ args: ["Sreda", "Wednesday"]
+ - name: replace
+ args: ["Četrtek", "Thursday"]
+ - name: replace
+ args: ["Petek", "Friday"]
+ - name: replace
+ args: ["Sobota", "Saturday"]
+ - name: replace
+ args: ["Nedelja", "Sunday"]
+ - name: fuzzytime
+ date_year:
+ selector: td.torrent_name:contains("-")
+ # auto adjusted by site account profile
+ optional: true
+ remove: span, a, br
+ filters:
+ - name: replace
+ args: ["Uploaded ", ""]
+ - name: replace
+ args: [" by", ""]
+ - name: replace
+ args: [" naložil", ""] # Uploaded
+ - name: dateparse
+ args: "dd-MM-yyyy HH:mm"
+ date:
+ text: "{{ if or .Result.date_day .Result.date_year }}{{ or .Result.date_day .Result.date_year }}{{ else }}now{{ end }}"
+# TSUE 2.1