Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
61 changes: 31 additions & 30 deletions Contents/Code/PAsiteList.py
Original file line number Diff line number Diff line change
Expand Up @@ -714,22 +714,22 @@
522: ('Manuel Ferrara', 'https://www.manuelferrara.com', '/trial/search.php?query='),
523: ('The Ass Factory', 'https://www.theassfactory.com', '/trial/search.php?query='),
524: ('Sperm Swallowers', 'https://www.spermswallowers.com', '/trial/search.php?query='),
525: ('Nubile Films', 'https://nubilefilms.com', '/video/'),
526: ('Nubiles Porn', 'https://nubiles-porn.com', '/video/'),
527: ('Step Siblings Caught', 'https://nubiles-porn.com', '/video/website/16/'),
528: ('Moms Teach Sex', 'https://nubiles-porn.com', '/video/website/8/'),
529: ('Bad Teens Punished', 'https://nubiles-porn.com', '/video/website/18/'),
530: ('Princess Cum', 'https://nubiles-porn.com', '/video/website/17/'),
531: ('Nubiles Unscripted', 'https://nubiles-porn.com', '/video/website/22/'),
532: ('Nubiles Casting', 'https://nubiles-porn.com', '/video/website/6/'),
533: ('Petite HD Porn', 'https://nubiles-porn.com', '/video/website/9/'),
534: ('Driver XXX', 'https://nubiles-porn.com', '/video/website/13/'),
535: ('Petite Ballerinas Fucked', 'https://nubiles-porn.com', '/video/website/14/'),
536: ('Teacher Fucks Teens', 'https://nubiles-porn.com', '/video/website/15/'),
537: ('Bountyhunter Porn', 'https://nubiles-porn.com', '/video/website/23/'),
538: ('Daddys Lil Angel', 'https://nubiles-porn.com', '/video/website/25/'),
539: ('My Family Pies', 'https://nubiles-porn.com', '/video/website/26/'),
540: ('Nubiles', 'https://nubiles.net', '/video/'),
525: ('Nubile Films', 'https://nubilefilms.com', '/video/gallery/'),
526: ('Nubiles Porn', 'https://nubiles-porn.com', '/video/gallery/'),
527: ('Step Siblings Caught', 'https://stepsiblingscaught.com', '/video/gallery/'),
528: ('Moms Teach Sex', 'https://momsteachsex.com', '/video/gallery/'),
529: ('Bad Teens Punished', 'https://badteenspunished.com', '/video/gallery/'),
530: ('Princess Cum', 'https://princesscum.com', '/video/gallery/'),
531: ('Nubiles Unscripted', 'https://nubilesunscripted.com', '/video/gallery/'),
532: ('Nubiles Casting', 'https://nubiles-casting.com', '/video/gallery/'),
533: ('Petite HD Porn', 'https://petitehdporn.com', '/video/gallery/'),
534: ('Driver XXX', 'https://driverxxx.com', '/video/gallery/'),
535: ('Petite Ballerinas Fucked', 'https://petiteballerinasfucked.com', '/video/gallery/'),
536: ('Teacher Fucks Teens', 'https://teacherfucksteens.com', '/video/gallery/'),
537: ('Bountyhunter Porn', 'https://bountyhunterporn.com', '/video/gallery/'),
538: ('Daddy\'s Lil Angel', 'https://daddyslilangel.com', '/video/gallery/'),
539: ('My Family Pies', 'https://myfamilypies.com', '/video/gallery/'),
540: ('Nubiles', 'https://nubiles.net', '/video/gallery/'),
541: ('Bratty Sis', 'https://brattysis.com', '/video/gallery/'),
542: ('Anilos', 'https://anilos.com', '/video/'),
543: ('Hot Crazy Mess', 'https://hotcrazymess.com', '/video/'),
Expand Down Expand Up @@ -944,8 +944,8 @@
752: ('VRHush', 'https://www.vrhush.com', '/scenes/'),
753: ('MetArt', 'https://www.metart.com', '/api'),
754: ('MetArtX', 'https://www.metartx.com', '/api'),
755: ('Nubiles ET', 'https://nubileset.com', '/video/'),
756: ('Detention Girls', 'https://detentiongirls.com', '/video/'),
755: ('Nubiles ET', 'https://nubileset.com', '/video/gallery/'),
756: ('Detention Girls', 'https://detentiongirls.com', '/video/gallery/'),
757: ('Mylfdom', 'https://www.mylf.com', '/movies/'),
758: ('Fitting-Room', 'https://www.fitting-room.com', '/videos/'),
759: ('FamilyHookups', 'https://www.familyhookups.com', 'https://site-api.project1service.com'),
Expand Down Expand Up @@ -1445,7 +1445,7 @@
1253: ('AnalOnly', 'https://tour.analonly.com', '/_next/data/'),
1254: ('Exposed Whores', 'https://exposedwhores.com/new-tour', '/search.php?query='),
1255: ('She Seduced Me', 'https://www.sheseducedme.com', '/search.php?query='),
1256: ('Family Swap', 'https://nubiles-porn.com', '/video/website/52/'),
1256: ('Family Swap', 'https://familyswap.xxx', '/video/gallery/'),
1257: ('Filthy POV', 'https://www.filthykings.com', 'https://tsmkfa364q-dsn.algolia.net/1/indexes/*/queries'),
1258: ('Filthy Massage', 'https://www.filthykings.com', 'https://tsmkfa364q-dsn.algolia.net/1/indexes/*/queries'),
1259: ('Filthy Taboo', 'https://www.filthykings.com', 'https://tsmkfa364q-dsn.algolia.net/1/indexes/*/queries'),
Expand Down Expand Up @@ -1640,7 +1640,7 @@
1448: ('She Is Nerdy', 'http://sheisnerdy.com', '/detailed/'),
1449: ('Tricky Agent', 'http://trickyagent.com', '/detailedTrailer/'),
1550: ('Net Video Girls', 'https://netvideogirls.net', '/'),
1551: ('Moms Family Secrets', 'https://momsfamilysecrets.com', '/video/gallery/'),
1551: ('Mom\'s Family Secrets', 'https://momsfamilysecrets.com', '/video/gallery/'),
1552: ('Squirted', 'https://squirted.com', 'https://site-api.project1service.com'),
1553: ('See Him Fuck', 'https://seehimfuck.com', '/trailers/'),
1554: ('MommysBoy', 'http://www.mommysboy.com', 'https://tsmkfa364q-dsn.algolia.net/1/indexes/*/queries'),
Expand All @@ -1664,14 +1664,14 @@
1572: ('Mrs. Creampie', 'https://naughtyamerica.com', '/search?term='),
1573: ('Thundercock', 'https://naughtyamerica.com', '/search?term='),
1574: ('Conor Coxxx', 'https://conorcoxxx.com', '/MemberSceneSearch?q='),
1575: ('Mom Lover', 'https://momlover.com', '/video'),
1576: ('I\'m Not Your Mommy', 'https://momlover.com', '/video'),
1577: ('Mom Swapped', 'https://momlover.com', '/video'),
1578: ('Mom Wants to Breed', 'https://momlover.com', '/video'),
1579: ('Mom Wants Creampie', 'https://momlover.com', '/video'),
1580: ('Mom\'s Family Secrets', 'https://momlover.com', '/video'),
1581: ('Moms Boy Toy', 'https://momlover.com', '/video'),
1582: ('Mom\'s Tight', 'https://momlover.com', '/video'),
1575: ('Mom Lover', 'https://momlover.com', '/video/gallery/'),
1576: ('I\'m Not Your Mommy', 'https://imnotyourmommy.com', '/video/gallery/'),
1577: ('Mom Swapped', 'https://momswapped.com', '/video/gallery/'),
1578: ('Mom Wants to Breed', 'https://momwantstobreed.com', '/video/gallery/'),
1579: ('Mom Wants Creampie', 'https://momwantscreampie.com', '/video/gallery/'),
1580: ('Mom\'s Family Secrets', 'https://momsfamilysecrets.com', '/video/gallery/'),
1581: ('Mom\'s Boy Toy', 'https://momsboytoy.com', '/video/gallery/'),
1582: ('Mom\'s Tight', 'https://momstight.com', '/video/gallery/'),
1583: ('Czech Casting', 'https://czechcasting.com', '/tour/search/?q='),
1584: ('Freaky Fembots', 'https://www.teamskeet.com', '/movies/'),
1585: ('TeamSkeet x Kriss Kiss', 'https://www.teamskeet.com', '/movies/'),
Expand Down Expand Up @@ -1775,7 +1775,7 @@
1683: ('Lezkey', 'https://lezkey.com', '/scenes'),
1684: ('SIDECHICK', 'https://sidechick.com', '/videos'),
1685: ('JAV888', 'https://jav888.com', '/videos'),
1686: ('Smashed', 'https://nubiles-porn.com', '/video/website/68/'),
1686: ('Smashed', 'https://smashed.xxx', '/video/gallery/'),
1687: ('Pie 4k', 'https://vip4k.com', '/en/search/'),
1688: ('Shower 4K', 'https://pornplus.com', '/api'),
1689: ('Kinky Sluts 4K', 'https://pornplus.com', '/api'),
Expand Down Expand Up @@ -2007,6 +2007,7 @@
1915: ('Dating My Stepson', 'https://datingmystepson.com', '/video/gallery/'),
1916: ('Cheating Mommy', 'https://cheatingmommy.com', '/video/gallery/'),
1917: ('MILF Coach', 'https://milfcoach.com', '/video/gallery/'),
1918: ('The POV God', 'https://thepovgod.com', '/video/gallery/'),
}

