diff --git a/Contents/Code/PAsiteList.py b/Contents/Code/PAsiteList.py index 3080ab47b..9245b5d6c 100644 --- a/Contents/Code/PAsiteList.py +++ b/Contents/Code/PAsiteList.py @@ -962,7 +962,7 @@ 767: ('AllAnal', 'https://tour.allanal.com', '/_next/data/'), 768: ('TurningTwistys', 'https://www.twistys.com', 'https://site-api.project1service.com'), 769: ('GirlCum', 'https://www.girlcum.com', '/video/'), - 770: ('Zero Tolerance', 'http://www.ztod.com', '/videos?query='), + 770: ('Zero Tolerance', 'http://www.zerotolerancefilms.com', 'https://tsmkfa364q-dsn.algolia.net/1/indexes/*/queries'), 771: ('ClubFilly', 'http://www.clubfilly.com', '/scenefocus.php?vnum=V'), 772: ('Insex', 'https://www.insexondemand.com', '/iod/home.php?s='), 773: ('Sexuallybroken', 'https://www.insexondemand.com', '/iod/home.php?d=sexuallybroken.com&s='), @@ -2725,7 +2725,7 @@ def getProviderFromSiteNum(siteNum): # ZeroTolerance elif siteNum == 770: - provider = siteZTOD + provider = networkGammaEntOther # ClubFilly elif siteNum == 771: diff --git a/Contents/Code/siteZTOD.py b/Contents/Code/siteZTOD.py deleted file mode 100644 index 0b6a0113d..000000000 --- a/Contents/Code/siteZTOD.py +++ /dev/null @@ -1,110 +0,0 @@ -import PAsearchSites -import PAutils - - -def search(results, lang, siteNum, searchData): - req = PAutils.HTTPRequest(PAsearchSites.getSearchSearchURL(siteNum) + searchData.encoded) - searchResults = HTML.ElementFromString(req.text) - for searchResult in searchResults.xpath('//div[contains(@class, "video-container")]'): - titleNoFormatting = searchResult.xpath('.//a[@class="video-title"]')[0].text_content().strip() - sceneURL = PAsearchSites.getSearchBaseURL(siteNum) + searchResult.xpath('.//a[@class="video-title"]/@href')[0] - curID = PAutils.Encode(sceneURL) - releaseDate = parse(searchResult.xpath('.//ul[contains(@class, "desclist")]/li[1]')[0].text_content().strip()).strftime('%Y-%m-%d') - - if searchData.date: - score = 100 - Util.LevenshteinDistance(searchData.date, releaseDate) - else: - score = 100 - Util.LevenshteinDistance(searchData.title.lower(), titleNoFormatting.lower()) - - results.Append(MetadataSearchResult(id='%s|%d' % (curID, siteNum), name='%s [ZTOD] %s' % (titleNoFormatting, releaseDate), score=score, lang=lang)) - - return results - - -def update(metadata, lang, siteNum, movieGenres, movieActors, art): - metadata_id = str(metadata.id).split('|') - sceneURL = PAutils.Decode(metadata_id[0]) - if not sceneURL.startswith('http'): - sceneURL = PAsearchSites.getSearchBaseURL(siteNum) + sceneURL - req = PAutils.HTTPRequest(sceneURL) - detailsPageElements = HTML.ElementFromString(req.text) - - # Title - metadata.title = detailsPageElements.xpath('//h1[@class="section-title text-white"]')[0].text_content().strip() - - # Summary - metadata.summary = detailsPageElements.xpath('//div[contains(@class, "synopsis")]/p')[0].text_content().strip() - - # Studio - metadata.studio = PAsearchSites.getSearchSiteName(siteNum) - - # Tagline and Collection(s) - metadata.collections.add(metadata.studio) - - # Release Date - date = detailsPageElements.xpath('//div[contains(@class, "player-desc")]/div/ul[contains(@class, "desclist")]/li[1]')[0].text_content().replace('Released on', '').strip() - if date: - date_object = datetime.strptime(date, '%b %d, %Y') - metadata.originally_available_at = date_object - metadata.year = metadata.originally_available_at.year - - # Genres - for genreLink in detailsPageElements.xpath('//div[@class="tag-section"]/a'): - genreName = genreLink.text_content().strip() - - movieGenres.addGenre(genreName) - - # Actor(s) - actors = detailsPageElements.xpath('//div[contains(@class, "video-title-section")]/div/p[@class="text-white"]/a') - if actors: - if len(actors) == 3: - movieGenres.addGenre('Threesome') - if len(actors) == 4: - movieGenres.addGenre('Foursome') - if len(actors) > 4: - movieGenres.addGenre('Orgy') - - for actorLink in actors: - actorName = actorLink.text_content().strip() - actorPhotoURL = '' - - try: - actorPageURL = PAsearchSites.getSearchBaseURL(siteNum) + actorLink.get('href') - req = PAutils.HTTPRequest(actorPageURL) - actorPage = HTML.ElementFromString(req.text) - actorPhotoURL = actorPage.xpath('//div[@class="pornstar-image"]/img/@src')[0] - if 'http' not in actorPhotoURL: - actorPhotoURL = PAsearchSites.getSearchBaseURL(siteNum) + actorPhotoURL - except: - pass - - movieActors.addActor(actorName, actorPhotoURL) - - # Posters - xpaths = [ - '//img[@class="player-image"]/@src' - ] - for xpath in xpaths: - for poster in detailsPageElements.xpath(xpath): - art.append(poster) - - Log('Artwork found: %d' % len(art)) - for idx, posterUrl in enumerate(art, 1): - if not PAsearchSites.posterAlreadyExists(posterUrl, metadata): - # Download image file for analysis - try: - image = PAutils.HTTPRequest(posterUrl) - im = StringIO(image.content) - resized_image = Image.open(im) - width, height = resized_image.size - # Add the image proxy items to the collection - if width > 1 or height > width: - # Item is a poster - metadata.posters[posterUrl] = Proxy.Media(image.content, sort_order=idx) - if width > 100 and width > height: - # Item is an art item - metadata.art[posterUrl] = Proxy.Media(image.content, sort_order=idx) - except: - pass - - return metadata