Giter Club home page Giter Club logo

phoenixadult.bundle's People

Contributors

phoenixplexcode avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

phoenixadult.bundle's Issues

Jellyfin Support

Can you please bring this to Jellyfin?
Jellyfin is open source and respects users privacy. Lots of users are switching off Plex tbh. Would be nice to have this.

NFBusty bugfix

in networkNubiles.py bugfix

import PAsearchSites
import PAgenres
import PAactors

def search(results,encodedTitle,title,searchTitle,siteNum,lang,searchByDateActor,searchDate,searchSiteID):
    if searchSiteID != 9999:
        siteNum = searchSiteID
    if searchDate:
        url = PAsearchSites.getSearchSearchURL(siteNum) + "date/" + searchDate + "/" + searchDate
        log("URL SEARCH: " + url)
        searchResults = HTML.ElementFromURL(url)
        for searchResult in searchResults.xpath('//div[contains(@class,"thumbnail-grid videoset")]'):
            titleNoFormatting = searchResult.xpath('.//img')[0].get('alt').strip()
            temp = searchResult.xpath('.//a[@class="title"]')[0].get('href')
            alpha = temp.replace('/', '_', 2).find('/')+1
            omega = temp.rfind('/')

            curID = temp[alpha:omega].replace('/','_').replace('?','!')
            Log('curID: ' + str(curID))
            releaseDate = parse(searchResult.xpath('.//span[@class="date"]')[0].text_content().strip()).strftime('%Y-%m-%d')
            if searchDate:
                score = 100 - Util.LevenshteinDistance(searchDate, releaseDate)
            else:
                score = 100 - Util.LevenshteinDistance(searchTitle.lower(), titleNoFormatting.lower())

            results.Append(MetadataSearchResult(id = curID + "|" + str(siteNum), name = titleNoFormatting + " [" + PAsearchSites.getSearchSiteName(siteNum) + "] " + releaseDate, score = score, lang = lang))

    if unicode(searchTitle, 'utf-8').isnumeric():
        url = PAsearchSites.getSearchBaseURL(siteNum) + "/video/watch/" + searchTitle.lower().replace(" ","-").replace("'","-")
        searchResults = HTML.ElementFromURL(url)

        searchResult = searchResults.xpath('//div[@class="descrips"]')[0]
        titleNoFormatting = searchResult.xpath('//span[@class="wp-title videotitle"]')[0].text_content()
        curID = searchTitle.lower().replace(" ","-").replace("'","-")
        releaseDate = parse(searchResult.xpath('//div[@class="descrips"]//div[@class="row"]//div[@class="col-lg-6 col-sm-6"]//span')[10].text_content().strip()).strftime('%Y-%m-%d')

        score = 100
        results.Append(MetadataSearchResult(id = curID + "|" + str(siteNum), name = titleNoFormatting + " [" + PAsearchSites.getSearchSiteName(siteNum) + "] " + releaseDate, score = score, lang = lang))
    return results


