---
  site: waffles
  name: Waffles
  description: "Music, ebook and software tracker"
  language: en-us
  type: private
  encoding: UTF-8
  links:
    - https://waffles.ch/

  caps:
    categorymappings:
      - {id: 2, cat: Audio, desc: "70s"}
      - {id: 3, cat: Audio, desc: "80s"}
      - {id: 4, cat: Audio, desc: "90s"}
      - {id: 82, cat: Audio, desc: "Acoustic"}
      - {id: 5, cat: Audio, desc: "Alternative"}
      - {id: 6, cat: Audio, desc: "Ambient"}
      - {id: 85, cat: PC/ISO, desc: "Apps Linux"}
      - {id: 84, cat: PC/Mac, desc: "Apps Mac"}
      - {id: 83, cat: PC, desc: "Apps Win"}
      - {id: 7, cat: Audio, desc: "Asian"}
      - {id: 89, cat: Audio/Audiobook, desc: "Audiobook Fiction"}
      - {id: 90, cat: Audio/Audiobook, desc: "Audiobook Non Fiction"}
      - {id: 80, cat: Audio, desc: "Avant-Garde"}
      - {id: 8, cat: Audio, desc: "Bluegrass"}
      - {id: 9, cat: Audio, desc: "Blues"}
      - {id: 10, cat: Audio, desc: "Breaks"}
      - {id: 70, cat: Audio, desc: "Classic Rock"}
      - {id: 11, cat: Audio, desc: "Classical"}
      - {id: 72, cat: Audio, desc: "Comedy"}
      - {id: 88, cat: Audio, desc: "Comics"}
      - {id: 91, cat: Audio, desc: "Components"}
      - {id: 12, cat: Audio, desc: "Country"}
      - {id: 13, cat: Audio, desc: "Dance"}
      - {id: 81, cat: Audio, desc: "Disco"}
      - {id: 67, cat: Audio, desc: "Dream Pop"}
      - {id: 14, cat: Audio, desc: "Drum 'n' Bass"}
      - {id: 57, cat: Audio, desc: "Dubstep"}
      - {id: 86, cat: Books, desc: "E-Book Fiction"}
      - {id: 87, cat: Books, desc: "E-Book Nonfiction"}
      - {id: 93, cat: Audio, desc: "E-Learning"}
      - {id: 15, cat: Audio, desc: "Electronic"}
      - {id: 16, cat: Audio, desc: "Emo"}
      - {id: 17, cat: Audio, desc: "Experimental"}
      - {id: 18, cat: Audio, desc: "Folk"}
      - {id: 19, cat: Audio, desc: "Funk"}
      - {id: 20, cat: Audio, desc: "Garage"}
      - {id: 61, cat: Audio, desc: "Goth"}
      - {id: 66, cat: Audio, desc: "Grime"}
      - {id: 65, cat: Audio, desc: "Grindcore"}
      - {id: 73, cat: Audio, desc: "Grunge"}
      - {id: 21, cat: Audio, desc: "Hardcore"}
      - {id: 22, cat: Audio, desc: "Hip-Hop/Rap"}
      - {id: 23, cat: Audio, desc: "House"}
      - {id: 24, cat: Audio, desc: "IDM"}
      - {id: 25, cat: Audio, desc: "Indie"}
      - {id: 26, cat: Audio, desc: "Industrial"}
      - {id: 27, cat: Audio, desc: "J-Music"}
      - {id: 28, cat: Audio, desc: "Jazz"}
      - {id: 29, cat: Audio, desc: "Kids"}
      - {id: 30, cat: Audio, desc: "Latin"}
      - {id: 75, cat: Audio, desc: "Lounge"}
      - {id: 31, cat: Audio, desc: "Metal"}
      - {id: 32, cat: Audio, desc: "Misc"}
      - {id: 79, cat: Audio, desc: "Musical"}
      - {id: 59, cat: Audio, desc: "New Wave"}
      - {id: 60, cat: Audio, desc: "No Wave"}
      - {id: 63, cat: Audio, desc: "Noise"}
      - {id: 64, cat: Audio, desc: "Noiserock"}
      - {id: 33, cat: Audio, desc: "OST"}
      - {id: 34, cat: Audio, desc: "Pop"}
      - {id: 77, cat: Audio, desc: "Pop-Punk"}
      - {id: 58, cat: Audio, desc: "Post-Punk"}
      - {id: 35, cat: Audio, desc: "Post-Rock"}
      - {id: 36, cat: Audio, desc: "Pre-60s"}
      - {id: 69, cat: Audio, desc: "Progressive Rock"}
      - {id: 68, cat: Audio, desc: "Protopunk"}
      - {id: 37, cat: Audio, desc: "Psychedelic"}
      - {id: 78, cat: Audio, desc: "Psytrance"}
      - {id: 38, cat: Audio, desc: "Punk"}
      - {id: 39, cat: Audio, desc: "R 'n' B"}
      - {id: 40, cat: Audio, desc: "Reggae"}
      - {id: 62, cat: Audio, desc: "Remixes"}
      - {id: 41, cat: Audio, desc: "Rock"}
      - {id: 71, cat: Audio, desc: "Screamo"}
      - {id: 92, cat: Audio, desc: "Sheet music"}
      - {id: 42, cat: Audio, desc: "Ska"}
      - {id: 43, cat: Audio, desc: "Soul"}
      - {id: 76, cat: Audio, desc: "Synthpop"}
      - {id: 44, cat: Audio, desc: "Techno"}
      - {id: 45, cat: Audio, desc: "Trance"}
      - {id: 46, cat: Audio, desc: "Trip Hop"}
      - {id: 47, cat: Audio, desc: "UK Garage"}
      - {id: 74, cat: Audio, desc: "Video Game Music"}
      - {id: 48, cat: Audio, desc: "World/Ethnic"}
      - {id: 49, cat: Audio, desc: "Xmas"}

    modes:
      search: [q]

  login:
    path: login_check
    method: post
    inputs:
      _username: "{{ .Config.username }}"
      _password: "{{ .Config.password }}"
    # error:
    #   - selector: title:contains("Redirecting to https://waffles.ch/login")
    test:
      path: index.php

  search:
    paths:
      - path: browse.php
    inputs:
      $raw: "{{range .Categories}}filter_cat[{{.}}]=1&{{end}}"
      q: "{{ .Query.Keywords }}"
    rows:
      selector: table#browsetable > tbody > tr:has(a[href^="/details.php?id="])
    fields:
      category:
        selector: a[href^="/browse.php"]
        attribute: href
        filters:
          - name: querystring
            args: c
      title:
        selector: td:nth-child(2)
      download:
        selector: a[href^="/download.php/"]
        attribute: href
      details:
        selector: a[href^="/details.php?id="]
        attribute: href
      grabs:
        selector: td:nth-child(7)
        filters:
          - name: regexp
            args: ([\d,]+)
      files:
        selector: td:nth-child(3)
      size:
        selector: td:nth-child(6)
      seeders:
        selector: td:nth-child(8)
      leechers:
        selector: td:nth-child(9)
      date:
        selector: td:nth-child(5)
        filters:
          - name: dateparse
            args: "2 January 2006 15:04"
      downloadvolumefactor:
        case:
          "img[title=\"Free Torrent!\"]": "0"
          "*": "1"
      uploadvolumefactor:
        case:
          "*": "1"