abbreviations = (
Expand Down Expand Up @@ -2569,7 +2570,7 @@ def getProviderFromSiteNum(siteNum):
provider = networkKink

# Nubiles
elif (525 <= siteNum <= 545) or (755 <= siteNum <= 756) or siteNum == 766 or (995 <= siteNum <= 996) or siteNum == 1040 or siteNum == 1256 or siteNum == 1360 or (1396 <= siteNum <= 1397) or siteNum == 1551 or (1575 <= siteNum <= 1582) or siteNum == 1686 or (1911 <= siteNum <= 1917):
elif (525 <= siteNum <= 545) or (755 <= siteNum <= 756) or siteNum == 766 or (995 <= siteNum <= 996) or siteNum == 1040 or siteNum == 1256 or siteNum == 1360 or (1396 <= siteNum <= 1397) or siteNum == 1551 or (1575 <= siteNum <= 1582) or siteNum == 1686 or (1911 <= siteNum <= 1918):
provider = networkNubiles

# BellaPass
Expand Down
2 changes: 1 addition & 1 deletion Contents/Code/PAutils.py
Original file line number Diff line number Diff line change
Expand Up @@ -324,7 +324,7 @@ def parseWord(word, siteNum):
upper_exceptions = (
'bbc', 'xxx', 'bbw', 'bf', 'bff', 'bts', 'pov', 'dp', 'gf', 'bj', 'wtf', 'cfnm', 'bwc', 'fm', 'tv', 'ai',
'hd', 'milf', 'gilf', 'dilf', 'dtf', 'zz', 'xxxl', 'usa', 'nsa', 'hr', 'ii', 'iii', 'iv', 'bbq', 'avn', 'xtc', 'atv',
'joi', 'rpg', 'wunf', 'uk', 'asap', 'sss', 'nf', 'pawg'
'joi', 'rpg', 'wunf', 'uk', 'asap', 'sss', 'nf', 'pawg', 'ama'
)
symbolsClean = ['-', '/', '.', '+', '\'']
symbolsEsc = ['-', '/', r'\.', r'\+', r'\'']
Expand Down
31 changes: 22 additions & 9 deletions Contents/Code/networkNubiles.py
Original file line number Diff line number Diff line change
Expand Up @@ -95,9 +95,16 @@ def update(metadata, lang, siteNum, movieGenres, movieActors, movieCollections,
actorPageURL = PAsearchSites.getSearchBaseURL(siteNum) + actorLink.get('href')
req = PAutils.HTTPRequest(actorPageURL, cookies=cookies, headers=headers)
actorPage = HTML.ElementFromString(req.text)
actorPhotoURL = 'http:' + actorPage.xpath('//div[contains(@class, "model-profile")]//img/@src')[0]
actorPhotoURL = actorPage.xpath('//div[contains(@class, "model-profile")]//img/@src')[0]
if not actorPhotoURL.startswith('http'):
actorPhotoURL = 'http:%s' % actorPhotoURL

movieActors.addActor(actorName, actorPhotoURL)
gender = ''
checkGender = actorPage.xpath('//p[@class="model-profile-subheading"][contains(., "Figure")]')
if checkGender:
gender = 'female'

movieActors.addActor(actorName, actorPhotoURL, gender=gender)

if 'Logan Long' in metadata.summary:
movieActors.addActor('Logan Long', '')
Expand Down Expand Up @@ -145,7 +152,7 @@ def update(metadata, lang, siteNum, movieGenres, movieActors, movieCollections,
try:
galleryURL = PAsearchSites.getSearchBaseURL(siteNum) + detailsPageElements.xpath('//div[contains(@class, "content-pane-related-links")]/a[contains(., "Pic")]/@href')[0]
except:
match = re.search(r'(?<=videos\/).*(?=\/sample)', detailsPageElements.xpath('//video/@poster')[0])
match = re.search(r'(?<=videos\/).*(?=\/sample)', detailsPageElements.xpath('//video/@poster | //div[@class="fake-video-player"]/img/@src')[0])
if match:
sceneID = match.group(0)
galleryURL = '%s/galleries/%s/screenshots' % (PAsearchSites.getSearchBaseURL(siteNum), sceneID)
Expand All @@ -162,38 +169,44 @@ def update(metadata, lang, siteNum, movieGenres, movieActors, movieCollections,

images = []
posterExists = False
postersClean = list()
Log('Artwork found: %d' % len(art))
for idx, posterUrl in enumerate(art, 1):
if not PAsearchSites.posterAlreadyExists(posterUrl, metadata):
# Remove Timestamp and Token from URL
cleanUrl = posterUrl.split('?')[0]
postersClean.append(cleanUrl)
if not PAsearchSites.posterAlreadyExists(cleanUrl, metadata):
# Download image file for analysis
try:
image = PAutils.HTTPRequest(posterUrl)
im = StringIO(image.content)
images.append(image)
resized_image = Image.open(im)
width, height = resized_image.size
# Add the image proxy items to the collection
if height > width:
# Item is a poster
metadata.posters[posterUrl] = Proxy.Media(image.content, sort_order=idx)
metadata.posters[cleanUrl] = Proxy.Media(image.content, sort_order=idx)
posterExists = True
if width > height:
# Item is an art item
metadata.art[posterUrl] = Proxy.Media(image.content, sort_order=idx)
images.append((image, cleanUrl))
metadata.art[cleanUrl] = Proxy.Media(image.content, sort_order=idx)
except:
pass

if not posterExists:
for idx, image in enumerate(images, 1):
for idx, (image, cleanUrl) in enumerate(images, 1):
try:
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:
# Item is a poster
metadata.posters[art[idx - 1]] = Proxy.Media(image.content, sort_order=idx)
metadata.posters[cleanUrl] = Proxy.Media(image.content, sort_order=idx)
except:
pass

art.extend(postersClean)

return metadata
1 change: 1 addition & 0 deletions docs/sitelist.md
Original file line number Diff line number Diff line change
Expand Up @@ -1073,6 +1073,7 @@ If you're having difficulty finding the SceneID, double-check [PAsiteList.py](..
- Nubilesfilms
- NubilesNet
- That Sitcom Show
- The POV God
+ #### NVG Network | ❌ - **SceneID Only, Date Add, Actor Add (Name1 AND Name2)**
- Net Video Girls
+ #### OpenlifeNetwork | ✅
Expand Down