def update(metadata,siteID,movieGenres,movieActors):
    detailsPageElements = HTML.ElementFromURL(PAsearchSites.getSearchBaseURL(siteID) + '/video/watch/' + str(metadata.id).split("|")[0])
    art = []

    # Title
    title = detailsPageElements.xpath('//span[contains(@class,"wp-title videotitle")]')[0].text_content().strip()
    metadata.title = title
    #episode = title.split(' - ')[-1].strip()
    #Log("Sort Title: "+episode + " - " + title[:title.rfind('-')])
    #metadata.sort_title = episode + " - " + title[:title.rfind('-')]

    # Studio
    metadata.studio = "Nubiles"

    # Summary
    try:
        paragraphs = detailsPageElements.xpath('//*[@id="rmjs-1"]/p[1]')

        pNum = 0
        summary = ""
        for paragraph in paragraphs:
            if pNum >= 0 and pNum < (len(paragraphs)):
                summary = summary + '\n\n' + paragraph.text_content()
            pNum += 1
    except:
        pass
    if summary == '':
        try:
            summary = detailsPageElements.xpath('//div[@class="video-description"]/article')[0].text_content().strip()
        except:
            pass
    metadata.summary = summary.strip()

    # Collections / Tagline
    siteName = detailsPageElements.xpath('//span[@class="featuring-modelname model"]/preceding::a[1]')[0].text_content().strip()
    if "stepsiblingscaught" in siteName.lower():
        tagline = "Step Siblings Caught"
    elif "momsteachsex" in siteName.lower():
        tagline = "Moms Teach Sex"
    elif "badteenspunished" in siteName.lower():
        tagline = "Bad Teens Punished"
    elif "princesscum" in siteName.lower():
        tagline = "Princess Cum"
    elif "nubilesunscripted" in siteName.lower():
        tagline = "Nubiles Unscripted"
    elif "nubilescasting" in siteName.lower():
        tagline = "Nubiles Casting"
    elif "petitehdporn" in siteName.lower():
        tagline = "Petite HD Porn"
    elif "driverxxx" in siteName.lower():
        tagline = "Driver XXX"
    elif "petiteballerinasfucked" in siteName.lower():
        tagline = "Petite Ballerinas Fucked"
    elif "teacherfucksteens" in siteName.lower():
        tagline = "Teacher Fucks Teens"
    elif "bountyhunterporn" in siteName.lower():
        tagline = "Bountyhunter Porn"
    elif "daddyslilangel" in siteName.lower():
        tagline = "Daddy's Lil Angel"
    elif "myfamilypies" in siteName.lower():
        tagline = "My Family Pies"
    elif "nubiles.net" in siteName.lower():
        tagline = "Nubiles"
    elif "brattysis" in siteName.lower():
        tagline = "Bratty Sis"
    elif "anilos" in siteName.lower():
        tagline = "Anilos"
    elif "hotcrazymess" in siteName.lower():
        tagline = "Hot Crazy Mess"
    elif "nfbusty" in siteName.lower():
        tagline = "NF Busty"
    elif "thatsitcomporn" in siteName.lower():
        tagline = "That Sitcom Show"
    else:
        tagline = PAsearchSites.getSearchSiteName(siteID)
    metadata.collections.clear()
    metadata.tagline = tagline
    metadata.collections.add(tagline)

    # Date
    date = detailsPageElements.xpath('//div[@class="descrips"]//div[@class="row"]//div[@class="col-lg-6 col-sm-6"]//span')[10].text_content().strip()
    if len(date) > 0:
        date_object = parse(date)
        metadata.originally_available_at = date_object
        metadata.year = metadata.originally_available_at.year

    # Actors
    movieActors.clearActors()
    actors = detailsPageElements.xpath('//span[@class="featuring-modelname model"]/a')
    if len(actors) > 0:
        for actorLink in actors:
            actorName = actorLink.text_content().strip()
            actorPageURL = actorLink.get("href")
            actorPage = HTML.ElementFromURL((PAsearchSites.getSearchBaseURL(siteID)+actorPageURL))
            actorPhotoURL = "http:"+actorPage.xpath('//div[@id="modelprofile"]/img')[0].get("src")
            movieActors.addActor(actorName,actorPhotoURL)
    if "Logan Long" in summary:
        movieActors.addActor('Logan Long','')
    elif "Patrick Delphia" in summary:
        movieActors.addActor('Patrick Delphia','')
    elif "Seth Gamble" in summary:
        movieActors.addActor('Seth Gamble','')
    elif "Alex D." in summary:
        movieActors.addActor('Alex D.','')
    elif "Lucas Frost" in summary:
        movieActors.addActor('Lucas Frost','')
    elif "Van Wylde" in summary:
        movieActors.addActor('Van Wylde','')
    elif "Tyler Nixon" in summary:
        movieActors.addActor('Tyler Nixon','')
    elif "Logan Pierce" in summary:
        movieActors.addActor('Logan Pierce','')
    elif "Johnny Castle" in summary:
        movieActors.addActor('Johnny Castle','')
    elif "Damon Dice" in summary:
        movieActors.addActor('Damon Dice','')
    elif "Scott Carousel" in summary:
        movieActors.addActor('Scott Carousel','')
    elif "Dylan Snow" in summary:
        movieActors.addActor('Dylan Snow','')
    elif "Michael Vegas" in summary:
        movieActors.addActor('Michael Vegas','')
    elif "Xander Corvus" in summary:
        movieActors.addActor('Xander Corvus','')
    elif "Chad White" in summary:
        movieActors.addActor('Chad White','')

    # Genres
    movieGenres.clearGenres()
    genres = detailsPageElements.xpath('//div[@class="tags categories"]/a')
    if len(genres) > 0:
        for genreLink in genres:
            genreName = genreLink.text_content().strip().lower()
            movieGenres.addGenre(genreName)

    # Posters
    background = "http:" + detailsPageElements.xpath('///*[@id="belt"]/div[8]/div/div[3]/div[2]/a/img')[0].get('src')
    metadata.art[background] = Proxy.Preview(HTTP.Request(background, headers={'Referer': 'http://www.google.com'}).content, sort_order = 1)

    # Scene cover in NubileFilms
    try:
        posters = detailsPageElements.xpath('//div[@class="thumbnail-grid photoset"]//img')
        for poster in posters:
            posterName = poster.get("alt")
            if posterName == title:
                Log('Cover image found')
                posterLink = "http:" + poster.get("src")
                metadata.posters[posterLink] = Proxy.Preview(HTTP.Request(posterLink, headers={'Referer': 'http://www.google.com'}).content, sort_order = 1)
    except:
        metadata.posters[background] = Proxy.Preview(HTTP.Request(background, headers={'Referer': 'http://www.google.com'}).content, sort_order = 1)

    try:
        photoPageURL = PAsearchSites.getSearchBaseURL(siteID) + detailsPageElements.xpath('//a[@class="btn btn-primary btn-xs wptag " and contains(text(),"Pics")]')[0].get('href')
        Log("photoPageURL: " + str(photoPageURL))
        photoPageElements = HTML.ElementFromURL(photoPageURL)
        for posterUrl in photoPageElements.xpath('//figure[@class="photo-thumbnail"]//img'):
            art.append("http:" + posterUrl.get('src').replace('/tn',''))
    except:
        pass

    j = 1
    Log("Artwork found: " + str(len(art)))
    for posterUrl in art:
        if not PAsearchSites.posterAlreadyExists(posterUrl,metadata):
            #Download image file for analysis
            try:
                img_file = urllib.urlopen(posterUrl)
                im = StringIO(img_file.read())
                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.Preview(HTTP.Request(posterUrl, headers={'Referer': 'http://www.google.com'}).content, sort_order = j)
                if width > 100 and width > height:
                    # Item is an art item
                    metadata.art[posterUrl] = Proxy.Preview(HTTP.Request(posterUrl, headers={'Referer': 'http://www.google.com'}).content, sort_order = j)
                j = j + 1
            except:
                pass

    return metadata

