name: "JulesJordan"
sceneByURL:
  - action: scrapeXPath
    url:
      - girlgirl.com/
      - manuelferrara.com/
      - spermswallowers.com/
    scraper: sceneScraper
  - action: scrapeXPath
    url:
      - julesjordan.com/
      - theassfactory.com/
    scraper: newStyleScraper

galleryByURL:
  - action: scrapeXPath
    url:
      - girlgirl.com/
      - manuelferrara.com/
      - spermswallowers.com/
    scraper: sceneScraper
  - action: scrapeXPath
    url:
      - julesjordan.com/
      - theassfactory.com/
    scraper: newStyleScraper

performerByURL:
  - action: scrapeXPath
    url:
      - julesjordan.com/trial/models/
    scraper: performerScraper

movieByURL:
  - action: scrapeXPath
    url:
      - julesjordan.com/trial/dvds/
    scraper: movieScraper

xPathScrapers:
  sceneScraper:
    common:
      $details: //div[@class="backgroundcolor_info"]
      $galinfo: //div[@class="gallery_info"]

    scene:
      Title: &titleAttr
        selector: //div[@class="title_bar"]/span/text()
      Date: &dateAttr
        selector: $details//div[@class="cell update_date"]/text()
        postProcess:
          - parseDate: 01/02/2006
      Details: &detailsAttr
        selector: $details//span[@class="update_description"]/text()
        concat: " "
      Tags: &tagsAttr
        Name: //span[@class="update_tags"]/a/text()
      Performers: &performersAttr
        Name: $details//span[@class="update_models"]/a/text()|$galinfo//span[@class="update_models"]/div/a/text()
        URL: $details//span[@class="update_models"]/a/@href|$galinfo//span[@class="update_models"]/div/a/@href
      Studio: &studioAttr
        Name:
          selector: //base/@href
          postProcess:
            - replace:
                - regex: (.+\/\/|www.|\..+)
                  with:
            - map:
                julesjordan: Jules Jordan
                girlgirl: Girl Girl
                manuelferrara: Manuel Ferrara
                theassfactory: The Ass Factory
                spermswallowers: Sperm Swallowers
      Movies:
        Name: $details//span[@class="update_dvds"]/a/text()
        URL: $details//span[@class="update_dvds"]/a/@href
      Image:
        selector: //script[contains(text(),'useimage')]/text()
        postProcess:
          - replace:
              - regex: (?:.+useimage = "([^"]+).+)
                with: $1
              - regex: (^\/)
                with: https://www.julesjordan.com/

    gallery:
      Title: *titleAttr
      Date: *dateAttr
      Details: *detailsAttr
      Tags: *tagsAttr
      Performers: *performersAttr
      Studio: *studioAttr

  newStyleScraper:
    common:
      $scene: //div[@class="movie-player"]
    scene:
      Title: &newTitleAttr $scene//div[@class="movie_title"]
      Date: &newDateAttr
        selector: $scene//span[contains(., "Date:")]/following-sibling::text()
        postProcess:
          - parseDate: 01/02/2006
      Details: &newDetailsAttr $scene//span[contains(., "Description:")]/following-sibling::text()
      Tags: &newTagsAttr
        Name: $scene//a[contains(@href, "categories")]/text()
      Performers: &newPerformersAttr
        Name: $scene//a[contains(@href, "models")]/text()
        URL: $scene//a[contains(@href, "models")]/@href
      Studio: *studioAttr
      Movies:
        Name: $scene//span[contains(., "Movie:")]/following-sibling::a/text()
        URL: $scene//span[contains(., "Movie:")]/following-sibling::a/@href
      Image: $scene//video/@poster

    gallery:
      Title: *newTitleAttr
      Date: *newDateAttr
      Details: *newDetailsAttr
      Tags: *newTagsAttr
      Performers: *newPerformersAttr
      Studio: *studioAttr

  performerScraper:
    performer:
      Name: //span[@class='title_bar_hilite']/text()
      Birthdate:
        selector: //div[@class='model_bio model_bio_info']//text()[contains(.,'Age')]
        postProcess:
          - replace:
              - regex: "Age:"
                with:
          - parseDate: January 2, 2006
      Measurements:
        selector: //div[@class='model_bio model_bio_info']//text()[contains(.,'Measurements')]
        postProcess:
          - replace:
              - regex: "Measurements:"
                with:
              - regex: " "
                with:
      Height:
        selector: //div[@class='model_bio model_bio_info']//text()[contains(.,'Height')]
        postProcess:
          - replace:
              - regex: "Height:"
                with:
          - feetToCm: true
      Image:
        selector: //img[contains(@class,'model_bio_thumb')]/@src0_3x

  movieScraper:
    movie:
      Name: //meta[@property="og:title"]/@content
      Studio:
        Name:
          fixed: Jules Jordan Video
      FrontImage: //img[contains(@class, "dvd_box")]/@src0_3x
# Last Updated September 19, 2023
