Skip to content

Commit

Permalink
Improve ScoreGroup
Browse files Browse the repository at this point in the history
  • Loading branch information
diamondpete committed Sep 13, 2023
1 parent e6ddf80 commit b614b8e
Show file tree
Hide file tree
Showing 4 changed files with 65 additions and 11 deletions.
2 changes: 2 additions & 0 deletions Contents/Code/PAsiteList.py
Original file line number Diff line number Diff line change
Expand Up @@ -2062,6 +2062,7 @@
('^scoreland2', 'ScorelandTwo '),
('^seb ', 'SexuallyBroken '),
('^sed ', 'SexualDisgrace '),
('^shd ', 'ScoreLand '),
('^Shes New ', 'She\'s New '),
('^sins ', 'SinsLife '),
('^sislove ', 'SisLovesMe '),
Expand Down Expand Up @@ -2107,6 +2108,7 @@
('^wunf', 'WakeUpNFuck'),
('^wy ', 'WebYoung '),
('^ylp ', '18OnlyGirls '),
('^xlg ', 'XLGirls '),
('^YoungLegalPorn ', '18OnlyGirls '),
('^ztod ', 'ZeroTolerance '),
('^zzs ', 'ZZseries '),
Expand Down
1 change: 1 addition & 0 deletions Contents/Code/PAutils.py
Original file line number Diff line number Diff line change
Expand Up @@ -288,6 +288,7 @@ def parseTitle(s, siteNum):
s = re.sub(r'w\/(?!\s)', 'w/ ', s, flags=re.IGNORECASE)
s = re.sub(r'\,(?![\s|\d])', ', ', s)
s = s.replace('_', ' ')
s = s.replace('’', '\'')
s = preParseTitle(s)
word_list = re.split(' ', s)

Expand Down
71 changes: 61 additions & 10 deletions Contents/Code/networkScoreGroup.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,33 +3,73 @@


def search(results, lang, siteNum, searchData):
sceneID = re.sub(r'\D', '', searchData.title)
actorName = re.sub(r'\s\d.*', '', searchData.title).replace(' ', '-')
sceneURL = PAsearchSites.getSearchSearchURL(siteNum) + actorName + '/' + sceneID
searchResults = []
searchID = None

parts = searchData.title.split()
if unicode(parts[0], 'UTF-8').isdigit():
sceneID = parts[0]
searchData.title = searchData.title.replace(sceneID, '', 1).strip()
else:
sceneID = re.sub(r'\D', '', searchData.title)
actorName = re.sub(r'\s\d.*', '', searchData.title).replace(' ', '-')
directURL = '%s%s/%s' % (PAsearchSites.getSearchSearchURL(siteNum), actorName, sceneID)
searchResults.append(directURL)

urlID = PAsearchSites.getSearchSearchURL(siteNum).replace(PAsearchSites.getSearchBaseURL(siteNum), '')

googleResults = PAutils.getFromGoogleSearch(searchData.title, siteNum)
for sceneURL in googleResults:
if urlID in sceneURL and '?' not in sceneURL and sceneURL not in searchResults:
searchResults.append(sceneURL)

for sceneURL in searchResults:
req = PAutils.HTTPRequest(sceneURL)
searchPageElements = HTML.ElementFromString(req.text)
titleNoFormatting = PAutils.parseTitle(searchPageElements.xpath('//h1')[0].text_content().strip(), siteNum)

if '404' not in titleNoFormatting:
match = re.search(r'(?<=\/)\d+(?=\/)', sceneURL)
if match:
searchID = match.group(0)

curID = PAutils.Encode(sceneURL)

req = PAutils.HTTPRequest(sceneURL)
detailsPageElements = HTML.ElementFromString(req.text)
titleNoFormatting = detailsPageElements.xpath('//h1')[0].text_content().strip()
try:
date = searchPageElements.xpath('//div[./span[contains(., "Date:")]]//span[@class="value"]')[0].text_content().strip()
except:
date = ''

curID = PAutils.Encode(sceneURL)
if date:
releaseDate = parse(date).strftime('%Y-%m-%d')
else:
releaseDate = searchData.dateFormat() if searchData.date else ''
displayDate = releaseDate if date else ''

score = 100
if searchID and searchID == sceneID:
score = 100
elif searchData.date and displayDate:
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 [%s]' % (titleNoFormatting, PAsearchSites.getSearchSiteName(siteNum)), score=score, lang=lang))
results.Append(MetadataSearchResult(id='%s|%d|%s' % (curID, siteNum, releaseDate), name='%s [%s] %s' % (titleNoFormatting, PAsearchSites.getSearchSiteName(siteNum), displayDate), 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])
sceneDate = metadata_id[2]

if not sceneURL.startswith('http'):
sceneURL = PAsearchSites.getSearchSearchURL(siteNum) + sceneURL
req = PAutils.HTTPRequest(sceneURL)
detailsPageElements = HTML.ElementFromString(req.text)

# Title
metadata.title = detailsPageElements.xpath('//h1')[0].text_content().strip()
metadata.title = PAutils.parseTitle(detailsPageElements.xpath('//h1')[0].text_content().strip(), siteNum)

# Summary
summary_xpaths = [
Expand All @@ -51,6 +91,12 @@ def update(metadata, lang, siteNum, movieGenres, movieActors, art):
metadata.tagline = tagline
metadata.collections.add(metadata.tagline)

# Release Date
if sceneDate:
date_object = parse(sceneDate)
metadata.originally_available_at = date_object
metadata.year = metadata.originally_available_at.year

# Release Date
date = detailsPageElements.xpath('//div/span[@class="value"]')
if date:
Expand Down Expand Up @@ -83,6 +129,7 @@ def update(metadata, lang, siteNum, movieGenres, movieActors, art):
art.append(match.group(1))

xpaths = [
'//script[@type]/text()',
'//div[contains(@class, "thumb")]/img/@src',
'//div[contains(@class, "p-image")]/a/img/@src',
'//div[contains(@class, "dl-opts")]/a/img/@src',
Expand All @@ -92,6 +139,10 @@ def update(metadata, lang, siteNum, movieGenres, movieActors, art):

for xpath in xpaths:
for poster in detailsPageElements.xpath(xpath):
match = re.search(r'(?<=(poster: \')).*(?=\')', poster)
if match:
poster = match.group(0)

if not poster.startswith('http'):
poster = 'http:' + poster

Expand Down
2 changes: 1 addition & 1 deletion docs/sitelist.md
Original file line number Diff line number Diff line change
Expand Up @@ -1491,7 +1491,7 @@ If you're having difficulty finding the SceneID, double-check [PAsiteList.py](..
- WOW Orgasms
- X Angels
+ #### Teeny Taboo | ✅
+ #### The Score Group | ❌ - **Direct URL**
+ #### The Score Group |
- 18 Eighteen
- 50 Plus MILFS
- 60 Plus MILFS
Expand Down

0 comments on commit b614b8e

Please sign in to comment.