Total newbie questions

Please understand that I am a newbie to this place and have many questions that you probably think are obvious.

First and simplest question I have is how to I request a site to be added?

For example SexMex doesn't show up. What is the proper method of making this request? Do I have to make a pull?

Thank you

PureTaboo searches seem broken?

None of my searches for PureTaboo get the correct results. For example:

PureTaboo - 2018-05-10 - Trailer Park Taboo Part 3.mp4

Just gives a list of their scenes, not containing it. I can provide other examples also.

VR porn sites

@macr0dev This plug-in works really well in retrieving movie meta-data for the supported porn sites on my Plex Server.

But I was wondering if you could add support for VR porn sites now that they are becoming increasingly popular, such as...

Naughty America VR
VR Bangers
WankzVR
MilfVR
BaDoink VR
Virtual Taboo
etc...

Thanks in advance.

Suggestions for addional sites / networks

Just a few suggestions for more networks to add: Nubiles Network, Fake Agent, Passion HD, JoyMii, P*** Pros, Teen Mega World, CLouder, ExpolitedCollegeGirls, GirlsdoP*. Thanks for all the hard work!

Request - Photo Set Metadata?

Hello,

Thank you for this amazing bundle.
Can you please add a way to pull photo set metadata from websites as well?
I'd love metadata for photosets from MetArt, SexArt and Hegre.

Thank you!

PS. I hope I posted this in the right place. Please tell me if I should post requests somewhere else.

rename

can i use this plugin rename my video?

Data18

There is a separate agent for Data18 but they have changed their website. They now have data on videos that is current but the agent will not work.
Can this be worked into the Phoenix.Adult agent?

Naughty America sites getting critical error

Updated code tonight from GitHub. Was working before. Now seems to skip the search. Here is the log.

