def search(results,encodedTitle,title,searchTitle,siteNum,lang,searchByDateActor,searchDate,searchSiteID): # try Actress Search try: url = PAsearchSites.getSearchSearchURL(searchSiteID) + searchTitle.lower().replace(" ","") Log('Actress Page: ' + url) searchResults = HTML.ElementFromURL(url) Log('Actress Search') for searchResult in searchResults.xpath('//section[1]//div[@class="tile-grid-item"]'): titleNoFormatting = searchResult.xpath('.//a[@class="video-card-title heading heading--4"]')[0].get('title') Log("Result Title: " + titleNoFormatting) curID = searchResult.xpath('.//a[@class="video-card-title heading heading--4"]')[0].get('href') curID = curID.replace("_","+").replace("/","_") Log("curID: " + curID) releaseDate = parse(searchResult.xpath('.//span[@class="video-card-upload-date"]')[0].text_content().strip()).strftime('%Y-%m-%d') Log("releaseDate: " + releaseDate) girlName = searchResult.xpath('.//a[@itemprop="actor"]')[0].text_content().strip() if searchDate: score = 100 - Util.LevenshteinDistance(searchDate, releaseDate) else: score = 100 - Util.LevenshteinDistance(searchTitle.lower(), girlName.lower()) results.Append(MetadataSearchResult(id = curID + "|" + str(searchSiteID), name = girlName + " in " + titleNoFormatting + " [" + PAsearchSites.getSearchSiteName(searchSiteID) + "] " + releaseDate, score = score, lang = lang)) # revert to scene title search except: Log("Scene Title Search") siteName = PAsearchSites.getSearchFilter(searchSiteID) if siteName == "KinkVR": scenePageBase = "/bdsm-vr-video/" elif siteName == "VRCosplayX": scenePageBase = "/cosplaypornvideo/" else: scenePageBase = "/vrpornvideo/" Log('scenePageBase: ' + scenePageBase) searchString = searchTitle.lower().replace(" ","_").replace("'","_").replace(".","_").replace(",","") url = PAsearchSites.getSearchBaseURL(searchSiteID) + scenePageBase + searchString Log("Scene Page url: " + url) searchResults = HTML.ElementFromURL(url) searchResult = searchResults.xpath('//div[@class="video-rating-and-details"]')[0] titleNoFormatting = searchResult.xpath('.//h1[@class="heading heading--2 video-title"]')[0].text_content() Log("SceneTitle: " + titleNoFormatting) curID = searchResults.xpath('//link[@rel="canonical"]')[0].get('href') curID = curID.replace("_","+").replace("/","_") Log("curID: " + curID) releaseDate = parse(searchResult.xpath('.//div[@class="video-details"]//p[@class="video-upload-date"]')[0].get('content').strip()).strftime('%Y-%m-%d') Log("ReleaseDate: " + releaseDate) girlName = searchResult.xpath('.//a[contains(@class,"video-actor-link")]')[0].text_content() Log("firstActressName: " + girlName) if searchDate: score = 100 - Util.LevenshteinDistance(searchDate, releaseDate) else: score = 100 - Util.LevenshteinDistance(searchTitle.lower(), titleNoFormatting.lower()) results.Append(MetadataSearchResult(id = curID + "|" + str(searchSiteID), name = girlName + " in " + titleNoFormatting + " [" + PAsearchSites.getSearchSiteName(searchSiteID) + "] " + releaseDate, score = score, lang = lang)) return results
def search(results, encodedTitle, title, searchTitle, siteNum, lang, searchByDateActor, searchDate, searchSiteID): if searchSiteID != 9999: siteNum = searchSiteID searchString = searchTitle.replace(' ', '-').replace("'", "-") actressSearchResults = HTML.ElementFromURL( PAsearchSites.getSearchSearchURL(siteNum) + searchString + "/") actressPageUrl = actressSearchResults.xpath( '//div[@class="item-inside"]//a')[0].get('href') searchResults = HTML.ElementFromURL(actressPageUrl) for searchResult in searchResults.xpath( '//div[contains(@class,"listing-videos")]//div[@class="item"]'): titleNoFormatting = searchResult.xpath( './/span[@class="title"]')[0].text_content() Log("Result Title: " + titleNoFormatting) curID = searchResult.xpath('.//a')[0].get('href').replace('/', '_').replace( '?', '!') Log("curID: " + curID) releaseDate = parse( searchResult.xpath('.//span[@class="date"]') [0].text_content().replace("th", "").replace( 'st', '').strip()).strftime('%Y-%m-%d') Log("releaseDate: " + releaseDate) subSiteRaw = searchResult.xpath( './/div[@class="meta"]//span[@class="date-and-site"]//span' )[0].text_content() Log("subSite: " + releaseDate) if subSiteRaw == 'kha': subSite = 'KarupsHA' elif subSiteRaw == 'kow': subSite = 'KarupsOW' elif subSiteRaw == 'kpc': subSite = 'KarupsPC' if searchDate: score = 100 - Util.LevenshteinDistance(searchDate, releaseDate) else: searchSubSite = PAsearchSites.getSearchFilter(siteNum) score = 100 - Util.LevenshteinDistance(searchSubSite.lower(), subSite.lower()) results.Append( MetadataSearchResult(id=curID + "|" + str(siteNum), name=titleNoFormatting + " [" + subSite + "] " + releaseDate, score=score, lang=lang)) return results