diff --git a/Contents/Code/PAactors.py b/Contents/Code/PAactors.py index daeda51cf..5e50fa81c 100644 --- a/Contents/Code/PAactors.py +++ b/Contents/Code/PAactors.py @@ -393,16 +393,16 @@ def getFromJAVDatabase(actorName, actorEncoded, metadata): req = PAutils.HTTPRequest('https://www.javdatabase.com/?wpessid=391488&s=' + actorEncoded) actorSearch = HTML.ElementFromString(req.text) - results = actorSearch.xpath('//div[@id="content"]//div[@class="row"]/div') + results = actorSearch.xpath('//div[@class="idol-thumb"]//img[@class]') lastScore = 100 for actor in results: - actorSeachName = actor.xpath('.//h2/a')[0].text_content().strip().split('(')[0] + actorSeachName = actor.xpath('./@alt')[0].strip() score = Util.LevenshteinDistance(actorName, actorSeachName) if score < lastScore or not actorPhotoURL: lastScore = score - actorPhotoURL = actor.xpath('.//@src')[0] + actorPhotoURL = actor.xpath('./@data-src')[0] req = PAutils.HTTPRequest(actorPhotoURL) if 'unknown.' in req.url: diff --git a/Contents/Code/PAsiteList.py b/Contents/Code/PAsiteList.py index 1bde5a79d..981b00c35 100644 --- a/Contents/Code/PAsiteList.py +++ b/Contents/Code/PAsiteList.py @@ -956,7 +956,7 @@ 759: ('FamilyHookups', 'https://www.familyhookups.com', 'https://site-api.project1service.com'), 760: ('Clips4Sale', 'https://www.clips4sale.com', '/studio/'), 761: ('VogoV', 'https://vogov.com', '/search/?q='), - 762: ('Ultrafilms', 'https://www.ultrafilms.xxx', '/?s='), + 762: ('UltraFilms', 'https://www.ultrafilms.xxx', '/?s='), 763: ('FuckingAwesome', 'https://fuckingawesome.com', '/search/videos/'), 764: ('ToughLoveX', 'https://tour.toughlovex.com', '/search/'), 765: ('CumLouder', 'https://www.cumlouder.com', '/search?q='), @@ -1946,7 +1946,6 @@ ('^ext ', 'ExxxtraSmall '), ('^Exxtra ', 'BrazzersExxtra '), ('^family ', 'Taboo '), - ('^familyxxx ', 'Taboo '), ('^fams ', 'FamilyStrokes '), ('^faq ', 'FirstAnalQuest '), ('^fds ', 'FakeDrivingSchool '), @@ -2595,7 +2594,7 @@ def getProviderFromSiteNum(siteNum): elif siteNum == 761: provider = siteVogoV - # Ultrafilms + # UltraFilms elif siteNum == 762: provider = siteUltrafilms diff --git a/Contents/Code/networkPornPros.py b/Contents/Code/networkPornPros.py index 463c95228..ecc8d93ae 100644 --- a/Contents/Code/networkPornPros.py +++ b/Contents/Code/networkPornPros.py @@ -82,7 +82,7 @@ def update(metadata, lang, siteNum, movieGenres, movieActors, art): # Actors movieActors.clearActors() if 'pornplus' in sceneURL: - actors = detailsPageElements.xpath('//div[contains(@class, "space-y-4 p-4")]//a[contains(@href, "/girls?")]') + actors = detailsPageElements.xpath('//div[contains(@class, "space-y-4 p-4")]//a[contains(@href, "/models/")]') else: actors = detailsPageElements.xpath('//div[@id="t2019-sinfo"]//a[contains(@href, "/girls/")]') if actors: diff --git a/Contents/Code/siteNewSensations.py b/Contents/Code/siteNewSensations.py index 8f62556ab..581994c5e 100644 --- a/Contents/Code/siteNewSensations.py +++ b/Contents/Code/siteNewSensations.py @@ -14,7 +14,7 @@ def search(results, lang, siteNum, searchData): googleResults = PAutils.getFromGoogleSearch(searchData.title, siteNum) for sceneURL in googleResults: if sceneURL not in searchResultsURLs: - if (('/updates/' in sceneURL or '/dvds/' in sceneURL or '/scenes/' in sceneURL) and '/tour_ns/' in sceneURL) and sceneURL not in searchResultsURLs: + if ('/updates/' in sceneURL or '/dvds/' in sceneURL or '/scenes/' in sceneURL) and ('/tour_ns/' in sceneURL or '/tour_famxxx/' in sceneURL) and sceneURL not in searchResultsURLs: searchResultsURLs.append(sceneURL) for sceneURL in searchResultsURLs: @@ -23,7 +23,7 @@ def search(results, lang, siteNum, searchData): try: searchResult = HTML.ElementFromString(req.text) - titleNoFormatting = searchResult.xpath('(//div[@class="indScene"] | //div[@class="indSceneDVD"])/h1')[0].text_content().strip() + titleNoFormatting = searchResult.xpath('(//div[@class="indScene"]/h1 | //div[@class="indSceneDVD"]/h1) | (//div[@class="indScene"]/h2 | //div[@class="indSceneDVD"]/h2)')[0].text_content().strip() curID = PAutils.Encode(sceneURL) score = 100 - Util.LevenshteinDistance(searchData.title.lower(), titleNoFormatting.lower()) @@ -59,10 +59,10 @@ def update(metadata, lang, siteNum, movieGenres, movieActors, art): if sceneType == 'Scene': # Title - metadata.title = detailsPageElements.xpath('//div[@class="indScene"]/h1')[0].text_content().strip() + metadata.title = detailsPageElements.xpath('//div[@class="indScene"]/h1 | //div[@class="indScene"]/h2')[0].text_content().strip() # Summary - metadata.summary = detailsPageElements.xpath('//div[@class="description"]/h2')[0].text_content().replace('Description:', '').strip() + metadata.summary = detailsPageElements.xpath('//div[@class="description"]/h2/text() | //div[@class="description"]//span/following-sibling::text()')[0].replace('Description:', '').strip() # Tagline and Collection(s) metadata.collections.add(PAsearchSites.getSearchSiteName(siteNum)) diff --git a/Contents/Code/siteUltrafilms.py b/Contents/Code/siteUltrafilms.py index a9822da5b..5b6aa60f4 100644 --- a/Contents/Code/siteUltrafilms.py +++ b/Contents/Code/siteUltrafilms.py @@ -30,9 +30,11 @@ def search(results, lang, siteNum, searchData): image = PAutils.Encode(searchResult.xpath('.//img/@data-src')[0]) curID = PAutils.Encode(searchResult.xpath('.//a/@href')[0]) + releaseDate = searchData.dateFormat() if searchData.date else '' + score = 100 - Util.LevenshteinDistance(searchData.title.lower(), titleNoFormatting.lower()) - results.Append(MetadataSearchResult(id='%s|%d|%s' % (curID, siteNum, image), name='%s [%s]' % (titleNoFormatting, PAsearchSites.getSearchSiteName(siteNum)), score=score, lang=lang)) + results.Append(MetadataSearchResult(id='%s|%d|%s|%s' % (curID, siteNum, image, releaseDate), name='%s [%s]' % (titleNoFormatting, PAsearchSites.getSearchSiteName(siteNum)), score=score, lang=lang)) return results @@ -40,6 +42,7 @@ def search(results, lang, siteNum, searchData): def update(metadata, lang, siteNum, movieGenres, movieActors, art): metadata_id = str(metadata.id).split('|') sceneURL = PAutils.Decode(metadata_id[0]) + sceneDate = metadata_id[3] if not sceneURL.startswith('http'): sceneURL = PAsearchSites.getSearchBaseURL(siteNum) + sceneURL req = PAutils.HTTPRequest(sceneURL) @@ -51,13 +54,17 @@ def update(metadata, lang, siteNum, movieGenres, movieActors, art): except: pass + # Summary + summary = detailsPageElements.xpath('//div[@class="video-description"]//div[@class="desc "]/p') + if summary: + metadata.summary = summary[0].text_content().strip() + # Studio metadata.studio = PAsearchSites.getSearchSiteName(siteNum) # Collections / Tagline metadata.collections.clear() tagline = PAsearchSites.getSearchSiteName(siteNum) - metadata.tagline = tagline metadata.collections.add(tagline) # Genres @@ -67,10 +74,13 @@ def update(metadata, lang, siteNum, movieGenres, movieActors, art): movieGenres.addGenre(genreName) # Release Date - date = detailsPageElements.xpath('//div[@id="video-date"]')[0].text_content().strip() + date = detailsPageElements.xpath('//meta[@property="article:published_time"]/@content') if date: - date = date.replace('Date:', '').strip() - date_object = parse(date) + date_object = parse(date[0].strip()) + metadata.originally_available_at = date_object + metadata.year = metadata.originally_available_at.year + elif sceneDate: + date_object = parse(sceneDate) metadata.originally_available_at = date_object metadata.year = metadata.originally_available_at.year