2020-02-04 01:12:02,918 (2108) : INFO (agentkit:957) - Searching for matches for {'openSubtitlesHash': '539ce44efbe86787', 'name': '2009 10 06 7266 Lillakatt', 'filename': 'S%3A%5CX%5CSites%5CKink%5CHogtied%5C2009-10-06%207266_LillaKatt%2Emp4', 'plexHash': 'a46fae8b46e19254a3132e56a57974b1a7832c43', 'duration': '2767865', 'id': '21967'}
2020-02-04 01:12:02,918 (2108) : DEBUG (networking:143) - Requesting 'http://127.0.0.1:32400/library/metadata/21967/tree'
2020-02-04 01:12:02,930 (2108) : INFO (logkit:16) - *MEDIA TITLE 2009 10 06 7266 Lillakatt
2020-02-04 01:12:02,930 (2108) : INFO (logkit:16) - Getting Search Settings for: 2009 10 06 7266 Lillakatt
2020-02-04 01:12:02,930 (2108) : INFO (logkit:16) - mediaTitle w/ possible abbreviation: 2009 10 06 7266 Lillakatt
2020-02-04 01:12:02,936 (2108) : INFO (logkit:16) - mediaTitle w/ possible abbrieviation fixed: 2009 10 06 7266 Lillakatt
2020-02-04 01:12:02,937 (2108) : CRITICAL (core:574) - Exception in the search function of agent named 'PhoenixAdult', called with keyword arguments {'openSubtitlesHash': '539ce44efbe86787', 'name': '2009 10 06 7266 Lillakatt', 'filename': 'S%3A%5CX%5CSites%5CKink%5CHogtied%5C2009-10-06%207266_LillaKatt%2Emp4', 'plexHash': 'a46fae8b46e19254a3132e56a57974b1a7832c43', 'duration': '2767865', 'id': '21967'} (most recent call last):
File "C:\Program Files (x86)\Plex\Plex Media Server\Resources\Plug-ins-f5213a238\Framework.bundle\Contents\Resources\Versions\2\Python\Framework\api\agentkit.py", line 1007, in search
agent.search(*f_args, **f_kwargs)
File "C:\Users\Donovan\AppData\Local\Plex Media Server\Plug-ins\PhoenixAdult.bundle\Contents\Code_init
.py", line 54, in search
searchSettings = PAsearchSites.getSearchSettings(title)
File "C:\Users\Donovan\AppData\Local\Plex Media Server\Plug-ins\PhoenixAdult.bundle\Contents\Code\PAsearchSites.py", line 1205, in getSearchSettings
searchSiteID = getSearchSiteIDByFilter(mediaTitle)
File "C:\Users\Donovan\AppData\Local\Plex Media Server\Plug-ins\PhoenixAdult.bundle\Contents\Code\PAsearchSites.py", line 979, in getSearchSiteIDByFilter
if sites[0].lower().replace(" ","").replace("'","") in searchFilter.lower().replace(".com","").replace("'","") or sites[0].lower().replace(" ","").replace("'","") in searchFilter.lower().replace(".com","").replace(" ","").replace("'",""):
File "C:\Program Files (x86)\Plex\Plex Media Server\Resources\Plug-ins-f5213a238\Framework.bundle\Contents\Resources\Versions\2\Python\Framework\code\sandbox.py", line 108, in
getitem = lambda x, y: x.getitem(y),
AttributeError: 'NoneType' object has no attribute 'getitem'

Synology NAS and "no matches found"

I'm a newbie to PLEX and I wanted to use it for my scene collection. I've installed the PhoenixAdult, Data18-Phoenix, Vixen and Blacked bundles. They're in the NAS Plug Ins folder and they appear as options when I do a manual search, but I haven't been able to find a single file. Even trying movies like 'deep throat' or 'pirates' which are definitely in Data18 etc. Most of my collection are scenes. I haven't done any renaming yet as I wanted to get the search working first.

Any help for a newbie please?

Sites to add

Please add
Netvideogirls
CastingCouch-hd

Thanks

Reality Kings not working

Hey.. Thanks for the amazing job
I tried your plugin and it works with many sites but when I tried Reality Kings...it does not pull any data at all

I tried different format such as:
Reality Kings - scene name
RealityKings - scene name
Reality Kings Network - scene name

nothing works!
am I missing something? is there something wrong with my format?

sites

SCORELAND HD
PUREMATURE
NEWSENSATIONS
SPYFAM
can you please add those
thanks

Sex Art Metadata does not pull

Hello!
Sex Art Metadata is not pulling from the site. I've tried all various naming conventions. Interestingly, Met Art metadata pulls just fine without naming the download file.
Suggestions?
Thank you!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.