Jackett/src/Jackett.Common/Definitions/soundpark.yml

139 lines
4.2 KiB
YAML

---
site: soundpark
name: SoundPark
description: "SoundPark Semi-Private RUSSIAN site dedicated to MUSIC."
language: ru-ru
type: semi-private
encoding: UTF-8
links:
- https://sound-park.world/
- https://soundpark-club.casa/
legacylinks:
- https://soundpark-club.com/
caps:
categories:
"Music": Audio
modes:
search: [q]
music-search: [q, album, artist, label, year]
login:
path: login
method: form
form: form[action="/login"]
inputs:
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
returnto: ""
error:
- selector: div.stdmsg_text
test:
path: /
selector: a[href="/logout"]
download:
selector: a[href^="/album/download-torrent/"]
attribute: href
search:
paths:
- path: "{{if or (.Query.Album) (.Query.Artist) (.Keywords) }}search{{else}}music{{end}}"
inputs:
q: "{{if or (.Query.Album) (.Query.Artist) }}{{ or (.Query.Album) (.Query.Artist) }}{{else}}{{ .Keywords }}{{end}}"
num: 50
rows:
# first selector is for the music page (recent uploads) and the second selector is for the search page
selector: div[itemscope] > table.browse_albums, div.div-rellist
fields:
title:
selector: tr:nth-child(1) td:nth-child(1) h2 a, div h3 a
details:
selector: tr:nth-child(1) td:nth-child(1) h2 a, div h3 a
attribute: href
category:
text: "Music"
banner:
selector: tr:nth-child(2) td:nth-child(1) a img, div i img
attribute: src
optional: true
download:
selector: tr:nth-child(1) td:nth-child(1) h2 a, div h3 a
attribute: href
filters:
- name: replace
args: ["/album/torrent-", "/album/download/torrent-"]
# dates come in two flavours:
# Russian, Spanish and English supported
date:
# fix for spanish yesterday, the time is not present
text: now
date:
# Today at 22:28:10
# Yesterday at 10:18:40
# Вчера в 10:18:40
# Hoy a las 07:33:17
selector: tr:nth-child(1) > td:nth-child(2) > div.details > span:nth-child(1):contains(":"), div > span.edit:contains(":")
optional: true
filters:
- name: replace
args: [" at ", " "]
- name: re_replace
args: ["Ayer a las|Вчера в", "Yesterday"]
- name: re_replace
args: ["Hoy a las|Сегодня в", "Today"]
date:
# 3 april 2019
selector: tr:nth-child(1) > td:nth-child(2) > div.details > span:nth-child(1):not(:contains(":")), div > span.edit:not(:contains(":"))
optional: true
filters:
- name: re_replace
args: ["enero|января", "January"]
- name: re_replace
args: ["febrero|февраля", "February"]
- name: re_replace
args: ["marzo|марта ", "March"]
- name: re_replace
args: ["abril|апреля", "April"]
- name: re_replace
args: ["mayo|мая", "May"]
- name: re_replace
args: ["junio|июня", "June"]
- name: re_replace
args: ["julio|июля", "July"]
- name: re_replace
args: ["agosto|августа", "August"]
- name: re_replace
args: ["septiembre|сентября", "September"]
- name: re_replace
args: ["octubre|октября", "October"]
- name: re_replace
args: ["noviembre|ноября", "November"]
- name: re_replace
args: ["diciembre|декабря", "December"]
- name: dateparse
args: "2 January 2006"
size:
# search page does not have size.
text: "500 MB"
size:
# but today's page can, if the content fixed-length string contains a title that is not too long.
selector: tr:nth-child(2) td.descr meta
attribute: content
optional: true
filters:
- name: regexp
args: "Size: (.*?),"
seeders:
text: 1
leechers:
text: 1
downloadvolumefactor:
text: 1
uploadvolumefactor:
text: 1
# engine n/a