From 17a4ec3b4aebeba8456f45a9c4de6839f4741d8d Mon Sep 17 00:00:00 2001 From: NotVinny Date: Wed, 25 Nov 2015 00:31:30 -0500 Subject: [PATCH 01/48] v0.1 Complete re-write of existing channel. Initial check-in. There is still some work to be done (some sets of videos still need to be sorted, and some sort options need to be modified), but otherwise fairly functional. --- .gitignore | 37 ++ Contents/Code/PHCategories.py | 32 ++ Contents/Code/PHChannels.py | 82 ++++ Contents/Code/PHCommon.py | 190 ++++++++ Contents/Code/PHMembers.py | 127 +++++ Contents/Code/PHPlaylists.py | 64 +++ Contents/Code/PHPornStars.py | 84 ++++ Contents/Code/__init__.py | 457 +++--------------- Contents/Info.plist | 24 +- Contents/Services/ServiceInfo.plist | 16 + Contents/Services/URL/pornhub/ServiceCode.pys | 62 +++ Contents/Site Configurations/pornhub.xml | 40 -- 12 files changed, 772 insertions(+), 443 deletions(-) create mode 100644 .gitignore create mode 100644 Contents/Code/PHCategories.py create mode 100644 Contents/Code/PHChannels.py create mode 100644 Contents/Code/PHCommon.py create mode 100644 Contents/Code/PHMembers.py create mode 100644 Contents/Code/PHPlaylists.py create mode 100644 Contents/Code/PHPornStars.py create mode 100644 Contents/Services/ServiceInfo.plist create mode 100644 Contents/Services/URL/pornhub/ServiceCode.pys delete mode 100644 Contents/Site Configurations/pornhub.xml diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..c91b435 --- /dev/null +++ b/.gitignore @@ -0,0 +1,37 @@ +# Compiled source # +################### +*.com +*.class +*.dll +*.exe +*.o +*.so + +# Packages # +############ +# it's better to unpack these files and commit the raw source +# git has its own built in compression methods +*.7z +*.dmg +*.gz +*.iso +*.jar +*.rar +*.tar +*.zip + +# Logs and databases # +###################### +*.log +*.sql +*.sqlite + +# OS generated files # +###################### +.DS_Store +.DS_Store? +._* +.Spotlight-V100 +.Trashes +ehthumbs.db +Thumbs.db \ No newline at end of file diff --git a/Contents/Code/PHCategories.py b/Contents/Code/PHCategories.py new file mode 100644 index 0000000..97b053a --- /dev/null +++ b/Contents/Code/PHCategories.py @@ -0,0 +1,32 @@ +from PHCommon import * + +PH_CATEGORIES_URL = BASE_URL + '/categories' +PH_CATEGORIES_ALPHABETICAL_URL = PH_CATEGORIES_URL + '?o=al' + +@route(ROUTE_PREFIX + '/categories') +def BrowseCategories(title, url = PH_CATEGORIES_ALPHABETICAL_URL): + + # Create the object to contain all of the categories + oc = ObjectContainer(title2=title) + + # Get the HTML of the page + html = HTML.ElementFromURL(url) + + # Use xPath to extract a list of catgegories + categories = html.xpath("//div[@id='categoriesStraightImages']/ul[contains(@class, 'categories-list')]/li/div") + + # Loop through all categories + for category in categories: + + categoryTitle = category.xpath("./h5/a/strong/text()")[0] + categoryURL = BASE_URL + category.xpath("./h5/a/@href")[0] + categoryThumbnail = category.xpath("./a/img/@src")[0] + + # Add a Directory Object for the category + oc.add(DirectoryObject( + key = Callback(SortVideos, title=categoryTitle, url=categoryURL), + title = categoryTitle, + thumb = categoryThumbnail + )) + + return oc \ No newline at end of file diff --git a/Contents/Code/PHChannels.py b/Contents/Code/PHChannels.py new file mode 100644 index 0000000..ff3f3cd --- /dev/null +++ b/Contents/Code/PHChannels.py @@ -0,0 +1,82 @@ +from PHCommon import * + +PH_CHANNELS_URL = BASE_URL + '/channels' +PH_CHANNEL_SEARCH_URL = PH_CHANNELS_URL + '/search?channelSearch=%s' +MAX_CHANNELS_PER_PAGE = 36 + +@route(ROUTE_PREFIX + '/channels') +def BrowseChannels(title): + + oc = ObjectContainer(title2=title) + + oc.add(InputDirectoryObject( + key = Callback(SearchChannels, title='Search Results'), + title = "Search Channels", + prompt = "Search for...", + summary = "Enter Channel Search Terms" + )) + + channelSortOrders = OrderedDict([ + ('Most Popular', {'o':'rk'}), + ('Trending', {'o':'tr'}), + ('Most Recent', {'o':'mr'}), + ('A-Z', {'o':'al'}) + ]) + + for channelSortOrder, urlParams in channelSortOrders.items(): + oc.add(DirectoryObject( + key = Callback(ListChannels, title=channelSortOrder, url=addURLParameters(PH_CHANNELS_URL, urlParams)), + title = channelSortOrder + )) + + return oc + +@route(ROUTE_PREFIX + '/channels/list') +def ListChannels(title, url = PH_CHANNELS_URL, page=1): + + # Create the object to contain all of the channels + oc = ObjectContainer(title2=title) + + # Add the page number into the query string + if (int(page) != 1): + url = addURLParameters(url, {'page':str(page)}) + + # Get the HTML of the page + html = HTML.ElementFromURL(url) + + # Use xPath to extract a list of channels + channels = html.xpath("//div[contains(@class, 'listChannelsWrapper')]/ul/li/div") + + # Loop through all channels + for channel in channels: + + channelTitle = channel.xpath("./div[contains(@class, 'description')]/div[contains(@class, 'descriptionContainer')]/ul/li/a[contains(@class, 'usernameLink')]/text()")[0] + channelURL = BASE_URL + channel.xpath("./div[contains(@class, 'description')]/div[contains(@class, 'descriptionContainer')]/ul/li/a[contains(@class, 'usernameLink')]/@href")[0] + channelThumbnail = channel.xpath("./div[contains(@class,'description')]/div[contains(@class, 'avatar')]/a/img/@src")[0] + + # Add a Directory Object for the channels + oc.add(DirectoryObject( + key = Callback(SortVideos, title=channelTitle, url=channelURL + '/videos'), + title = channelTitle, + thumb = channelThumbnail + )) + + # There is a slight change that this will break... If the number of videos returned in total is divisible by MAX_VIDEOS_PER_PAGE with no remainder, there could possibly be no additional page after. This is unlikely though and I'm too lazy to handle it. + if (len(channels) == MAX_CHANNELS_PER_PAGE): + oc.add(NextPageObject( + key = Callback(ListChannels, title=title, url=url, page = int(page)+1), + title = 'Next Page' + )) + + return oc + +@route(ROUTE_PREFIX + '/channels/search') +def SearchChannels(query, title): + + # Format the query for use in PornHub's search + formattedQuery = formatStringForSearch(query, "+") + + try: + return ListChannels(title='Search Results for ' + query, url=PH_CHANNEL_SEARCH_URL % query) + except: + return ObjectContainer(header='Search Results', message="No search results found", no_cache=True) \ No newline at end of file diff --git a/Contents/Code/PHCommon.py b/Contents/Code/PHCommon.py new file mode 100644 index 0000000..02c3d4e --- /dev/null +++ b/Contents/Code/PHCommon.py @@ -0,0 +1,190 @@ +import urllib +import urlparse +from collections import OrderedDict + +ROUTE_PREFIX = '/video/pornhub' + +BASE_URL = 'http://pornhub.com' +PH_VIDEO_URL = BASE_URL + '/video' +PH_VIDEO_SEARCH_URL = PH_VIDEO_URL + '/search?search=%s' + +MAX_VIDEOS_PER_PAGE = 28 +MAX_VIDEOS_PER_SEARCH_PAGE = 20 +MAX_VIDEOS_PER_CHANNEL_PAGE = 36 +MAX_VIDEOS_PER_USER_PAGE = 48 + +SORT_ORDERS = OrderedDict([ + ('Most Recent', {'o':'mr'}), + ('Most Viewed - All Time', {'o':'mv', 't':'a'}), + ('Most Viewed - This Month', {'o':'mv', 't':'m'}), + ('Most Viewed - This Week', {'o':'mv', 't':'w'}), + ('Most Viewed - Today', {'o':'mv', 't':'t'}), + ('Top Rated - All Time', {'o':'tr', 't':'a'}), + ('Top Rated - This Month', {'o':'tr', 't':'m'}), + ('Top Rated - This Week', {'o':'tr', 't':'w'}), + ('Top Rated - Today', {'o':'tr', 't':'t'}), + ('Most Discussed - All Time', {'o':'md', 't':'a'}), + ('Most Discussed - This Month', {'o':'md', 't':'m'}), + ('Most Discussed - This Week', {'o':'md', 't':'w'}), + ('Most Discussed - Today', {'o':'md', 't':'t'}), + ('Being Watched', {'o':'bw'}), + ('Longest', {'o':'lg'}) +]) + +CHANNEL_VIDEOS_SORT_ORDERS = OrderedDict([ + ('Most Recent', {'o':'da'}), + ('Most Viewed', {'o':'vi'}), + ('Top Rated', {'o':'ra'}) +]) + +@route(ROUTE_PREFIX + '/list') +def ListVideos(title, url, page=1, pageLimit = MAX_VIDEOS_PER_PAGE): + + # Create the object to contain all of the videos + oc = ObjectContainer(title2 = title) + + # Add the page number into the query string + if (int(page) != 1): + url = addURLParameters(url, {'page':str(page)}) + + if ("/channels/" in url): + pageLimit = MAX_VIDEOS_PER_CHANNEL_PAGE + elif ("/video/search" in url): + pageLimit = MAX_VIDEOS_PER_SEARCH_PAGE + elif ("/users/" in url): + pageLimit = MAX_VIDEOS_PER_USER_PAGE + + # Get the HTML of the site + html = HTML.ElementFromURL(url) + + Log(HTML.StringFromElement(html)) + + # Use xPath to extract a list of divs that contain videos + videos = html.xpath("//li[contains(@class,'videoblock')]") + + # This piece of code is ridiculous. From the best I can gether, the poorly formed HTML on PornHub makes xPath choke at 123 videos. So I rounded it down to 120 and limited the videos to that. This should only affect playlists, but it is a really ridiculous problem + if (len(videos) >= 120): + videos = videos[0:119] + + Log ('There are ' + str(len(videos)) + ' videos') + + # Loop through the videos in the page + for video in videos: + + #Log (HTML.StringFromElement(video)) + + # Get the link of the video + videoURL = video.xpath("./div/div/a/@href")[0] + + # Check for relative URLs + if (videoURL.startswith('/')): + videoURL = BASE_URL + videoURL + + # Make sure the last step went smoothly (this is probably redundant but oh well) + if (videoURL.startswith(BASE_URL)): + # Get the video details + videoTitle = video.xpath("./div/div/a/div[contains(@class, 'thumbnail-info-wrapper')]/span[@class='title']/a/text()")[0] + thumbnail = video.xpath("./div/div/a/div[@class='img']/img/@data-mediumthumb")[0] + + # Create a Video Clip Object for the video + vco = VideoClipObject( + url = videoURL, + title = videoTitle, + thumb = thumbnail + ) + + # Get the duration of the video + durationString = video.xpath("./div/div/a/div[@class='img']/div[@class='marker-overlays']/var[@class='duration']/text()")[0] + + # Split it into a list separated by colon + durationArray = durationString.split(":") + + if (len(durationArray) == 2): + # Dealing with MM:SS + minutes = int(durationArray[0]) + seconds = int(durationArray[1]) + + vco.duration = (minutes*60 + seconds) * 1000 + + elif (len(durationArray) == 3): + # Dealing with HH:MM:SS... PornHub doesn't do this, but I'll keep it as a backup anyways + hours = int(durationArray[0]) + minutes = int(durationArray[1]) + seconds = int(durationArray[2]) + + vco.duration = (hours*3600 + minutes * 60 + seconds) * 1000 + else: + # WTF + pass + + # Add the Video Clip Object to the Object Container + oc.add(vco) + + # There is a slight change that this will break... If the number of videos returned in total is divisible by MAX_VIDEOS_PER_PAGE with no remainder, there could possibly be no additional page after. This is unlikely though and I'm too lazy to handle it. + if (len(videos) == int(pageLimit)): + oc.add(NextPageObject( + key = Callback(ListVideos, title=title, url=url, page = int(page)+1), + title = 'Next Page' + )) + + return oc + +@route(ROUTE_PREFIX + '/sort') +def SortVideos(title, url = PH_VIDEO_URL, sortOrders = SORT_ORDERS): + + # Create the object to contain all of the sorting options + oc = ObjectContainer(title2 = title) + + if ("/channels/" in url): + sortOrders = CHANNEL_VIDEOS_SORT_ORDERS + + # Add the sorting options + for sortTitle, urlParams in sortOrders.items(): + + oc.add(DirectoryObject( + key = Callback(ListVideos, title=sortTitle, url=addURLParameters(url, urlParams)), + title = title + ' - ' + sortTitle + )) + + return oc + +@route(ROUTE_PREFIX + '/search') +def SearchVideos(query, title): + + # Format the query for use in PornHub's search + formattedQuery = formatStringForSearch(query, "+") + + try: + return ListVideos(title='Search Results for ' + query, url=PH_VIDEO_SEARCH_URL % formattedQuery) + except: + return ObjectContainer(header='Search Results', message="No search results found", no_cache=True) + +# I stole this function from http://stackoverflow.com/questions/2506379/add-params-to-given-url-in-python. It works. +def addURLParameters (url, params): + + urlParts = list(urlparse.urlparse(url)) + + urlQuery = dict(urlparse.parse_qsl(urlParts[4])) + urlQuery.update(params) + + # So... PornHub requires that it's query string parameters are set in the right order... for some reason. This piece of code handles that. It's retarded, but it has to be done + urlQueryOrder = ['c', 'channelSearch', 'search', 'o', 't', 'page'] + + urlQueryOrdered = OrderedDict() + + for i in urlQueryOrder: + if i in urlQuery: + urlQueryOrdered[i] = urlQuery[i] + + urlParts[4] = urllib.urlencode(urlQueryOrdered) + + return urlparse.urlunparse(urlParts) + +def formatStringForSearch(query, delimiter): + query = String.StripTags(str(query)) + query = query.replace('%20',' ') + query = query.replace(' ',' ') + query = query.strip(' \t\n\r') + query = delimiter.join(query.split()) + + return query \ No newline at end of file diff --git a/Contents/Code/PHMembers.py b/Contents/Code/PHMembers.py new file mode 100644 index 0000000..2ec1900 --- /dev/null +++ b/Contents/Code/PHMembers.py @@ -0,0 +1,127 @@ +from PHCommon import * + +PH_DISCOVER_MEMBERS_URL = BASE_URL + '/user/discover' +PH_SEARCH_MEMBERS_URL = BASE_URL + '/user/search?username=%s' + +PH_MAX_MEMBERS_PER_PAGE = 42 + +@route(ROUTE_PREFIX + '/members') +def BrowseMembers(title, url=PH_DISCOVER_MEMBERS_URL): + + oc = ObjectContainer(title2=title) + + oc.add(InputDirectoryObject( + key = Callback(SearchMembers, title='Search Results'), + title = "Search Members", + prompt = "Search for...", + summary = "Enter member's username" + )) + + # Get the HTML of the page + html = HTML.ElementFromURL(url) + + # Use xPath to extract a list of sort orders + sortOrders = html.xpath("//div[contains(@class, 'members-page')]/div[contains(@class, 'sectionTitle')]") + + # Loop through all sort orders + for sortOrder in sortOrders: + + sortOrderTitle = sortOrder.xpath("./h2/text()")[0] + sortOrderURL = BASE_URL + sortOrder.xpath("./div[contains(@class, 'filters')]/a/@href")[0] + + oc.add(DirectoryObject( + key = Callback(ListMembers, title=sortOrderTitle, url=sortOrderURL), + title = sortOrderTitle + )) + + return oc + +@route(ROUTE_PREFIX + '/members/list') +def ListMembers(title, url=PH_DISCOVER_MEMBERS_URL, page=1): + + # Create the object to contain all of the members + oc = ObjectContainer(title2=title) + + # Add the page number into the query string + if (int(page) != 1): + url = addURLParameters(url, {'page':str(page)}) + + # Get the HTML of the page + html = HTML.ElementFromURL(url) + + # Use xPath to extract a list of members + members = html.xpath("//ul[contains(@class, 'userWidgetWrapperGrid')]/li") + + # Loop through all members + for member in members: + + memberTitle = member.xpath("./div[contains(@class, 'usernameWrap')]/a[contains(@class, 'usernameLink')]/text()")[0] + memberURL = BASE_URL + member.xpath("./div[contains(@class, 'usernameWrap')]/a[contains(@class, 'usernameLink')]/@href")[0] + memberThumbnail = member.xpath("./div[contains(@class, 'large-avatar')]/a[contains(@class, 'userLink')]/img/@src")[0] + + # Add a Directory Object for the members + oc.add(DirectoryObject( + key = Callback(MemberMenu, title=memberTitle, url=memberURL, username=memberTitle), + title = memberTitle, + thumb = memberThumbnail + )) + + # There is a slight change that this will break... If the number of members returned in total is divisible by PH_MAX_MEMBERS_PER_PAGE with no remainder, there could possibly be no additional page after. This is unlikely though and I'm too lazy to handle it. + if (len(members) == PH_MAX_MEMBERS_PER_PAGE): + oc.add(NextPageObject( + key = Callback(ListMembers, title=title, url=url, page = int(page)+1), + title = 'Next Page' + )) + + return oc + +@route(ROUTE_PREFIX + '/members/menu') +def MemberMenu(title, url, username): + + # Create the object to contain all of the member options + oc = ObjectContainer(title2=title) + + # TODO: Use some data structure to make this into a loop... A simple dictionary won't do, will need to ponder this. First change to be made for v1.3 + + # Directory Object for Member's Public Videos + oc.add(DirectoryObject( + key = Callback(ListVideos, title=username + "'s Public Videos", url=url + '/videos/public'), + title = 'Public Videos' + )) + + # Directory Object for Member's Favorite Videos + oc.add(DirectoryObject( + key = Callback(ListVideos, title=username + "'s Favorite Videos", url=url + '/videos/favorites'), + title = 'Favorite Videos' + )) + + # Directory Object for Member's Watched Videos + oc.add(DirectoryObject( + key = Callback(ListVideos, title=username + "'s Watched Videos", url=url + '/videos/recent'), + title = 'Watched Videos' + )) + + # Directory Object for Member's Public Playlists + oc.add(DirectoryObject( + key = Callback(ListPlaylists, title=username + "'s Public Playlists", url=url + '/playlists/public'), + title = 'Public Playlists' + )) + + # Directory Object for Member's Favorite Playlists + oc.add(DirectoryObject( + key = Callback(ListPlaylists, title=username + "'s Favorite Playlists", url=url + '/playlists/favorites'), + title = 'Favorite Playlists' + )) + + return oc + +@route(ROUTE_PREFIX + '/members/search') +def SearchMembers(query, title): + + # Format the query for use in PornHub's search + formattedQuery = formatStringForSearch(query, "+") + + try: + return ListMembers(title='Search Results for ' + query, url=PH_SEARCH_MEMBERS_URL % formattedQuery) + except: + return ObjectContainer(header='Search Results', message="No search results found", no_cache=True) \ No newline at end of file diff --git a/Contents/Code/PHPlaylists.py b/Contents/Code/PHPlaylists.py new file mode 100644 index 0000000..fb20499 --- /dev/null +++ b/Contents/Code/PHPlaylists.py @@ -0,0 +1,64 @@ +from PHCommon import * + +PH_PLAYLISTS_URL = BASE_URL + '/playlists' +PH_PLAYLIST_URL = BASE_URL + '/playlist' +MAX_PLAYLISTS_PER_PAGE = 36 + +@route(ROUTE_PREFIX + '/playlists') +def BrowsePlaylists(title): + + oc = ObjectContainer(title2=title) + + playlistSortOrders = OrderedDict([ + ('Top Rated', {}), + ('Most Viewed', {'o':'mv'}), + ('Most Recent', {'o':'mr'}), + ('Most Favorited', {'o':'mf'}) + ]) + + for playlistSortOrder, urlParams in playlistSortOrders.items(): + oc.add(DirectoryObject( + key = Callback(ListPlaylists, title=playlistSortOrder, url=addURLParameters(PH_PLAYLISTS_URL, urlParams)), + title = playlistSortOrder + )) + + return oc + +@route(ROUTE_PREFIX + '/playlists/list') +def ListPlaylists(title, url = PH_PLAYLISTS_URL, page=1): + + # Create the object to contain all of the playlists + oc = ObjectContainer(title2=title) + + # Add the page number into the query string + if (int(page) != 1): + url = addURLParameters(url, {'page':str(page)}) + + # Get the HTML of the page + html = HTML.ElementFromURL(url) + + # Use xPath to extract a list of playlists + playlists = html.xpath("//ul[contains(@class, 'user-playlist')]/li[contains(@id, 'playlist')]") + + # Loop through all playlists + for playlist in playlists: + + playlistTitle = playlist.xpath("./div/div[contains(@class, 'thumbnail-info-wrapper')]/span[contains(@class, 'title')]/a[contains(@class, 'title')]/text()")[0] + playlistURL = BASE_URL + playlist.xpath("./div/div[contains(@class, 'thumbnail-info-wrapper')]/span[contains(@class, 'title')]/a[contains(@class, 'title')]/@href")[0] + playlistThumbnail = playlist.xpath("./div/div[contains(@class, 'linkWrapper')]/img[contains(@class, 'largeThumb')]/@data-mediumthumb")[0] + + # Add a Directory Object for the playlists + oc.add(DirectoryObject( + key = Callback(SortVideos, title=playlistTitle, url=playlistURL), + title = playlistTitle, + thumb = playlistThumbnail + )) + + # There is a slight change that this will break... If the number of playlists returned in total is divisible by MAX_PLAYLISTS_PER_PAGE with no remainder, there could possibly be no additional page after. This is unlikely though and I'm too lazy to handle it. + if (len(playlists) == MAX_PLAYLISTS_PER_PAGE): + oc.add(NextPageObject( + key = Callback(ListPlaylists, title=title, url=url, page = int(page)+1), + title = 'Next Page' + )) + + return oc \ No newline at end of file diff --git a/Contents/Code/PHPornStars.py b/Contents/Code/PHPornStars.py new file mode 100644 index 0000000..05c9f86 --- /dev/null +++ b/Contents/Code/PHPornStars.py @@ -0,0 +1,84 @@ +from PHCommon import * + +PH_PORNSTARS_URL = BASE_URL + '/pornstars' +PH_PORNSTARS_SEARCH_URL = PH_PORNSTARS_URL + '/search?search=%s' +MAX_PORNSTARS_PER_PAGE = 28 + +@route(ROUTE_PREFIX + '/pornstars') +def BrowsePornStars(title): + + oc = ObjectContainer(title2=title) + + oc.add(InputDirectoryObject( + key = Callback(SearchPornStars, title='Search Results'), + title = "Search Porn Stars", + prompt = "Search for...", + summary = "Enter Porn Star Search Terms" + )) + + pornStarSortOrders = OrderedDict([ + ('Most Popular', {}), + ('Most Viewed', {'o':'mv'}), + ('Top Trending', {'o':'t'}), + ('Most Subscribed', {'o':'ms'}), + ('Alphabetical', {'o':'a'}), + ('Number of Videos', {'o':'nv'}) + ]) + + for pornStarSortOrder, urlParams in pornStarSortOrders.items(): + oc.add(DirectoryObject( + key = Callback(ListPornStars, title=pornStarSortOrder, url=addURLParameters(PH_PORNSTARS_URL, urlParams)), + title = pornStarSortOrder + )) + + return oc + +@route(ROUTE_PREFIX + '/pornstars/list') +def ListPornStars(title, url = PH_PORNSTARS_URL, page=1): + + # Create the object to contain all of the porn stars + oc = ObjectContainer(title2=title) + + # Add the page number into the query string + if (int(page) != 1): + url = addURLParameters(url, {'page':str(page)}) + + # Get the HTML of the page + html = HTML.ElementFromURL(url) + + # Use xPath to extract a list of porn stars + pornStars = html.xpath("//ul[contains(@class, 'pornstarIndex')]/li") + + # Loop through all channels + for pornStar in pornStars: + + pornStarName = pornStar.xpath("./div/div[contains(@class, 'thumbnail-info-wrapper')]/a/text()")[0] + pornStarURL = BASE_URL + pornStar.xpath("./div/div[contains(@class, 'thumbnail-info-wrapper')]/a/@href")[0] + pornStarThumbnail = pornStar.xpath("./div/a/img/@src")[0] + + # Add a Directory Object for the channels + oc.add(DirectoryObject( + key = Callback(SortVideos, title=pornStarName, url=pornStarURL), + title = pornStarName, + thumb = pornStarThumbnail + )) + + # There is a slight change that this will break... If the number of videos returned in total is divisible by MAX_VIDEOS_PER_PAGE with no remainder, there could possibly be no additional page after. This is unlikely though and I'm too lazy to handle it. + if (len(pornStars) == MAX_PORNSTARS_PER_PAGE): + oc.add(NextPageObject( + key = Callback(ListPornStars, title=title, url=url, page = int(page)+1), + title = 'Next Page' + )) + + return oc + +@route(ROUTE_PREFIX + '/pornstars/search') +def SearchPornStars(query, title): + + # Format the query for use in PornHub's search + formattedQuery = formatStringForSearch(query, "+") + + try: + return ListPornStars(title='Search Results for ' + query, url=PH_PORNSTARS_SEARCH_URL % formattedQuery) + except: + return ObjectContainer(header='Search Results', message="No search results found", no_cache=True) \ No newline at end of file diff --git a/Contents/Code/__init__.py b/Contents/Code/__init__.py index 907a02c..d237084 100644 --- a/Contents/Code/__init__.py +++ b/Contents/Code/__init__.py @@ -1,387 +1,70 @@ -from PMS import * -from PMS.Objects import * -from PMS.Shortcuts import * -from urlparse import urljoin -import time -from exceptions import IndexError -#################################################################################################### - -PLUGIN_TITLE = 'Pornhub' -STEALTH_TITLE = 'System Stats' -PLUGIN_PREFIX = '/video/pornhub' - -BASE_URL = 'http://www.pornhub.com' -CATEGORIES = '%s/categories' % BASE_URL -AMFPROXY = 'http://amfproxy.plexapp.net/pornhub/%s.xml' -SORT_ORDER = [ - ['Most Recent', 'o=mr'], - ['Most Viewed - All Time', 'o=mv&t=a'], - ['Most Viewed - This Month', 'o=mv&t=m'], - ['Most Viewed - This Week', 'o=mv&t=w'], - ['Most Viewed - Today', 'o=mv&t=t'], - ['Top Rated - All Time', 'o=tr&t=a'], - ['Top Rated - This Month', 'o=tr&t=m'], - ['Top Rated - This Week', 'o=tr&t=w'], - ['Top Rated - Today', 'o=tr&t=t'], - ['Most Discussed - All Time', 'o=md&t=a'], - ['Most Discussed - This Month', 'o=md&t=m'], - ['Most Discussed - This Week', 'o=md&t=w'], - ['Most Discussed - Today', 'o=md&t=t'], - ['Being Watched', 'o=bw'], - ['Longest', 'o=lg']] - -# Default artwork and icons -PLUGIN_ARTWORK = 'art-default.png' -PLUGIN_ICON_DEFAULT = 'icon-default.png' -STEALTH_ARTWORK = 'art-stealth.png' -STEALTH_ICON = 'icon-stealth.png' - -#################################################################################################### - -# Lazy Loader -global pages -pages = list() -global dirItems -dirItems = MediaContainer() -global parseThread -parseThread = None -global noMorePages -noMorePages = True -global noMoreMeta -noMoreMeta = True -global metaThread -global lastMatchKey -lastMatchKey = None - -#################################################################################################### - -def LL(sender, pageGetter, parser, metaGetter, url, matchKey, title1=None, title2=None, viewGroup=None, contextMenu=None, replaceParent=False, **kwargs): - global pages, dirItems, parseThread, metaThread, noMorePages, noMoreMeta, lastMatchKey, parseThreadShouldDie, metaThreadShouldDie - Log(matchKey) - Log(lastMatchKey) - - if pageGetter == 'getURLs': - pageHnd = getURLs - elif pageGetter == 'getVideos': - pageHnd = getVideos - else: - raise - - if parser == 'getVideos': - parseHnd = getVideos - else: - raise - - if metaGetter == 'getMeta': - metaHnd = getMeta - elif metaGetter == 'NOP': - metaHnd = NOP - - - if matchKey != lastMatchKey: - lastMatchKey = matchKey - parseThreadShouldDie = True - metaThreadShouldDie = True - while (parseThreadShouldDie and not noMorePages) or (metaThreadShouldDie and not noMoreMeta): - Log('Waiting for old threads to die') - Log([parseThreadShouldDie, noMorePages, metaThreadShouldDie, noMoreMeta]) - time.sleep(1) - Log('Threads are all dead') - pages = list() - dirItems = MediaContainer(title1=title1, title2=title2, viewGroup=viewGroup, contextMenu=contextMenu, replaceParent=replaceParent) - parseThread = None - if parseThread == None: - parseThreadShouldDie = False - metaThreadShouldDie = False - pages = pageHnd(url, **kwargs) - noMorePages = False - noMoreMeta = False - dirItems.autoRefresh=5 - parseThread = Thread.Create(parseEach, parseHnd, **kwargs) - metaThread = Thread.Create(getMetaEach, metaHnd) - time.sleep(3) - return(dirItems) - -def parseEach(parser, **kwargs): - global pages, dirItems, noMorePages, parseThread, parseThreadShouldDie - while True: - if parseThreadShouldDie: - parseThreadShouldDie = False - return - try: - url = pages[0] - del pages[0] - except: - Log('Out of pages') - noMorePages = True - return - else: - try: - parser(url, **kwargs) - except: - Log('parser raised an exception') - -def getMetaEach(metaGetter): - global dirItems, noMorePages, noMoreMeta, metaThreadShouldDie - itemIndex = 0 - while True: - if metaThreadShouldDie: - metaThreadShouldDie = False - return - try: - dirItem = dirItems[itemIndex] - except IndexError: - if noMorePages: - Log('No more videos') - del dirItems.autoRefresh - noMoreMeta = True - return - else: - Log('Waiting for videos') - time.sleep(1) - else: - itemIndex += 1 - try: - metaGetter(dirItem) - except: - Log('metaGetter raised an exception') - -#################################################################################################### - -def P(pref, default=''): - p = Prefs.Get(pref) - if p == None: - return default - else: - return p - -def V(val, default=''): - if val == None: - return default - else: - return val -#################################################################################################### - -def Start(): - if P('Stealth', False): - Plugin.AddPrefixHandler(PLUGIN_PREFIX, MainMenu, STEALTH_TITLE, STEALTH_ICON, STEALTH_ARTWORK) - else: - Plugin.AddPrefixHandler(PLUGIN_PREFIX, MainMenu, PLUGIN_TITLE, PLUGIN_ICON_DEFAULT, PLUGIN_ARTWORK) - Plugin.AddViewGroup('List', viewMode='List', mediaType='items') - - # Set the default MediaContainer attributes - MediaContainer.title1 = PLUGIN_TITLE - MediaContainer.viewGroup = 'List' - MediaContainer.art = R(PLUGIN_ARTWORK) - - Plugin.AddViewGroup('_List', viewMode='List', mediaType='items') - Plugin.AddViewGroup('_InfoList', viewMode='InfoList', mediaType='items') - Plugin.AddViewGroup('_Pictures', viewMode='Pictures', mediaType='items') - Plugin.AddViewGroup('_Wall Stream', viewMode='WallStream', mediaType='items') - Plugin.AddViewGroup('_Cover Flow', viewMode='Coverflow', mediaType='items') - - # Set the default cache time - HTTP.SetCacheTime(CACHE_1HOUR) - -#################################################################################################### - -def CreatePrefs(): - Prefs.Add(id='Stealth', type='bool', default=False, label='Stealth Mode') - Prefs.Add(id='catView', type='enum', default='List', label='Default Category View', values='List|InfoList|Pictures|Wall Stream|Cover Flow') - Prefs.Add(id='videoView', type='enum', default='List', label='Default Video View', values='List|InfoList|Pictures|Wall Stream|Cover Flow') - sortValues = '' - for sort, key in SORT_ORDER: - sortValues += sort + '|' - sortValues = sortValues + 'Prompt' - Prefs.Add(id='pageCount', type='text', default='1', label='Pages (26 videos each)') - Prefs.Add(id='sortOrder', type='enum', default='Prompt', label='Default Sort Order', values=sortValues) - for category in XML.ElementFromURL(CATEGORIES, isHTML=True, cacheTime=CACHE_1DAY, errors='ignore').xpath('//li[@class="cat_pic"]//strong/text()'): - Prefs.Add(id=category.strip().replace(' ', '_').replace('/', '_'), type='bool', default=True, label='Show ' + category.strip()) - -def CreateDict(): - Dict.Set('oldStealthSetting', False) - -#################################################################################################### - -def getURLs(url, sortURL, **kwargs): - if url.find('?') == -1: - totalUrl = urljoin(BASE_URL, url + '?' + sortURL) - else: - totalUrl = urljoin(BASE_URL, url + '&' + sortURL) - videoPage = XML.ElementFromURL(totalUrl, isHTML=True, errors='ignore') - try: - pageCount = int(videoPage.xpath('//span[text()="Last"]/parent::*')[0].get('href').split('=')[-1]) - except: - pageCount = len(videoPage.xpath('//ul[@class="pagination"]/li')) - 1 - if pageCount == -1: - pageCount = 1 - pages = list() - for p in range(1, pageCount + 1): - pages.append(totalUrl + '&page=' + str(p)) - return pages - -def getVideos(url, **kwargs): - global dirItems - Log('getVideos for ' + url) - for video in XML.ElementFromURL(url, isHTML=True, errors='ignore').xpath('//div[@class="wrap"]'): - title = video.xpath('.//a[@class="title"]')[0].text.strip() - duration = TimeToSeconds(video.xpath('.//var[@class="duration"]')[0].text) * 1000 - thumb = video.xpath('.//img')[0].get('src') - rating = float(video.xpath('.//div[starts-with(@class,"rating-container")]/div[@class="value"]')[0].text.split('%')[0]) * 2 - - added = L('Added: %s') % video.xpath('.//var[@class="added"]')[0].text - views = L('Views: %s views') % video.xpath('.//span[@class="views"]/var')[0].text - - viewkey = video.xpath('.//a')[0].get('href').split('viewkey=') - premium = video.xpath('.//a')[0].get('href').find('view_video_2.php') - private = thumb.find('private-video') - - if len(viewkey) > 1 and premium < 0 and private < 0: - videoURL = 'http://www.pornhub.com/view_video.php?viewkey=' + viewkey[1] - dirItems.Append(Function(VideoItem(getVideo, title=title, summary=added + '\n' + views, duration=duration, thumb=thumb, art=None, rating=rating), videoURL=videoURL)) - -def getMeta(dirItem): - Log(dirItem.__dict__) - metaURL = dirItem._Function__kwargs['videoURL'] - Log('Getting metadata for ' + metaURL) - - metaPage = None - tries = 3 - while metaPage == None and tries != 0: - metaPage = XML.ElementFromURL(metaURL, True, errors='ignore', cacheTime=CACHE_1MONTH) - tries -= 1 - if metaPage == None:return - - summary = dirItem.summary + '\n' - users = metaPage.xpath('//a[starts-with(@href,"/user/")]') - if len(users) != 0: - summary += 'From: ' + V(users[0].text) + '\n' - stars = metaPage.xpath('//a[starts-with(@href,"/video/search?pornstar")]') - if len(stars) != 0: - summary += 'Pornstars: ' - for star in stars: - summary += V(star.text) +', ' - summary = summary[:-2] + '\n' - tags = metaPage.xpath('//a[starts-with(@href,"/video/search?search=")]') - if len(tags) != 0: - summary += 'Tags: ' - for tag in tags: - summary += V(tag.text) + ', ' - summary = summary[:-2] + '\n' - dirItem.summary = summary - -def getVideo(sender, videoURL): - js = XML.ElementFromURL(videoURL, True).xpath('//div[@id="playerDiv_1"]/following-sibling::script')[0].text - for line in js.split('\n'): - if '"video_url"' in line: - url = line.split('"')[-2] - return Redirect(url) - -def MainMenu(): - stealthSetting = Prefs.Get('Stealth') - if Dict.Get('oldStealthSetting') != stealthSetting: - Dict.Set('oldStealthSetting', stealthSetting) - time.sleep(5) - Log('Stealth Mode toggled, Restarting') - Plugin.Restart() - - dir = MediaContainer(noCache=True) - dir.viewGroup = '_' + Prefs.Get('catView') - - sortName, sortURL = getSort() - # 'All' item - if sortName == '': - dir.Append(Function(DirectoryItem(SortOrder, title='All', thumb=R(PLUGIN_ICON_DEFAULT)), url='/video?c=', title2='All')) - else: - dir.Append(Function(DirectoryItem(LL, title='All', thumb=R(PLUGIN_ICON_DEFAULT)), pageGetter='getURLs', parser='getVideos', metaGetter='getMeta', title1=PLUGIN_TITLE, title2='All', url='/video?c=', sortURL=sortURL, matchKey=['/video?c=', sortURL])) - - for category in XML.ElementFromURL(CATEGORIES, isHTML=True, cacheTime=CACHE_1DAY, errors='ignore').xpath('//li[@class="cat_pic"]'): - url = category.xpath('./a')[0].get('href') - - title = category.xpath('.//strong')[0].text.strip() - thumb = category.xpath('./a/img')[0].get('src') - if Prefs.Get(title.strip().replace(' ', '_').replace('/', '_')): - if sortName == '': - dir.Append(Function(DirectoryItem(SortOrder, title=title, thumb=thumb), url=url, title2=title, viewGroup='_' + Prefs.Get('videoView'))) - else: - dir.Append(Function(DirectoryItem(LL, title=title, thumb=thumb), pageGetter='getURLs', parser='getVideos', metaGetter='getMeta', title1=PLUGIN_TITLE, title2=title, url=url, sortURL=sortURL, viewGroup='_' + Prefs.Get('videoView'), matchKey=[url, sortURL])) - #dir.Append(Function(DirectoryItem(LL, title=L('Users')), pageGetter=getURLs, parser=getUsers, metaGetter=NOP, title1=PLUGIN_TITLE, title2='Users', url='http://www.pornhub.com/user/search', sortURL='o=recent_users', viewGroup='_' + Prefs.Get('videoView'), matchKey=['http://www.pornhub.com/user/search', sortURL])) - - dir.Append(Function(InputDirectoryItem(InputVideoList, title=L("Search Videos ..."), prompt=L("Search on Pornhub"), subtitle = L('Search by keyword in pornhub archive'), summary = 'You can type in any word you want to search content for. This can be tags, names, ...' ), title1 = PLUGIN_TITLE, title2 = 'Search - "%s"', url = 'http://www.pornhub.com/video/search?search=%s', sortURL=sortURL)) - #Add search item - #dir.Append(Function(InputDirectoryItem(InputUserList, title=L("Search Users ..."), prompt=L("Search User by name"), subtitle = L('Search by name in pornhub user list')), title1 = PLUGIN_TITLE, title2 = 'Search User - "%s"', url = BASE_URL + '/user/search?username=%s', sortURL=sortURL)) - dir.Append(PrefsItem('Preferences', thumb=R('icon-prefs.png'))) - return dir - -#################################################################################################### - -def SortOrder(sender, url, title2, viewGroup): - dir = MediaContainer(title2=title2) - - for (sortTitle,sortURL) in SORT_ORDER: - dir.Append(Function(DirectoryItem(LL, title=sortTitle, thumb=R(PLUGIN_ICON_DEFAULT)), pageGetter='getURLs', parser='getVideos', metaGetter='getMeta', title1=title2, title2=sortTitle, url=url, sortURL=sortURL, viewGroup=viewGroup, matchKey=[url, sortURL])) - - return dir - -#################################################################################################### - -def InputVideoList(sender, query, title1, title2, url, sortURL, page=1): - Log('(PLUG-IN) **==> ENTER Search on PornHub') - title2 = title2 % query - query = String.Quote(query, usePlus=True) - url = url % query - return LL(sender, title1=title1, title2=title2, url=url, sortURL=sortURL, pageGetter=getURLs, parser=getVideos, metaGetter=getMeta, matchKey=['searchVideos', query]) - -#################################################################################################### - -def TimeToSeconds(timecode): - seconds = 0 - duration = timecode.split(':') - duration.reverse() - - for i in range(0, len(duration)): - seconds += int(duration[i]) * (60**i) - - return seconds - -#################################################################################################### - -def getSort(): - sort = Prefs.Get('sortOrder') - for name, url in SORT_ORDER: - if sort == name: return [name, url] - return ['',''] - -#################################################################################################### - -# TODO: write user metadata getter - -def getUsers(url, **kwargs): - global dirItems - for user in XML.ElementFromURL(url, isHTML=True, errors='ignore').xpath('//div[@class="user-box"]'): - name = user.xpath('./a/span')[0].text - link = user.xpath('./a')[0].get('href') - thumb = user.xpath('./a/img')[0].get('src') - #userid = link.split('user/')[1] - - if len(link) > 1: - userURL = BASE_URL + link #+ '/videos/recent?' - dirItems.Append(Function(DirectoryItem(getUsers2, title=name, thumb=thumb), title1=PLUGIN_TITLE, userName=name, url=userURL, viewGroup='_' + Prefs.Get('videoView'))) - -def getUsers2(sender, url, title1, userName, viewGroup): - dir = MediaContainer(title1=title1, title2=userName, viewGroup=viewGroup) - dir.Append(Function(DirectoryItem(LL, title='Favourites'), pageGetter='getURLs', parser='getVideos', metaGetter='NOP', title1=PLUGIN_TITLE, title2='Favourites - ' + userName, url=url + '/videos/favorites', sortURL='o=mr', viewGroup='_' + Prefs.Get('videoView'), matchKey=['getUsersFaves', userName])) - dir.Append(Function(DirectoryItem(LL, title='Recents'), pageGetter='getURLs', parser='getVideos', metaGetter='NOP', title1=PLUGIN_TITLE, title2='Recents - ' + userName, url=url + '/videos/recent?', sortURL='', viewGroup='_' + Prefs.Get('videoView'), matchKey=['getUsersRecents', userName])) - return dir - -def NOP(*args, **kwargs): - pass - -#################################################################################################### - -def InputUserList(sender, query, title1, title2, url, sortURL, page=1): - Log('(PLUG-IN) **==> ENTER Search on PornHub') - title2 = title2 % query - query = String.Quote(query, usePlus=True) - url = url % query - return LL(sender, url=url, pageGetter=getURLs, parser=getUsers, metaGetter=NOP, title1=PLUGIN_TITLE, title2=query, sortURL='', viewGroup='_' + Prefs.Get('videoView'), matchKey=['searchUsers', query]) +from PHCommon import * +from PHCategories import * +from PHChannels import * +from PHPornStars import * +from PHPlaylists import * +from PHMembers import * + +NAME = 'PornHub' + +ART = 'art-default.jpg' +ICON = 'icon-default.jpg' + +def Start(): + + # Set the defaults for Object Containers + #ObjectContainer.art = R(ART) + ObjectContainer.title1 = NAME + + # Set the defaults of Directory Objects + DirectoryObject.thumb = R(ICON) + + # Set the cache lifespan + HTTP.CacheTime = CACHE_1HOUR * 2 + + # Set the user agent + HTTP.Headers['User-Agent'] = 'Mozilla/5.0 (Windows NT 10.0; WOW64; rv:42.0) Gecko/20100101 Firefox/42.0' + +@handler(ROUTE_PREFIX, NAME, thumb=ICON, art=ART) +def MainMenu(): + + # Create the object to contain the main menu options + oc = ObjectContainer() + + # Directory Object for Browse All Videos + oc.add(DirectoryObject( + key = Callback(SortVideos, title='Browse All Videos'), + title = 'Browse All Videos' + )) + + oc.add(DirectoryObject( + key = Callback(BrowseCategories, title='Categories'), + title = 'Categories' + )) + + oc.add(DirectoryObject( + key = Callback(BrowseChannels, title='Channels'), + title = 'Channels' + )) + + oc.add(DirectoryObject( + key = Callback(BrowsePornStars, title='Porn Stars'), + title = 'Porn Stars' + )) + + oc.add(DirectoryObject( + key = Callback(BrowsePlaylists, title='Playlists'), + title = 'Playlists' + )) + + oc.add(DirectoryObject( + key = Callback(BrowseMembers, title='Members'), + title = 'Members' + )) + + oc.add(InputDirectoryObject( + key = Callback(SearchVideos, title='Search'), + title = 'Search' + )) + + return oc \ No newline at end of file diff --git a/Contents/Info.plist b/Contents/Info.plist index ab99edd..6bb2e7e 100644 --- a/Contents/Info.plist +++ b/Contents/Info.plist @@ -2,25 +2,17 @@ - CFBundleDevelopmentRegion - English - CFBundleExecutable - CFBundleIdentifier com.plexapp.plugins.pornhub - CFBundleInfoDictionaryVersion - 6.0 - CFBundlePackageType - AAPL - CFBundleSignature - hook - CFBundleVersion - 1.0 PlexFrameworkVersion - 1 + 2 + PlexClientPlatforms + * PlexPluginDebug - 1 - PlexPluginMode - AlwaysOn + + + + 1 + diff --git a/Contents/Services/ServiceInfo.plist b/Contents/Services/ServiceInfo.plist new file mode 100644 index 0000000..c6643ef --- /dev/null +++ b/Contents/Services/ServiceInfo.plist @@ -0,0 +1,16 @@ + + + + + URL + + pornhub + + URLPatterns + + ^http://([^.]+.)?pornhub\.com/.+ + + + + + diff --git a/Contents/Services/URL/pornhub/ServiceCode.pys b/Contents/Services/URL/pornhub/ServiceCode.pys new file mode 100644 index 0000000..60aa189 --- /dev/null +++ b/Contents/Services/URL/pornhub/ServiceCode.pys @@ -0,0 +1,62 @@ +RE_1080_VIDEO_URL = Regex("var player_quality_1080p = '([^']+)'") +RE_720_VIDEO_URL = Regex("var player_quality_720p = '([^']+)'") +RE_480_VIDEO_URL = Regex("var player_quality_480p = '([^']+)'") +RE_240_VIDEO_URL = Regex("var player_quality_240p = '([^']+)'") + +def NormalizeURL(url): + + return url + +def MetadataObjectForURL(url): + + html = HTML.ElementFromURL(url) + + title = html.xpath('//title/text()')[0].strip() + thumbnail = html.xpath('//meta[@property="og:image"]/@content')[0].strip() + #tags = html.xpath('//div[@id="media-tags-container"]/h4/a/text()') + + return VideoClipObject( + title = title, + summary = title, + thumb = Resource.ContentsOfURLWithFallback([thumbnail], fallback='icon-default.jpg'), + content_rating = 'X' + #tags = tags + ) + +def MediaObjectsForURL(url): + + return [ + MediaObject( + container = Container.MP4, + video_codec = VideoCodec.H264, + video_resolution = '480', + audio_codec = AudioCodec.AAC, + audio_channels = 2, + optimized_for_streaming = True if Client.Product not in ['Plex Web'] else False, + parts = [ + PartObject( + key = Callback(PlayVideo, url=url) + ) + ] + ) + ] + +@indirect +def PlayVideo(url): + + data = HTTP.Request(url).content + video1080 = RE_1080_VIDEO_URL.search(data) + video720 = RE_720_VIDEO_URL.search(data) + video480 = RE_480_VIDEO_URL.search(data) + video240 = RE_240_VIDEO_URL.search(data) + + if video1080: + return IndirectResponse(VideoClipObject, key=video1080.group(1)) + elif video720: + return IndirectResponse(VideoClipObject, key=video720.group(1)) + elif video480: + return IndirectResponse(VideoClipObject, key=video480.group(1)) + elif video240: + return IndirectResponse(VideoClipObject, key=video240.group(1)) + + raise Ex.MediaNotAvailable \ No newline at end of file diff --git a/Contents/Site Configurations/pornhub.xml b/Contents/Site Configurations/pornhub.xml deleted file mode 100644 index 2656ba2..0000000 --- a/Contents/Site Configurations/pornhub.xml +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file From b1d20310e7e7c73703b3da4d9e2d940c1158dc98 Mon Sep 17 00:00:00 2001 From: NotVinny Date: Thu, 26 Nov 2015 21:00:14 -0500 Subject: [PATCH 02/48] v0.2 Created the GenerateMenu function, which reads in a dictionary of menu items, and turns them into DirectoryObjects and returns them in a ObjectContainer. Used this function everywhere I could to cut down on repetition and lines of code. Created a language file to hold some string constants. But most importantly, I found some artwork to use as the background... And I couldn't decide which one to use so I have 2 alternates sitting in the Resources folder. In v0.3 I plan to create preferences for artwork (and other options), as well as fix up the MemberMenu function to filter out empty directories. --- Contents/Code/PHCategories.py | 17 ++- Contents/Code/PHChannels.py | 55 ++++------ Contents/Code/PHCommon.py | 75 +++++++++---- Contents/Code/PHLanguageEN.py | 7 ++ Contents/Code/PHMembers.py | 101 ++++++------------ Contents/Code/PHPlaylists.py | 52 ++++----- Contents/Code/PHPornStars.py | 63 +++++------ Contents/Code/__init__.py | 60 +++-------- Contents/Resources/art-alternate-1.jpg | Bin 0 -> 299314 bytes Contents/Resources/art-alternate-2.jpg | Bin 0 -> 282930 bytes Contents/Resources/art-default.jpg | Bin 0 -> 325184 bytes .../{art-default.png => art-original.png} | Bin Contents/Resources/icon-next.png | Bin 53097 -> 0 bytes 13 files changed, 183 insertions(+), 247 deletions(-) create mode 100644 Contents/Code/PHLanguageEN.py create mode 100644 Contents/Resources/art-alternate-1.jpg create mode 100644 Contents/Resources/art-alternate-2.jpg create mode 100644 Contents/Resources/art-default.jpg rename Contents/Resources/{art-default.png => art-original.png} (100%) delete mode 100644 Contents/Resources/icon-next.png diff --git a/Contents/Code/PHCategories.py b/Contents/Code/PHCategories.py index 97b053a..53e25f6 100644 --- a/Contents/Code/PHCategories.py +++ b/Contents/Code/PHCategories.py @@ -4,10 +4,10 @@ PH_CATEGORIES_ALPHABETICAL_URL = PH_CATEGORIES_URL + '?o=al' @route(ROUTE_PREFIX + '/categories') -def BrowseCategories(title, url = PH_CATEGORIES_ALPHABETICAL_URL): +def BrowseCategories(title=PH_DEFAULT_BROWSE_CATEGORIES_TITLE, url = PH_CATEGORIES_ALPHABETICAL_URL): - # Create the object to contain all of the categories - oc = ObjectContainer(title2=title) + # Create a dictionary of menu items + browseCategoriesMenuItems = OrderedDict() # Get the HTML of the page html = HTML.ElementFromURL(url) @@ -18,15 +18,12 @@ def BrowseCategories(title, url = PH_CATEGORIES_ALPHABETICAL_URL): # Loop through all categories for category in categories: + # Use xPath to extract category details categoryTitle = category.xpath("./h5/a/strong/text()")[0] categoryURL = BASE_URL + category.xpath("./h5/a/@href")[0] categoryThumbnail = category.xpath("./a/img/@src")[0] - # Add a Directory Object for the category - oc.add(DirectoryObject( - key = Callback(SortVideos, title=categoryTitle, url=categoryURL), - title = categoryTitle, - thumb = categoryThumbnail - )) + # Add a menu item for the category + browseCategoriesMenuItems[categoryTitle] = {'function':SortVideos, 'functionArgs':{'url':categoryURL}, 'directoryObjectArgs':{'thumb':categoryThumbnail}} - return oc \ No newline at end of file + return GenerateMenu(title, browseCategoriesMenuItems) \ No newline at end of file diff --git a/Contents/Code/PHChannels.py b/Contents/Code/PHChannels.py index ff3f3cd..8504b4e 100644 --- a/Contents/Code/PHChannels.py +++ b/Contents/Code/PHChannels.py @@ -5,37 +5,24 @@ MAX_CHANNELS_PER_PAGE = 36 @route(ROUTE_PREFIX + '/channels') -def BrowseChannels(title): - - oc = ObjectContainer(title2=title) - - oc.add(InputDirectoryObject( - key = Callback(SearchChannels, title='Search Results'), - title = "Search Channels", - prompt = "Search for...", - summary = "Enter Channel Search Terms" - )) - - channelSortOrders = OrderedDict([ - ('Most Popular', {'o':'rk'}), - ('Trending', {'o':'tr'}), - ('Most Recent', {'o':'mr'}), - ('A-Z', {'o':'al'}) +def BrowseChannels(title=PH_DEFAULT_BROWSE_CHANNELS_TITLE): + + # Create a dictionary of menu items + browseChannelsMenuItems = OrderedDict([ + ('Search Channels', {'function':SearchChannels, 'search':True, 'directoryObjectArgs':{'prompt':'Search for...','summary':'Enter Channel Search Terms'}}), + ('Most Popular', {'function':ListChannels, 'functionArgs':{'url':addURLParameters(PH_CHANNELS_URL, {'o':'rk'})}}), + ('Trending', {'function':ListChannels, 'functionArgs':{'url':addURLParameters(PH_CHANNELS_URL, {'o':'tr'})}}), + ('Most Recent', {'function':ListChannels, 'functionArgs':{'url':addURLParameters(PH_CHANNELS_URL, {'o':'mr'})}}), + ('A-Z', {'function':ListChannels, 'functionArgs':{'url':addURLParameters(PH_CHANNELS_URL, {'o':'al'})}}) ]) - for channelSortOrder, urlParams in channelSortOrders.items(): - oc.add(DirectoryObject( - key = Callback(ListChannels, title=channelSortOrder, url=addURLParameters(PH_CHANNELS_URL, urlParams)), - title = channelSortOrder - )) - - return oc + return GenerateMenu(title, browseChannelsMenuItems) @route(ROUTE_PREFIX + '/channels/list') def ListChannels(title, url = PH_CHANNELS_URL, page=1): - # Create the object to contain all of the channels - oc = ObjectContainer(title2=title) + # Create a dictionary of menu items + listChannelsMenuItems = OrderedDict() # Add the page number into the query string if (int(page) != 1): @@ -50,28 +37,22 @@ def ListChannels(title, url = PH_CHANNELS_URL, page=1): # Loop through all channels for channel in channels: + # Use xPath to extract channel details channelTitle = channel.xpath("./div[contains(@class, 'description')]/div[contains(@class, 'descriptionContainer')]/ul/li/a[contains(@class, 'usernameLink')]/text()")[0] channelURL = BASE_URL + channel.xpath("./div[contains(@class, 'description')]/div[contains(@class, 'descriptionContainer')]/ul/li/a[contains(@class, 'usernameLink')]/@href")[0] channelThumbnail = channel.xpath("./div[contains(@class,'description')]/div[contains(@class, 'avatar')]/a/img/@src")[0] - # Add a Directory Object for the channels - oc.add(DirectoryObject( - key = Callback(SortVideos, title=channelTitle, url=channelURL + '/videos'), - title = channelTitle, - thumb = channelThumbnail - )) + # Add a menu item for the channel + listChannelsMenuItems[channelTitle] = {'function':SortVideos, 'functionArgs':{'url':channelURL + '/videos'}, 'directoryObjectArgs':{'thumb':channelThumbnail}} # There is a slight change that this will break... If the number of videos returned in total is divisible by MAX_VIDEOS_PER_PAGE with no remainder, there could possibly be no additional page after. This is unlikely though and I'm too lazy to handle it. if (len(channels) == MAX_CHANNELS_PER_PAGE): - oc.add(NextPageObject( - key = Callback(ListChannels, title=title, url=url, page = int(page)+1), - title = 'Next Page' - )) + listChannelsMenuItems['Next Page'] = {'function':ListChannels, 'functionArgs':{'title':title, 'url':url, 'page':int(page)+1}, 'nextPage':True} - return oc + return GenerateMenu(title, listChannelsMenuItems) @route(ROUTE_PREFIX + '/channels/search') -def SearchChannels(query, title): +def SearchChannels(query): # Format the query for use in PornHub's search formattedQuery = formatStringForSearch(query, "+") diff --git a/Contents/Code/PHCommon.py b/Contents/Code/PHCommon.py index 02c3d4e..42f723c 100644 --- a/Contents/Code/PHCommon.py +++ b/Contents/Code/PHCommon.py @@ -1,6 +1,7 @@ import urllib import urlparse from collections import OrderedDict +from PHLanguageEN import * ROUTE_PREFIX = '/video/pornhub' @@ -38,7 +39,7 @@ ]) @route(ROUTE_PREFIX + '/list') -def ListVideos(title, url, page=1, pageLimit = MAX_VIDEOS_PER_PAGE): +def ListVideos(title=PH_DEFAULT_LIST_VIDEOS_TITLE, url=PH_VIDEO_URL, page=1, pageLimit = MAX_VIDEOS_PER_PAGE): # Create the object to contain all of the videos oc = ObjectContainer(title2 = title) @@ -47,6 +48,7 @@ def ListVideos(title, url, page=1, pageLimit = MAX_VIDEOS_PER_PAGE): if (int(page) != 1): url = addURLParameters(url, {'page':str(page)}) + # This could definitely be handled more gracefully. But it works for now if ("/channels/" in url): pageLimit = MAX_VIDEOS_PER_CHANNEL_PAGE elif ("/video/search" in url): @@ -57,8 +59,6 @@ def ListVideos(title, url, page=1, pageLimit = MAX_VIDEOS_PER_PAGE): # Get the HTML of the site html = HTML.ElementFromURL(url) - Log(HTML.StringFromElement(html)) - # Use xPath to extract a list of divs that contain videos videos = html.xpath("//li[contains(@class,'videoblock')]") @@ -66,13 +66,9 @@ def ListVideos(title, url, page=1, pageLimit = MAX_VIDEOS_PER_PAGE): if (len(videos) >= 120): videos = videos[0:119] - Log ('There are ' + str(len(videos)) + ' videos') - # Loop through the videos in the page for video in videos: - #Log (HTML.StringFromElement(video)) - # Get the link of the video videoURL = video.xpath("./div/div/a/@href")[0] @@ -82,7 +78,7 @@ def ListVideos(title, url, page=1, pageLimit = MAX_VIDEOS_PER_PAGE): # Make sure the last step went smoothly (this is probably redundant but oh well) if (videoURL.startswith(BASE_URL)): - # Get the video details + # Use xPath to extract video details videoTitle = video.xpath("./div/div/a/div[contains(@class, 'thumbnail-info-wrapper')]/span[@class='title']/a/text()")[0] thumbnail = video.xpath("./div/div/a/div[@class='img']/img/@data-mediumthumb")[0] @@ -130,35 +126,73 @@ def ListVideos(title, url, page=1, pageLimit = MAX_VIDEOS_PER_PAGE): return oc @route(ROUTE_PREFIX + '/sort') -def SortVideos(title, url = PH_VIDEO_URL, sortOrders = SORT_ORDERS): - - # Create the object to contain all of the sorting options - oc = ObjectContainer(title2 = title) +def SortVideos(title=PH_DEFAULT_SORT_VIDEOS_TITLE, url = PH_VIDEO_URL, sortOrders = SORT_ORDERS): + # If sorting channels, use a different dictionary of sort orders if ("/channels/" in url): sortOrders = CHANNEL_VIDEOS_SORT_ORDERS + # Create a dictionary of menu items + sortVideosMenuItems = OrderedDict() + # Add the sorting options for sortTitle, urlParams in sortOrders.items(): - oc.add(DirectoryObject( - key = Callback(ListVideos, title=sortTitle, url=addURLParameters(url, urlParams)), - title = title + ' - ' + sortTitle - )) + # Add a menu item for the category + sortVideosMenuItems[sortTitle] = {'function':ListVideos, 'functionArgs':{'url':addURLParameters(url, urlParams)}} - return oc + return GenerateMenu(title, sortVideosMenuItems) @route(ROUTE_PREFIX + '/search') -def SearchVideos(query, title): +def SearchVideos(query): # Format the query for use in PornHub's search formattedQuery = formatStringForSearch(query, "+") try: - return ListVideos(title='Search Results for ' + query, url=PH_VIDEO_SEARCH_URL % formattedQuery) + return ListVideos(title='Search Results For ' + query, url=PH_VIDEO_SEARCH_URL % formattedQuery) except: return ObjectContainer(header='Search Results', message="No search results found", no_cache=True) +def GenerateMenu(title, menuItems): + # Create the object to contain the menu items + oc = ObjectContainer(title2=title) + + # Loop through the menuItems dictionary + for menuTitle, menuData in menuItems.items(): + # Create empty dictionaries to hold the arguments for the Directory Object and the Function + directoryObjectArgs = {} + functionArgs = {} + + # See if any Directory Object arguments are present in the menu data + if ('directoryObjectArgs' in menuData): + # Merge dictionaries + directoryObjectArgs.update(menuData['directoryObjectArgs']) + + # Check to see if the menu item is a search menu item + if ('search' in menuData and menuData['search'] == True): + directoryObject = InputDirectoryObject(title=menuTitle, **directoryObjectArgs) + # Check to see if the menu item is a next page item + elif ('nextPage' in menuData and menuData['nextPage'] == True): + directoryObject = NextPageObject(title=menuTitle, **directoryObjectArgs) + # Otherwise, use a basic Directory Object + else: + directoryObject = DirectoryObject(title=menuTitle, **directoryObjectArgs) + functionArgs['title'] = menuTitle + + # See if any Function arguments are present in the menu data + if ('functionArgs' in menuData): + # Merge dictionaries + functionArgs.update(menuData['functionArgs']) + + # Set the Directory Object key to the function from the menu data, passing along any additional function arguments + directoryObject.key = Callback(menuData['function'], **functionArgs) + + # Add the Directory Object to the Object Container + oc.add(directoryObject) + + return oc + # I stole this function from http://stackoverflow.com/questions/2506379/add-params-to-given-url-in-python. It works. def addURLParameters (url, params): @@ -168,7 +202,7 @@ def addURLParameters (url, params): urlQuery.update(params) # So... PornHub requires that it's query string parameters are set in the right order... for some reason. This piece of code handles that. It's retarded, but it has to be done - urlQueryOrder = ['c', 'channelSearch', 'search', 'o', 't', 'page'] + urlQueryOrder = ['c', 'channelSearch', 'search', 'username', 'o', 't', 'page'] urlQueryOrdered = OrderedDict() @@ -180,6 +214,7 @@ def addURLParameters (url, params): return urlparse.urlunparse(urlParts) +# I stole this function (and everything I did for search basically) from the RedTube Plex Plugin, this file specifically https://github.com/flownex/RedTube.bundle/blob/master/Contents/Code/PCbfSearch.py def formatStringForSearch(query, delimiter): query = String.StripTags(str(query)) query = query.replace('%20',' ') diff --git a/Contents/Code/PHLanguageEN.py b/Contents/Code/PHLanguageEN.py new file mode 100644 index 0000000..98f2940 --- /dev/null +++ b/Contents/Code/PHLanguageEN.py @@ -0,0 +1,7 @@ +PH_DEFAULT_LIST_VIDEOS_TITLE = "Browse Videos" +PH_DEFAULT_SORT_VIDEOS_TITLE = "Sort Videos" +PH_DEFAULT_BROWSE_CATEGORIES_TITLE = "Browse Categories" +PH_DEFAULT_BROWSE_CHANNELS_TITLE = "Browse Channels" +PH_DEFAULT_BROWSE_PORN_STARS_TITLE = "Browse Porn Stars" +PH_DEFAULT_BROWSE_PLAYLISTS_TITLE = "Browse Playlists" +PH_DEFAULT_BROWSE_MEMBERS_TITLE = "Browse Members" \ No newline at end of file diff --git a/Contents/Code/PHMembers.py b/Contents/Code/PHMembers.py index 2ec1900..b98df89 100644 --- a/Contents/Code/PHMembers.py +++ b/Contents/Code/PHMembers.py @@ -6,16 +6,12 @@ PH_MAX_MEMBERS_PER_PAGE = 42 @route(ROUTE_PREFIX + '/members') -def BrowseMembers(title, url=PH_DISCOVER_MEMBERS_URL): +def BrowseMembers(title=PH_DEFAULT_BROWSE_MEMBERS_TITLE, url=PH_DISCOVER_MEMBERS_URL): - oc = ObjectContainer(title2=title) - - oc.add(InputDirectoryObject( - key = Callback(SearchMembers, title='Search Results'), - title = "Search Members", - prompt = "Search for...", - summary = "Enter member's username" - )) + # Create a dictionary of menu items + browseMembersMenuItems = OrderedDict([ + ('Search Members', {'function':SearchMembers, 'search':True, 'directoryObjectArgs':{'prompt':'Search for...','summary':"Enter member's username"}}) + ]) # Get the HTML of the page html = HTML.ElementFromURL(url) @@ -26,21 +22,20 @@ def BrowseMembers(title, url=PH_DISCOVER_MEMBERS_URL): # Loop through all sort orders for sortOrder in sortOrders: + # Use xPath to extract sort order details sortOrderTitle = sortOrder.xpath("./h2/text()")[0] sortOrderURL = BASE_URL + sortOrder.xpath("./div[contains(@class, 'filters')]/a/@href")[0] - oc.add(DirectoryObject( - key = Callback(ListMembers, title=sortOrderTitle, url=sortOrderURL), - title = sortOrderTitle - )) + # Add a menu item for the sort order + browseMembersMenuItems[sortOrderTitle] = {'function':ListMembers, 'functionArgs':{'url':sortOrderURL}} - return oc + return GenerateMenu(title, browseMembersMenuItems) @route(ROUTE_PREFIX + '/members/list') def ListMembers(title, url=PH_DISCOVER_MEMBERS_URL, page=1): - # Create the object to contain all of the members - oc = ObjectContainer(title2=title) + # Create a dictionary of menu items + listMembersMenuItems = OrderedDict() # Add the page number into the query string if (int(page) != 1): @@ -55,68 +50,22 @@ def ListMembers(title, url=PH_DISCOVER_MEMBERS_URL, page=1): # Loop through all members for member in members: + # Use xPath to extract member details memberTitle = member.xpath("./div[contains(@class, 'usernameWrap')]/a[contains(@class, 'usernameLink')]/text()")[0] memberURL = BASE_URL + member.xpath("./div[contains(@class, 'usernameWrap')]/a[contains(@class, 'usernameLink')]/@href")[0] memberThumbnail = member.xpath("./div[contains(@class, 'large-avatar')]/a[contains(@class, 'userLink')]/img/@src")[0] - # Add a Directory Object for the members - oc.add(DirectoryObject( - key = Callback(MemberMenu, title=memberTitle, url=memberURL, username=memberTitle), - title = memberTitle, - thumb = memberThumbnail - )) + # Add a menu item for the member + listMembersMenuItems[memberTitle] = {'function':MemberMenu, 'functionArgs':{'url':memberURL, 'username':memberTitle}, 'directoryObjectArgs':{'thumb':memberThumbnail}} # There is a slight change that this will break... If the number of members returned in total is divisible by PH_MAX_MEMBERS_PER_PAGE with no remainder, there could possibly be no additional page after. This is unlikely though and I'm too lazy to handle it. if (len(members) == PH_MAX_MEMBERS_PER_PAGE): - oc.add(NextPageObject( - key = Callback(ListMembers, title=title, url=url, page = int(page)+1), - title = 'Next Page' - )) - - return oc - -@route(ROUTE_PREFIX + '/members/menu') -def MemberMenu(title, url, username): + listMembersMenuItems['Next Page'] = {'function':ListMembers, 'functionArgs':{'title':title, 'url':url, 'page':int(page)+1}, 'nextPage':True} - # Create the object to contain all of the member options - oc = ObjectContainer(title2=title) - - # TODO: Use some data structure to make this into a loop... A simple dictionary won't do, will need to ponder this. First change to be made for v1.3 - - # Directory Object for Member's Public Videos - oc.add(DirectoryObject( - key = Callback(ListVideos, title=username + "'s Public Videos", url=url + '/videos/public'), - title = 'Public Videos' - )) - - # Directory Object for Member's Favorite Videos - oc.add(DirectoryObject( - key = Callback(ListVideos, title=username + "'s Favorite Videos", url=url + '/videos/favorites'), - title = 'Favorite Videos' - )) - - # Directory Object for Member's Watched Videos - oc.add(DirectoryObject( - key = Callback(ListVideos, title=username + "'s Watched Videos", url=url + '/videos/recent'), - title = 'Watched Videos' - )) - - # Directory Object for Member's Public Playlists - oc.add(DirectoryObject( - key = Callback(ListPlaylists, title=username + "'s Public Playlists", url=url + '/playlists/public'), - title = 'Public Playlists' - )) - - # Directory Object for Member's Favorite Playlists - oc.add(DirectoryObject( - key = Callback(ListPlaylists, title=username + "'s Favorite Playlists", url=url + '/playlists/favorites'), - title = 'Favorite Playlists' - )) - - return oc + return GenerateMenu(title, listMembersMenuItems) @route(ROUTE_PREFIX + '/members/search') -def SearchMembers(query, title): +def SearchMembers(query): # Format the query for use in PornHub's search formattedQuery = formatStringForSearch(query, "+") @@ -124,4 +73,18 @@ def SearchMembers(query, title): try: return ListMembers(title='Search Results for ' + query, url=PH_SEARCH_MEMBERS_URL % formattedQuery) except: - return ObjectContainer(header='Search Results', message="No search results found", no_cache=True) \ No newline at end of file + return ObjectContainer(header='Search Results', message="No search results found", no_cache=True) + +@route(ROUTE_PREFIX + '/members/menu') +def MemberMenu(title, url, username): + + # Create a dictionary of menu items + memberMenuItems = OrderedDict([ + ('Public Videos', {'function':ListVideos, 'functionArgs':{'title':username + "'s Public Videos", 'url':url + '/videos/public'}}), + ('Favorite Videos', {'function':ListVideos, 'functionArgs':{'title':username + "'s Favorite Videos", 'url':url + '/videos/favorites'}}), + ('Watched Videos', {'function':ListVideos, 'functionArgs':{'title':username + "'s Watched Videos", 'url':url + '/videos/recent'}}), + ('Public Playlists', {'function':ListPlaylists, 'functionArgs':{'title':username + "'s Public Playlists", 'url':url + '/playlists/public'}}), + ('Favorite Playlists', {'function':ListPlaylists, 'functionArgs':{'title':username + "'s Favorite Playlists", 'url':url + '/playlists/favorites'}}), + ]) + + return GenerateMenu(title, memberMenuItems) \ No newline at end of file diff --git a/Contents/Code/PHPlaylists.py b/Contents/Code/PHPlaylists.py index fb20499..cc41424 100644 --- a/Contents/Code/PHPlaylists.py +++ b/Contents/Code/PHPlaylists.py @@ -2,33 +2,33 @@ PH_PLAYLISTS_URL = BASE_URL + '/playlists' PH_PLAYLIST_URL = BASE_URL + '/playlist' + MAX_PLAYLISTS_PER_PAGE = 36 @route(ROUTE_PREFIX + '/playlists') -def BrowsePlaylists(title): - - oc = ObjectContainer(title2=title) - - playlistSortOrders = OrderedDict([ - ('Top Rated', {}), - ('Most Viewed', {'o':'mv'}), - ('Most Recent', {'o':'mr'}), - ('Most Favorited', {'o':'mf'}) +def BrowsePlaylists(title=PH_DEFAULT_BROWSE_PLAYLISTS_TITLE): + + # Create a dictionary of menu items + browsePlaylistsMenuItems = OrderedDict([ + ('Most Recent', {'function':ListPlaylists, 'functionArgs':{'url':addURLParameters(PH_PLAYLISTS_URL, {'o':'mr'})}}), + ('Top Rated - All Time', {'function':ListPlaylists, 'functionArgs':{'url':addURLParameters(PH_PLAYLISTS_URL, {'o':'tr', 't':'a'})}}), + ('Top Rated - Monthly', {'function':ListPlaylists, 'functionArgs':{'url':addURLParameters(PH_PLAYLISTS_URL, {'o':'tr', 't':'m'})}}), + ('Top Rated - Weekly', {'function':ListPlaylists, 'functionArgs':{'url':addURLParameters(PH_PLAYLISTS_URL, {'o':'tr', 't':'w'})}}), + ('Top Rated - Daily', {'function':ListPlaylists, 'functionArgs':{'url':addURLParameters(PH_PLAYLISTS_URL, {'o':'tr', 't':'t'})}}), + ('Most Viewed - All Time', {'function':ListPlaylists, 'functionArgs':{'url':addURLParameters(PH_PLAYLISTS_URL, {'o':'mv', 't':'a'})}}), + ('Most Viewed - Monthly', {'function':ListPlaylists, 'functionArgs':{'url':addURLParameters(PH_PLAYLISTS_URL, {'o':'mv', 't':'m'})}}), + ('Most Viewed - Weekly', {'function':ListPlaylists, 'functionArgs':{'url':addURLParameters(PH_PLAYLISTS_URL, {'o':'mv', 't':'w'})}}), + ('Most Viewed - Daily', {'function':ListPlaylists, 'functionArgs':{'url':addURLParameters(PH_PLAYLISTS_URL, {'o':'mv', 't':'d'})}}), + ('Most Favorited', {'function':ListPlaylists, 'functionArgs':{'url':addURLParameters(PH_PLAYLISTS_URL, {'o':'mf'})}}) ]) - for playlistSortOrder, urlParams in playlistSortOrders.items(): - oc.add(DirectoryObject( - key = Callback(ListPlaylists, title=playlistSortOrder, url=addURLParameters(PH_PLAYLISTS_URL, urlParams)), - title = playlistSortOrder - )) - - return oc + return GenerateMenu(title, browsePlaylistsMenuItems) @route(ROUTE_PREFIX + '/playlists/list') def ListPlaylists(title, url = PH_PLAYLISTS_URL, page=1): - # Create the object to contain all of the playlists - oc = ObjectContainer(title2=title) + # Create a dictionary of menu items + listPlaylistsMenuItems = OrderedDict() # Add the page number into the query string if (int(page) != 1): @@ -43,22 +43,16 @@ def ListPlaylists(title, url = PH_PLAYLISTS_URL, page=1): # Loop through all playlists for playlist in playlists: + # Use xPath to extract playlist details playlistTitle = playlist.xpath("./div/div[contains(@class, 'thumbnail-info-wrapper')]/span[contains(@class, 'title')]/a[contains(@class, 'title')]/text()")[0] playlistURL = BASE_URL + playlist.xpath("./div/div[contains(@class, 'thumbnail-info-wrapper')]/span[contains(@class, 'title')]/a[contains(@class, 'title')]/@href")[0] playlistThumbnail = playlist.xpath("./div/div[contains(@class, 'linkWrapper')]/img[contains(@class, 'largeThumb')]/@data-mediumthumb")[0] - # Add a Directory Object for the playlists - oc.add(DirectoryObject( - key = Callback(SortVideos, title=playlistTitle, url=playlistURL), - title = playlistTitle, - thumb = playlistThumbnail - )) + # Add a menu item for the playlist + listPlaylistsMenuItems[playlistTitle] = {'function':SortVideos, 'functionArgs':{'url':playlistURL}, 'directoryObjectArgs':{'thumb':playlistThumbnail}} # There is a slight change that this will break... If the number of playlists returned in total is divisible by MAX_PLAYLISTS_PER_PAGE with no remainder, there could possibly be no additional page after. This is unlikely though and I'm too lazy to handle it. if (len(playlists) == MAX_PLAYLISTS_PER_PAGE): - oc.add(NextPageObject( - key = Callback(ListPlaylists, title=title, url=url, page = int(page)+1), - title = 'Next Page' - )) + listPlaylistsMenuItems['Next Page'] = {'function':ListPlaylists, 'functionArgs':{'title':title, 'url':url, 'page':int(page)+1}, 'nextPage':True} - return oc \ No newline at end of file + return GenerateMenu(title, listPlaylistsMenuItems) \ No newline at end of file diff --git a/Contents/Code/PHPornStars.py b/Contents/Code/PHPornStars.py index 05c9f86..1feecfd 100644 --- a/Contents/Code/PHPornStars.py +++ b/Contents/Code/PHPornStars.py @@ -2,42 +2,35 @@ PH_PORNSTARS_URL = BASE_URL + '/pornstars' PH_PORNSTARS_SEARCH_URL = PH_PORNSTARS_URL + '/search?search=%s' + MAX_PORNSTARS_PER_PAGE = 28 @route(ROUTE_PREFIX + '/pornstars') -def BrowsePornStars(title): - - oc = ObjectContainer(title2=title) +def BrowsePornStars(title=PH_DEFAULT_BROWSE_PORN_STARS_TITLE): - oc.add(InputDirectoryObject( - key = Callback(SearchPornStars, title='Search Results'), - title = "Search Porn Stars", - prompt = "Search for...", - summary = "Enter Porn Star Search Terms" - )) - - pornStarSortOrders = OrderedDict([ - ('Most Popular', {}), - ('Most Viewed', {'o':'mv'}), - ('Top Trending', {'o':'t'}), - ('Most Subscribed', {'o':'ms'}), - ('Alphabetical', {'o':'a'}), - ('Number of Videos', {'o':'nv'}) + # Create a dictionary of menu items + browsePornStarsMenuItems = OrderedDict([ + ('Search Porn Stars', {'function':SearchPornStars, 'search':True, 'directoryObjectArgs':{'prompt':'Search for...','summary':'Enter Porn Star Search Terms'}}), + ('Most Popular - All Time', {'function':ListPornStars, 'functionArgs':{'url':addURLParameters(PH_PORNSTARS_URL, {'t':'a'})}}), + ('Most Popular - Monthly', {'function':ListPornStars, 'functionArgs':{'url':addURLParameters(PH_PORNSTARS_URL, {'t':'m'})}}), + ('Most Popular - Weekly', {'function':ListPornStars, 'functionArgs':{'url':addURLParameters(PH_PORNSTARS_URL, {'t':'w'})}}), + ('Most Viewed - All Time', {'function':ListPornStars, 'functionArgs':{'url':addURLParameters(PH_PORNSTARS_URL, {'o':'mv', 't':'a'})}}), + ('Most Viewed - Monthly', {'function':ListPornStars, 'functionArgs':{'url':addURLParameters(PH_PORNSTARS_URL, {'o':'mv', 't':'m'})}}), + ('Most Viewed - Weekly', {'function':ListPornStars, 'functionArgs':{'url':addURLParameters(PH_PORNSTARS_URL, {'o':'mv', 't':'w'})}}), + ('Most Viewed - Daily', {'function':ListPornStars, 'functionArgs':{'url':addURLParameters(PH_PORNSTARS_URL, {'o':'mv', 't':'t'})}}), + ('Top Trending', {'function':ListPornStars, 'functionArgs':{'url':addURLParameters(PH_PORNSTARS_URL, {'o':'t'})}}), + ('Most Subscribed', {'function':ListPornStars, 'functionArgs':{'url':addURLParameters(PH_PORNSTARS_URL, {'o':'ms'})}}), + ('Alphabetical', {'function':ListPornStars, 'functionArgs':{'url':addURLParameters(PH_PORNSTARS_URL, {'o':'a'})}}), + ('Number of Videos', {'function':ListPornStars, 'functionArgs':{'url':addURLParameters(PH_PORNSTARS_URL, {'o':'nv'})}}) ]) - for pornStarSortOrder, urlParams in pornStarSortOrders.items(): - oc.add(DirectoryObject( - key = Callback(ListPornStars, title=pornStarSortOrder, url=addURLParameters(PH_PORNSTARS_URL, urlParams)), - title = pornStarSortOrder - )) - - return oc + return GenerateMenu(title, browsePornStarsMenuItems) @route(ROUTE_PREFIX + '/pornstars/list') def ListPornStars(title, url = PH_PORNSTARS_URL, page=1): - # Create the object to contain all of the porn stars - oc = ObjectContainer(title2=title) + # Create a dictionary of menu items + listPornStarsMenuItems = OrderedDict() # Add the page number into the query string if (int(page) != 1): @@ -52,28 +45,22 @@ def ListPornStars(title, url = PH_PORNSTARS_URL, page=1): # Loop through all channels for pornStar in pornStars: + # Use xPath to extract porn star details pornStarName = pornStar.xpath("./div/div[contains(@class, 'thumbnail-info-wrapper')]/a/text()")[0] pornStarURL = BASE_URL + pornStar.xpath("./div/div[contains(@class, 'thumbnail-info-wrapper')]/a/@href")[0] pornStarThumbnail = pornStar.xpath("./div/a/img/@src")[0] - # Add a Directory Object for the channels - oc.add(DirectoryObject( - key = Callback(SortVideos, title=pornStarName, url=pornStarURL), - title = pornStarName, - thumb = pornStarThumbnail - )) + # Add a menu item for the porn star + listPornStarsMenuItems[pornStarName] = {'function':SortVideos, 'functionArgs':{'url':pornStarURL}, 'directoryObjectArgs':{'thumb':pornStarThumbnail}} # There is a slight change that this will break... If the number of videos returned in total is divisible by MAX_VIDEOS_PER_PAGE with no remainder, there could possibly be no additional page after. This is unlikely though and I'm too lazy to handle it. if (len(pornStars) == MAX_PORNSTARS_PER_PAGE): - oc.add(NextPageObject( - key = Callback(ListPornStars, title=title, url=url, page = int(page)+1), - title = 'Next Page' - )) + listPornStarsMenuItems['Next Page'] = {'function':ListPornStars, 'functionArgs':{'title':title, 'url':url, 'page':int(page)+1}, 'nextPage':True} - return oc + return GenerateMenu(title, listPornStarsMenuItems) @route(ROUTE_PREFIX + '/pornstars/search') -def SearchPornStars(query, title): +def SearchPornStars(query): # Format the query for use in PornHub's search formattedQuery = formatStringForSearch(query, "+") diff --git a/Contents/Code/__init__.py b/Contents/Code/__init__.py index d237084..07b1fa3 100644 --- a/Contents/Code/__init__.py +++ b/Contents/Code/__init__.py @@ -5,15 +5,15 @@ from PHPlaylists import * from PHMembers import * -NAME = 'PornHub' +NAME = 'PornHub' -ART = 'art-default.jpg' -ICON = 'icon-default.jpg' +ART = 'art-default.jpg' +ICON = 'icon-default.jpg' def Start(): # Set the defaults for Object Containers - #ObjectContainer.art = R(ART) + ObjectContainer.art = R(ART) ObjectContainer.title1 = NAME # Set the defaults of Directory Objects @@ -28,43 +28,15 @@ def Start(): @handler(ROUTE_PREFIX, NAME, thumb=ICON, art=ART) def MainMenu(): - # Create the object to contain the main menu options - oc = ObjectContainer() - - # Directory Object for Browse All Videos - oc.add(DirectoryObject( - key = Callback(SortVideos, title='Browse All Videos'), - title = 'Browse All Videos' - )) - - oc.add(DirectoryObject( - key = Callback(BrowseCategories, title='Categories'), - title = 'Categories' - )) - - oc.add(DirectoryObject( - key = Callback(BrowseChannels, title='Channels'), - title = 'Channels' - )) - - oc.add(DirectoryObject( - key = Callback(BrowsePornStars, title='Porn Stars'), - title = 'Porn Stars' - )) - - oc.add(DirectoryObject( - key = Callback(BrowsePlaylists, title='Playlists'), - title = 'Playlists' - )) - - oc.add(DirectoryObject( - key = Callback(BrowseMembers, title='Members'), - title = 'Members' - )) - - oc.add(InputDirectoryObject( - key = Callback(SearchVideos, title='Search'), - title = 'Search' - )) - - return oc \ No newline at end of file + # Create a dictionary of menu items + mainMenuItems = OrderedDict([ + ('Browse All Videos', {'function':SortVideos}), + ('Categories', {'function':BrowseCategories}), + ('Channels', {'function':BrowseChannels}), + ('Porn Stars', {'function':BrowsePornStars}), + ('Playlists', {'function':BrowsePlaylists}), + ('Members', {'function':BrowseMembers}), + ('Search', {'function':SearchVideos, 'search':True, 'directoryObjectArgs':{'prompt':'Search for...','summary':'Enter Search Terms'}}) + ]) + + return GenerateMenu(NAME, mainMenuItems) \ No newline at end of file diff --git a/Contents/Resources/art-alternate-1.jpg b/Contents/Resources/art-alternate-1.jpg new file mode 100644 index 0000000000000000000000000000000000000000..b7a6518c1d52004b7aabb03f8b4de1bb6d168427 GIT binary patch literal 299314 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 ?3o3ytg*3*_fs_v(IUk!z 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�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�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
MB?+ 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

>KRbz6okDTWnD=ANsTB5X?(BDbbhyw#7(w{tw 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 XHjr`mvzjQbnrSMG<;7kpS)c#e)Xmqe literal 0 HcmV?d00001 diff --git a/Contents/Resources/art-alternate-2.jpg b/Contents/Resources/art-alternate-2.jpg new file mode 100644 index 0000000000000000000000000000000000000000..c58033ee4e8beecc0ec9fd6da03733c0419faf0d GIT binary patch literal 282930 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%0AU5Gp7ze@u@LSS4)90Gm(vR0y^N$MAqa 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­-7>j;eNp@0gsUXc@;iRC-7w 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 z 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%0AEYBI!Yg{27F)fJkH22E{NZ<1)hybD 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 rYlZc_|l+;u)H;VAdokn`q5;w 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 literal 0 HcmV?d00001 diff --git a/Contents/Resources/art-default.jpg b/Contents/Resources/art-default.jpg new file mode 100644 index 0000000000000000000000000000000000000000..ada3818ab30cd4ad699414d99123da2ceec49b57 GIT binary patch literal 325184 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

0Ay$=k_LDpF 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 z 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 literal 0 HcmV?d00001 diff --git a/Contents/Resources/art-default.png b/Contents/Resources/art-original.png similarity index 100% rename from Contents/Resources/art-default.png rename to Contents/Resources/art-original.png diff --git a/Contents/Resources/icon-next.png b/Contents/Resources/icon-next.png deleted file mode 100644 index 10d9414a5d6fa9becb7c03b1a8f48384882aae7d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 53097 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

sj*hw{T>P`b% zr^H1=07vQ=rl9TJzT-Cr)R#8imOGP%D88M^--C3KEGo9~MqGVR;W$b;3_PiV1b1^6437n7NkObI%JOL@o_=LD4D4Q*R{b$V7G8CvI z<3`q>kXR^X4P~tCOVGyXoE_*2Vd6#a$|5|8vc1o9SNr0?RW|WPcHE{C0hG5ygs)$* zQzH}AnNgbwrGozNVs*;cdjf>-gz@P}I9f?SY!YRrA6QN4d&lD zHMt(rO^lwx4GJ%^V6)@WES33hCH_qj2&C3=i8lixmpm+!v-8GP%#K=}6(8sC9FhCT zrn`LTV127YyaT~U^gC493U0>-K^9p$(1 zXO++Q%uKga|A(lz4y*F{qDK$ijf8ZgbeD90C=rp829fUWZV*wrRgg|;4$VPnk?!tp zIKUmg_uk*nKX`n6Ue6q6=H0Vr?X}mMtb?nUph3EsDq)vtl%4xu+CdpaU(1RX(j!NmqCIW!h?}_f`il z+vo?;bJEIhb&Q8g{a_S5Yyxx#p7F)WOS7#D(H1yPh?heWlpm3Rr!9KIPZ|=DPdH)rTr0J)7lifhVU87e{Qhegxv)Nv z9-h6TCB(6G={Q^>M9r8@mcO8_R`(MRpV?^)lYN)l*t(d7|D2h;MW_0XeEk~ zYua7mt54?u$wM45H91Zq|KID%b%><)55vN`0dJB3WK(kImG7HE>MsS=ey}vWir&?n zpwDRH>iwuRQC;rw+Ew>;v%j#X!UdH+BuFFhcKrIhNRs1qEEY%W7ywUo|lx#@VmQ6M&;=y^CFc8)YT0g zqdu;HldCTb#rE&s@M2?;a;@L~Dd0mlsKl$2u_A55FqSSGvMw>J3Np zSuvq!3rEW|k0+`AOuP1ieqIi0d8&*+axH5(8Uupq=r zkr)R89};r%_b!5&Q$T??%+(}aAV9&Cc?HHmi3?l2MEe?mXwnx)?zJ3@_O}AoOG_-@ ziNysCT7qv1EnDyWty$5nazbcbTt83+H)jHAwDQppPXROe7%ld$#+i2>B86ongR6Ll z1Oaz_nXbg>45?|{?0l@7<=0)LzfAv;a_rgc;bVrswFEL;Cvevh*B?2CKV>zE_x&7z zG5eVs=gr@mH|)B?G)9$E9$g;nD|~hqv*K!wMkU6Y9ea(C4re^%quF1jD9A-s=|*+ZXaHc0NZhdt-6WD}M##sK(8Ds5m5_b{!*MFXckn?Ha~;Qv1sL@6#QPgu9< ztB32g>qN;%J^%OH-Ti-(-ky#`Rc={JX$5YVua&+lH0u_!*I#fxAgZNK7=-lDw&AfF zD|7x3#Hnq2gBP_k{(tf(pK6R-vky4O!OX1d91S=G{w*J_qXkhPB?+UKug8c6j|Q&H zyTUNM&XW|~r^LSy;6_$^pD{nBbJd9Pg=MYzgsz*z!Hml1&Yj<#<(1e~#&6AT%gpjo z|K?Zj-~UZrd~MuPivd~@(H|%4sU6404m!TYx(2?&z%*V_@-z&JU>JG zS@6c{uPDfYY~C6e_bce%x|tG9olMwQUCiNkD(V-RlV)WiK!_1rD}(&#ZXmUK!mtmp ziZxJx>=LOOEd0-)_-MXPqJ8M;9U;Wf+Q%jVBv_NJgzUkEEzW;{$zQdSfANHd8%O)x z#X+6>B{h7_&@l6 zP3GX(W*9%T_C*JrlYbG&Gu1nR9V-ZssH+jV=($(cLMwbR987kRPp3)hak^l0i$4Gw z$_lfeT*Vu~u4~$J;X%(GiM*hgTmurs?@!J95~PO)r>U`8mYS`YRwzun9iHw=Q2~FL zUR%H%AjrsbFx)czmRojoX6xTgAQ2`SuIub{=t`W)OWFNLQwM^^<-tNEwQ*ue_U^7t z>rG!KP$FNgn3Kl_YAtxLjv)zDl6_2)0O=h};}NeO1siYHNeW-WZT!}`X7}nmyeM~G zFlmW=Z)G1F0>M8;lbVqdUni{pRJHIzitP!3{Xi7JJDej@s{HVoaiuAHq-i}D6|~z&Ue-U0TS^vSNbJ1nBh*VJs4^;z#6SguQpX1fjG37gi~a?mZXn`rc! zEHKJ6Upvlc02t1@2_P5M;TUjF5l11E&_Yf6q<{E?y92wiBI@t_GwUysc`W}}a8yH) z`iP)5{#kLfv5kJL0T)`6zw63&nnL9x#PylS z^7d&$1lwX2%f^lIGf{Eq5SQq!L;|J)2<jDW-314-i zV&cgD9(V_HfRR3Kkv8plA^?dP(}@gipvp<8Gp^RM1Nd6}bk(EzVO$p7Pd^xt&?RRa zdcMKc<+?eya|`ss1n??u@M+J`FnJTIE>NlXlP`<#518R;I5x#Yx4VKMk$LdH8w1Tb zFZDHzf`yj6hycBP{sG(leTxSUkVKIKaH|&cgNp`$1BjRtj>Phk !RL9yfA(~NoQ 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 UdoOluUjP6A07*qoM6N<$g4*?qkN^Mx From c74345e2df819bc737099aa29751c5aceb241c28 Mon Sep 17 00:00:00 2001 From: NotVinny Date: Thu, 26 Nov 2015 23:06:34 -0500 Subject: [PATCH 03/48] v0.2.1 No functionality change, just minor changes to make code more uniform. --- Contents/Code/PHCategories.py | 2 +- Contents/Code/PHChannels.py | 2 +- Contents/Code/PHCommon.py | 38 +++++++++++++++++------------------ Contents/Code/PHLanguageEN.py | 4 ++-- Contents/Code/PHPlaylists.py | 2 +- Contents/Code/PHPornStars.py | 2 +- Contents/Code/__init__.py | 2 +- 7 files changed, 26 insertions(+), 26 deletions(-) diff --git a/Contents/Code/PHCategories.py b/Contents/Code/PHCategories.py index 53e25f6..9cd5b36 100644 --- a/Contents/Code/PHCategories.py +++ b/Contents/Code/PHCategories.py @@ -24,6 +24,6 @@ def BrowseCategories(title=PH_DEFAULT_BROWSE_CATEGORIES_TITLE, url = PH_CATEGORI categoryThumbnail = category.xpath("./a/img/@src")[0] # Add a menu item for the category - browseCategoriesMenuItems[categoryTitle] = {'function':SortVideos, 'functionArgs':{'url':categoryURL}, 'directoryObjectArgs':{'thumb':categoryThumbnail}} + browseCategoriesMenuItems[categoryTitle] = {'function':BrowseVideos, 'functionArgs':{'url':categoryURL}, 'directoryObjectArgs':{'thumb':categoryThumbnail}} return GenerateMenu(title, browseCategoriesMenuItems) \ No newline at end of file diff --git a/Contents/Code/PHChannels.py b/Contents/Code/PHChannels.py index 8504b4e..1724b1d 100644 --- a/Contents/Code/PHChannels.py +++ b/Contents/Code/PHChannels.py @@ -43,7 +43,7 @@ def ListChannels(title, url = PH_CHANNELS_URL, page=1): channelThumbnail = channel.xpath("./div[contains(@class,'description')]/div[contains(@class, 'avatar')]/a/img/@src")[0] # Add a menu item for the channel - listChannelsMenuItems[channelTitle] = {'function':SortVideos, 'functionArgs':{'url':channelURL + '/videos'}, 'directoryObjectArgs':{'thumb':channelThumbnail}} + listChannelsMenuItems[channelTitle] = {'function':BrowseVideos, 'functionArgs':{'url':channelURL + '/videos'}, 'directoryObjectArgs':{'thumb':channelThumbnail}} # There is a slight change that this will break... If the number of videos returned in total is divisible by MAX_VIDEOS_PER_PAGE with no remainder, there could possibly be no additional page after. This is unlikely though and I'm too lazy to handle it. if (len(channels) == MAX_CHANNELS_PER_PAGE): diff --git a/Contents/Code/PHCommon.py b/Contents/Code/PHCommon.py index 42f723c..4460485 100644 --- a/Contents/Code/PHCommon.py +++ b/Contents/Code/PHCommon.py @@ -38,7 +38,25 @@ ('Top Rated', {'o':'ra'}) ]) -@route(ROUTE_PREFIX + '/list') +@route(ROUTE_PREFIX + '/videos/browse') +def BrowseVideos(title=PH_DEFAULT_BROWSE_VIDEOS_TITLE, url = PH_VIDEO_URL, sortOrders = SORT_ORDERS): + + # If sorting channels, use a different dictionary of sort orders + if ("/channels/" in url): + sortOrders = CHANNEL_VIDEOS_SORT_ORDERS + + # Create a dictionary of menu items + browseVideosMenuItems = OrderedDict() + + # Add the sorting options + for sortTitle, urlParams in sortOrders.items(): + + # Add a menu item for the category + browseVideosMenuItems[sortTitle] = {'function':ListVideos, 'functionArgs':{'url':addURLParameters(url, urlParams)}} + + return GenerateMenu(title, browseVideosMenuItems) + +@route(ROUTE_PREFIX + '/videos/list') def ListVideos(title=PH_DEFAULT_LIST_VIDEOS_TITLE, url=PH_VIDEO_URL, page=1, pageLimit = MAX_VIDEOS_PER_PAGE): # Create the object to contain all of the videos @@ -125,24 +143,6 @@ def ListVideos(title=PH_DEFAULT_LIST_VIDEOS_TITLE, url=PH_VIDEO_URL, page=1, pag return oc -@route(ROUTE_PREFIX + '/sort') -def SortVideos(title=PH_DEFAULT_SORT_VIDEOS_TITLE, url = PH_VIDEO_URL, sortOrders = SORT_ORDERS): - - # If sorting channels, use a different dictionary of sort orders - if ("/channels/" in url): - sortOrders = CHANNEL_VIDEOS_SORT_ORDERS - - # Create a dictionary of menu items - sortVideosMenuItems = OrderedDict() - - # Add the sorting options - for sortTitle, urlParams in sortOrders.items(): - - # Add a menu item for the category - sortVideosMenuItems[sortTitle] = {'function':ListVideos, 'functionArgs':{'url':addURLParameters(url, urlParams)}} - - return GenerateMenu(title, sortVideosMenuItems) - @route(ROUTE_PREFIX + '/search') def SearchVideos(query): diff --git a/Contents/Code/PHLanguageEN.py b/Contents/Code/PHLanguageEN.py index 98f2940..e660fc4 100644 --- a/Contents/Code/PHLanguageEN.py +++ b/Contents/Code/PHLanguageEN.py @@ -1,5 +1,5 @@ -PH_DEFAULT_LIST_VIDEOS_TITLE = "Browse Videos" -PH_DEFAULT_SORT_VIDEOS_TITLE = "Sort Videos" +PH_DEFAULT_LIST_VIDEOS_TITLE = "Videos" +PH_DEFAULT_BROWSE_VIDEOS_TITLE = "Browse Videos" PH_DEFAULT_BROWSE_CATEGORIES_TITLE = "Browse Categories" PH_DEFAULT_BROWSE_CHANNELS_TITLE = "Browse Channels" PH_DEFAULT_BROWSE_PORN_STARS_TITLE = "Browse Porn Stars" diff --git a/Contents/Code/PHPlaylists.py b/Contents/Code/PHPlaylists.py index cc41424..d334f21 100644 --- a/Contents/Code/PHPlaylists.py +++ b/Contents/Code/PHPlaylists.py @@ -49,7 +49,7 @@ def ListPlaylists(title, url = PH_PLAYLISTS_URL, page=1): playlistThumbnail = playlist.xpath("./div/div[contains(@class, 'linkWrapper')]/img[contains(@class, 'largeThumb')]/@data-mediumthumb")[0] # Add a menu item for the playlist - listPlaylistsMenuItems[playlistTitle] = {'function':SortVideos, 'functionArgs':{'url':playlistURL}, 'directoryObjectArgs':{'thumb':playlistThumbnail}} + listPlaylistsMenuItems[playlistTitle] = {'function':BrowseVideos, 'functionArgs':{'url':playlistURL}, 'directoryObjectArgs':{'thumb':playlistThumbnail}} # There is a slight change that this will break... If the number of playlists returned in total is divisible by MAX_PLAYLISTS_PER_PAGE with no remainder, there could possibly be no additional page after. This is unlikely though and I'm too lazy to handle it. if (len(playlists) == MAX_PLAYLISTS_PER_PAGE): diff --git a/Contents/Code/PHPornStars.py b/Contents/Code/PHPornStars.py index 1feecfd..5a17e98 100644 --- a/Contents/Code/PHPornStars.py +++ b/Contents/Code/PHPornStars.py @@ -51,7 +51,7 @@ def ListPornStars(title, url = PH_PORNSTARS_URL, page=1): pornStarThumbnail = pornStar.xpath("./div/a/img/@src")[0] # Add a menu item for the porn star - listPornStarsMenuItems[pornStarName] = {'function':SortVideos, 'functionArgs':{'url':pornStarURL}, 'directoryObjectArgs':{'thumb':pornStarThumbnail}} + listPornStarsMenuItems[pornStarName] = {'function':BrowseVideos, 'functionArgs':{'url':pornStarURL}, 'directoryObjectArgs':{'thumb':pornStarThumbnail}} # There is a slight change that this will break... If the number of videos returned in total is divisible by MAX_VIDEOS_PER_PAGE with no remainder, there could possibly be no additional page after. This is unlikely though and I'm too lazy to handle it. if (len(pornStars) == MAX_PORNSTARS_PER_PAGE): diff --git a/Contents/Code/__init__.py b/Contents/Code/__init__.py index 07b1fa3..2c7fae4 100644 --- a/Contents/Code/__init__.py +++ b/Contents/Code/__init__.py @@ -30,7 +30,7 @@ def MainMenu(): # Create a dictionary of menu items mainMenuItems = OrderedDict([ - ('Browse All Videos', {'function':SortVideos}), + ('Browse All Videos', {'function':BrowseVideos}), ('Categories', {'function':BrowseCategories}), ('Channels', {'function':BrowseChannels}), ('Porn Stars', {'function':BrowsePornStars}), From 2d56fecdccce91f34edf001411b39a5bfb32a51a Mon Sep 17 00:00:00 2001 From: NotVinny Date: Wed, 2 Dec 2015 00:22:23 -0500 Subject: [PATCH 04/48] v0.3 Updated the service to not only select the best possible resolution, but to actually return all available resolutions. This involves using the deferred decorator (which is apparently evil, but it seems to work for me... I've only tested on Roku/Android clients, and I've read threads from 2013ish that say Plex Home Theatre doesn't work well with it). --- Contents/Services/URL/pornhub/ServiceCode.pys | 60 +++++++++---------- 1 file changed, 28 insertions(+), 32 deletions(-) diff --git a/Contents/Services/URL/pornhub/ServiceCode.pys b/Contents/Services/URL/pornhub/ServiceCode.pys index 60aa189..ded182d 100644 --- a/Contents/Services/URL/pornhub/ServiceCode.pys +++ b/Contents/Services/URL/pornhub/ServiceCode.pys @@ -1,7 +1,8 @@ -RE_1080_VIDEO_URL = Regex("var player_quality_1080p = '([^']+)'") -RE_720_VIDEO_URL = Regex("var player_quality_720p = '([^']+)'") -RE_480_VIDEO_URL = Regex("var player_quality_480p = '([^']+)'") -RE_240_VIDEO_URL = Regex("var player_quality_240p = '([^']+)'") +from collections import OrderedDict + +PH_POTENTIAL_RESOLUTIONS = ["1080", "720", "480", "240", "180"] + +PH_VIDEO_URL_REGEX = "var player_quality_%sp = '([^']+)'" def NormalizeURL(url): @@ -23,40 +24,35 @@ def MetadataObjectForURL(url): #tags = tags ) +@deferred def MediaObjectsForURL(url): - - return [ - MediaObject( - container = Container.MP4, - video_codec = VideoCodec.H264, - video_resolution = '480', - audio_codec = AudioCodec.AAC, + + availableResolutions = OrderedDict([]) + mediaObjects = [] + + data = HTTP.Request(url).content + + for resolution in PH_POTENTIAL_RESOLUTIONS: + video = Regex(PH_VIDEO_URL_REGEX % resolution).search(data) + + if video: + availableResolutions[resolution] = video.group(1) + + for resolution, videoURL in availableResolutions.items(): + mediaObjects.append(MediaObject( + container = Container.MP4, + video_codec = VideoCodec.H264, + video_resolution = resolution, + audio_codec = AudioCodec.AAC, audio_channels = 2, optimized_for_streaming = True if Client.Product not in ['Plex Web'] else False, parts = [ PartObject( - key = Callback(PlayVideo, url=url) + key = videoURL ) ] - ) - ] - -@indirect -def PlayVideo(url): - - data = HTTP.Request(url).content - video1080 = RE_1080_VIDEO_URL.search(data) - video720 = RE_720_VIDEO_URL.search(data) - video480 = RE_480_VIDEO_URL.search(data) - video240 = RE_240_VIDEO_URL.search(data) - - if video1080: - return IndirectResponse(VideoClipObject, key=video1080.group(1)) - elif video720: - return IndirectResponse(VideoClipObject, key=video720.group(1)) - elif video480: - return IndirectResponse(VideoClipObject, key=video480.group(1)) - elif video240: - return IndirectResponse(VideoClipObject, key=video240.group(1)) + )) + + return mediaObjects raise Ex.MediaNotAvailable \ No newline at end of file From f3a66b364d224e4e5bd56a54e8dcf5aab3bbcb79 Mon Sep 17 00:00:00 2001 From: NotVinny Date: Sun, 31 Jan 2016 06:46:33 -0500 Subject: [PATCH 05/48] v0.3.1 Minor fix with the Next Page functionality --- Contents/Code/PHCommon.py | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/Contents/Code/PHCommon.py b/Contents/Code/PHCommon.py index 4460485..ffcaf40 100644 --- a/Contents/Code/PHCommon.py +++ b/Contents/Code/PHCommon.py @@ -9,9 +9,10 @@ PH_VIDEO_URL = BASE_URL + '/video' PH_VIDEO_SEARCH_URL = PH_VIDEO_URL + '/search?search=%s' -MAX_VIDEOS_PER_PAGE = 28 +MAX_VIDEOS_PER_PAGE = 32 MAX_VIDEOS_PER_SEARCH_PAGE = 20 MAX_VIDEOS_PER_CHANNEL_PAGE = 36 +MAX_VIDEOS_PER_PORNSTAR_PAGE = 26 MAX_VIDEOS_PER_USER_PAGE = 48 SORT_ORDERS = OrderedDict([ @@ -67,10 +68,12 @@ def ListVideos(title=PH_DEFAULT_LIST_VIDEOS_TITLE, url=PH_VIDEO_URL, page=1, pag url = addURLParameters(url, {'page':str(page)}) # This could definitely be handled more gracefully. But it works for now - if ("/channels/" in url): - pageLimit = MAX_VIDEOS_PER_CHANNEL_PAGE - elif ("/video/search" in url): + if ("/video/search" in url): pageLimit = MAX_VIDEOS_PER_SEARCH_PAGE + elif ("/channels/" in url): + pageLimit = MAX_VIDEOS_PER_CHANNEL_PAGE + elif ("/pornstar/" in url): + pageLimit = MAX_VIDEOS_PER_PORNSTAR_PAGE elif ("/users/" in url): pageLimit = MAX_VIDEOS_PER_USER_PAGE From ecae16f0c14dd9706b67de5c0f07012acda5bb0d Mon Sep 17 00:00:00 2001 From: NotVinny Date: Sun, 7 Feb 2016 15:16:17 -0500 Subject: [PATCH 06/48] v0.4 Added preferences to select the background/icon art for the channel. Also added a no_cache option for the GenerateMenu function. Finally, I fixed up the way localization was done (for the few strings that I actually localized...) by using Plex's built in Locale functionality rather than my own file of constants. --- Contents/Code/PHCategories.py | 2 +- Contents/Code/PHChannels.py | 2 +- Contents/Code/PHCommon.py | 9 ++++----- Contents/Code/PHLanguageEN.py | 7 ------- Contents/Code/PHMembers.py | 2 +- Contents/Code/PHPlaylists.py | 2 +- Contents/Code/PHPornStars.py | 2 +- Contents/Code/__init__.py | 24 ++++++++++++++++++++---- Contents/DefaultPrefs.json | 16 ++++++++++++++++ Contents/Strings/en.json | 10 ++++++++++ 10 files changed, 55 insertions(+), 21 deletions(-) delete mode 100644 Contents/Code/PHLanguageEN.py create mode 100644 Contents/DefaultPrefs.json create mode 100644 Contents/Strings/en.json diff --git a/Contents/Code/PHCategories.py b/Contents/Code/PHCategories.py index 9cd5b36..6e404a4 100644 --- a/Contents/Code/PHCategories.py +++ b/Contents/Code/PHCategories.py @@ -4,7 +4,7 @@ PH_CATEGORIES_ALPHABETICAL_URL = PH_CATEGORIES_URL + '?o=al' @route(ROUTE_PREFIX + '/categories') -def BrowseCategories(title=PH_DEFAULT_BROWSE_CATEGORIES_TITLE, url = PH_CATEGORIES_ALPHABETICAL_URL): +def BrowseCategories(title=L("DefaultBrowseCategoriesTitle"), url = PH_CATEGORIES_ALPHABETICAL_URL): # Create a dictionary of menu items browseCategoriesMenuItems = OrderedDict() diff --git a/Contents/Code/PHChannels.py b/Contents/Code/PHChannels.py index 1724b1d..45f872c 100644 --- a/Contents/Code/PHChannels.py +++ b/Contents/Code/PHChannels.py @@ -5,7 +5,7 @@ MAX_CHANNELS_PER_PAGE = 36 @route(ROUTE_PREFIX + '/channels') -def BrowseChannels(title=PH_DEFAULT_BROWSE_CHANNELS_TITLE): +def BrowseChannels(title="DefaultBrowseChannelsTitle"): # Create a dictionary of menu items browseChannelsMenuItems = OrderedDict([ diff --git a/Contents/Code/PHCommon.py b/Contents/Code/PHCommon.py index ffcaf40..8c2bcef 100644 --- a/Contents/Code/PHCommon.py +++ b/Contents/Code/PHCommon.py @@ -1,7 +1,6 @@ import urllib import urlparse from collections import OrderedDict -from PHLanguageEN import * ROUTE_PREFIX = '/video/pornhub' @@ -40,7 +39,7 @@ ]) @route(ROUTE_PREFIX + '/videos/browse') -def BrowseVideos(title=PH_DEFAULT_BROWSE_VIDEOS_TITLE, url = PH_VIDEO_URL, sortOrders = SORT_ORDERS): +def BrowseVideos(title=L("DefaultBrowseVideosTitle"), url = PH_VIDEO_URL, sortOrders = SORT_ORDERS): # If sorting channels, use a different dictionary of sort orders if ("/channels/" in url): @@ -58,7 +57,7 @@ def BrowseVideos(title=PH_DEFAULT_BROWSE_VIDEOS_TITLE, url = PH_VIDEO_URL, sortO return GenerateMenu(title, browseVideosMenuItems) @route(ROUTE_PREFIX + '/videos/list') -def ListVideos(title=PH_DEFAULT_LIST_VIDEOS_TITLE, url=PH_VIDEO_URL, page=1, pageLimit = MAX_VIDEOS_PER_PAGE): +def ListVideos(title=L("DefaultListVideosTitle"), url=PH_VIDEO_URL, page=1, pageLimit = MAX_VIDEOS_PER_PAGE): # Create the object to contain all of the videos oc = ObjectContainer(title2 = title) @@ -157,9 +156,9 @@ def SearchVideos(query): except: return ObjectContainer(header='Search Results', message="No search results found", no_cache=True) -def GenerateMenu(title, menuItems): +def GenerateMenu(title, menuItems, no_cache=False): # Create the object to contain the menu items - oc = ObjectContainer(title2=title) + oc = ObjectContainer(title2=title, no_cache=no_cache) # Loop through the menuItems dictionary for menuTitle, menuData in menuItems.items(): diff --git a/Contents/Code/PHLanguageEN.py b/Contents/Code/PHLanguageEN.py deleted file mode 100644 index e660fc4..0000000 --- a/Contents/Code/PHLanguageEN.py +++ /dev/null @@ -1,7 +0,0 @@ -PH_DEFAULT_LIST_VIDEOS_TITLE = "Videos" -PH_DEFAULT_BROWSE_VIDEOS_TITLE = "Browse Videos" -PH_DEFAULT_BROWSE_CATEGORIES_TITLE = "Browse Categories" -PH_DEFAULT_BROWSE_CHANNELS_TITLE = "Browse Channels" -PH_DEFAULT_BROWSE_PORN_STARS_TITLE = "Browse Porn Stars" -PH_DEFAULT_BROWSE_PLAYLISTS_TITLE = "Browse Playlists" -PH_DEFAULT_BROWSE_MEMBERS_TITLE = "Browse Members" \ No newline at end of file diff --git a/Contents/Code/PHMembers.py b/Contents/Code/PHMembers.py index b98df89..97d07b8 100644 --- a/Contents/Code/PHMembers.py +++ b/Contents/Code/PHMembers.py @@ -6,7 +6,7 @@ PH_MAX_MEMBERS_PER_PAGE = 42 @route(ROUTE_PREFIX + '/members') -def BrowseMembers(title=PH_DEFAULT_BROWSE_MEMBERS_TITLE, url=PH_DISCOVER_MEMBERS_URL): +def BrowseMembers(title=L("DefaultBrowseMembersTitle"), url=PH_DISCOVER_MEMBERS_URL): # Create a dictionary of menu items browseMembersMenuItems = OrderedDict([ diff --git a/Contents/Code/PHPlaylists.py b/Contents/Code/PHPlaylists.py index d334f21..d4c7894 100644 --- a/Contents/Code/PHPlaylists.py +++ b/Contents/Code/PHPlaylists.py @@ -6,7 +6,7 @@ MAX_PLAYLISTS_PER_PAGE = 36 @route(ROUTE_PREFIX + '/playlists') -def BrowsePlaylists(title=PH_DEFAULT_BROWSE_PLAYLISTS_TITLE): +def BrowsePlaylists(title=L("DefaultBrowsePlaylistsTitle")): # Create a dictionary of menu items browsePlaylistsMenuItems = OrderedDict([ diff --git a/Contents/Code/PHPornStars.py b/Contents/Code/PHPornStars.py index 5a17e98..26b36c7 100644 --- a/Contents/Code/PHPornStars.py +++ b/Contents/Code/PHPornStars.py @@ -6,7 +6,7 @@ MAX_PORNSTARS_PER_PAGE = 28 @route(ROUTE_PREFIX + '/pornstars') -def BrowsePornStars(title=PH_DEFAULT_BROWSE_PORN_STARS_TITLE): +def BrowsePornStars(title=L("DefaultBrowsePornStarsTitle")): # Create a dictionary of menu items browsePornStarsMenuItems = OrderedDict([ diff --git a/Contents/Code/__init__.py b/Contents/Code/__init__.py index 2c7fae4..2462441 100644 --- a/Contents/Code/__init__.py +++ b/Contents/Code/__init__.py @@ -5,10 +5,10 @@ from PHPlaylists import * from PHMembers import * -NAME = 'PornHub' +NAME = L("ChannelTitle") -ART = 'art-default.jpg' -ICON = 'icon-default.jpg' +ART = 'art-' + Prefs["channelBackgroundArt"] +ICON = 'icon-' + Prefs["channelIconArt"] def Start(): @@ -19,12 +19,22 @@ def Start(): # Set the defaults of Directory Objects DirectoryObject.thumb = R(ICON) + # Set the default language + Locale.DefaultLocale = "en" + # Set the cache lifespan HTTP.CacheTime = CACHE_1HOUR * 2 # Set the user agent HTTP.Headers['User-Agent'] = 'Mozilla/5.0 (Windows NT 10.0; WOW64; rv:42.0) Gecko/20100101 Firefox/42.0' +def ValidatePrefs(): + ART = 'art-' + Prefs["channelBackgroundArt"] + ObjectContainer.art = R(ART) + + ICON = 'icon-' + Prefs["channelIconArt"] + DirectoryObject.thumb = R(ICON) + @handler(ROUTE_PREFIX, NAME, thumb=ICON, art=ART) def MainMenu(): @@ -39,4 +49,10 @@ def MainMenu(): ('Search', {'function':SearchVideos, 'search':True, 'directoryObjectArgs':{'prompt':'Search for...','summary':'Enter Search Terms'}}) ]) - return GenerateMenu(NAME, mainMenuItems) \ No newline at end of file + oc = GenerateMenu(NAME, mainMenuItems) + + oc.add(PrefsObject( + title="Preferences" + )) + + return oc \ No newline at end of file diff --git a/Contents/DefaultPrefs.json b/Contents/DefaultPrefs.json new file mode 100644 index 0000000..e0ac4e1 --- /dev/null +++ b/Contents/DefaultPrefs.json @@ -0,0 +1,16 @@ +[ + { + "id": "channelBackgroundArt", + "label": "Background Art", + "type": "enum", + "values": ["default.jpg", "original.png", "alternate-1.jpg", "alternate-2.jpg", "stealth.png"], + "default": "default.jpg" + }, + { + "id": "channelIconArt", + "label": "Icon Art", + "type": "enum", + "values": ["default.png", "stealth.png"], + "default": "default.png" + } +] \ No newline at end of file diff --git a/Contents/Strings/en.json b/Contents/Strings/en.json new file mode 100644 index 0000000..1d6f69a --- /dev/null +++ b/Contents/Strings/en.json @@ -0,0 +1,10 @@ +{ + "ChannelTitle": "PornHub", + "DefaultListVideosTitle": "Videos", + "DefaultBrowseVideosTitle": "Browse Videos", + "DefaultBrowseCategoriesTitle": "Categories", + "DefaultBrowseChannelsTitle": "Channels", + "DefaultBrowsePornStarsTitle": "Porn Stars", + "DefaultBrowsePlaylistsTitle": "Playlists", + "DefaultBrowseMembersTitle": "Members" +} \ No newline at end of file From 104fcb6a76387f660dea35fa8bd865cf7fae5465 Mon Sep 17 00:00:00 2001 From: NotVinny Date: Mon, 11 Jul 2016 11:53:43 -0400 Subject: [PATCH 07/48] Created Video Menu I have changed the channel so that instead of jumping right to the Video Clip Object, you are sent to another Directory Object which will contain the Video Clip Object, as well as related videos, playlists the video is in, and porn stars in the video. I have not yet added the new features, just "laid the foundation" by creating the new menu and adding the Video Clip Object to it. Will be adding new functionality shortly. --- Contents/Code/PHCommon.py | 41 ++++++++++++++++++++++++++++----------- Contents/Strings/en.json | 1 + 2 files changed, 31 insertions(+), 11 deletions(-) diff --git a/Contents/Code/PHCommon.py b/Contents/Code/PHCommon.py index 8c2bcef..2b3fa5b 100644 --- a/Contents/Code/PHCommon.py +++ b/Contents/Code/PHCommon.py @@ -102,25 +102,21 @@ def ListVideos(title=L("DefaultListVideosTitle"), url=PH_VIDEO_URL, page=1, page videoTitle = video.xpath("./div/div/a/div[contains(@class, 'thumbnail-info-wrapper')]/span[@class='title']/a/text()")[0] thumbnail = video.xpath("./div/div/a/div[@class='img']/img/@data-mediumthumb")[0] - # Create a Video Clip Object for the video - vco = VideoClipObject( - url = videoURL, - title = videoTitle, - thumb = thumbnail - ) - # Get the duration of the video durationString = video.xpath("./div/div/a/div[@class='img']/div[@class='marker-overlays']/var[@class='duration']/text()")[0] # Split it into a list separated by colon durationArray = durationString.split(":") + # Set a default duration of 0 + duration = 0 + if (len(durationArray) == 2): # Dealing with MM:SS minutes = int(durationArray[0]) seconds = int(durationArray[1]) - vco.duration = (minutes*60 + seconds) * 1000 + duration = (minutes*60 + seconds) * 1000 elif (len(durationArray) == 3): # Dealing with HH:MM:SS... PornHub doesn't do this, but I'll keep it as a backup anyways @@ -128,13 +124,17 @@ def ListVideos(title=L("DefaultListVideosTitle"), url=PH_VIDEO_URL, page=1, page minutes = int(durationArray[1]) seconds = int(durationArray[2]) - vco.duration = (hours*3600 + minutes * 60 + seconds) * 1000 + duration = (hours*3600 + minutes * 60 + seconds) * 1000 else: # WTF pass - # Add the Video Clip Object to the Object Container - oc.add(vco) + # Add a Directory Object for the video to the Object Container + oc.add(DirectoryObject( + key = Callback(VideoMenu, url=videoURL, title=videoTitle, duration=duration), + title = videoTitle, + thumb = thumbnail + )) # There is a slight change that this will break... If the number of videos returned in total is divisible by MAX_VIDEOS_PER_PAGE with no remainder, there could possibly be no additional page after. This is unlikely though and I'm too lazy to handle it. if (len(videos) == int(pageLimit)): @@ -145,6 +145,25 @@ def ListVideos(title=L("DefaultListVideosTitle"), url=PH_VIDEO_URL, page=1, page return oc +@route(ROUTE_PREFIX + '/videos/menu') +def VideoMenu(url, title=L("DefaultVideoMenuTitle"), duration=0): + # Create the object to contain all of the videos options + oc = ObjectContainer(title2 = title) + + # Create the Video Clip Object + vco = URLService.MetadataObjectForURL(url) + + # As I am calling MetadataObjectForURL from the URL Service, it only returns the metadata, it doesn't contain the URL + vco.url = url + + if (int(duration) > 0): + vco.duration = int(duration) + + # Add the Video Clip Object + oc.add(vco) + + return oc + @route(ROUTE_PREFIX + '/search') def SearchVideos(query): diff --git a/Contents/Strings/en.json b/Contents/Strings/en.json index 1d6f69a..49057af 100644 --- a/Contents/Strings/en.json +++ b/Contents/Strings/en.json @@ -2,6 +2,7 @@ "ChannelTitle": "PornHub", "DefaultListVideosTitle": "Videos", "DefaultBrowseVideosTitle": "Browse Videos", + "DefaultVideoMenuTitle": "Video Menu", "DefaultBrowseCategoriesTitle": "Categories", "DefaultBrowseChannelsTitle": "Channels", "DefaultBrowsePornStarsTitle": "Porn Stars", From 2f20fbb1b43d8f9604efbde8cfd588c0b581ea00 Mon Sep 17 00:00:00 2001 From: NotVinny Date: Mon, 11 Jul 2016 17:30:18 -0400 Subject: [PATCH 08/48] Added porn stars to the video menu Porn stars from the video now appear in the menu. If only one porn star, then they are displayed immediately. If multiple, they are shown in a separate Directory Object --- Contents/Code/PHCommon.py | 62 ++++++++++++++++++++++++++++++++++++--- 1 file changed, 58 insertions(+), 4 deletions(-) diff --git a/Contents/Code/PHCommon.py b/Contents/Code/PHCommon.py index 2b3fa5b..0d25d99 100644 --- a/Contents/Code/PHCommon.py +++ b/Contents/Code/PHCommon.py @@ -2,11 +2,13 @@ import urlparse from collections import OrderedDict -ROUTE_PREFIX = '/video/pornhub' +ROUTE_PREFIX = '/video/pornhub' -BASE_URL = 'http://pornhub.com' -PH_VIDEO_URL = BASE_URL + '/video' -PH_VIDEO_SEARCH_URL = PH_VIDEO_URL + '/search?search=%s' +BASE_URL = 'http://pornhub.com' +PH_VIDEO_URL = BASE_URL + '/video' +PH_VIDEO_SEARCH_URL = PH_VIDEO_URL + '/search?search=%s' + +PH_PORNSTARS_HOVER_URL = BASE_URL + '/pornstar/hover?id=%s' MAX_VIDEOS_PER_PAGE = 32 MAX_VIDEOS_PER_SEARCH_PAGE = 20 @@ -162,6 +164,24 @@ def VideoMenu(url, title=L("DefaultVideoMenuTitle"), duration=0): # Add the Video Clip Object oc.add(vco) + # Get the HTML of the site + html = HTML.ElementFromURL(url) + + # Use xPath to extract a list of porn stars in the video + pornStars = html.xpath("//div[contains(@class, 'pornstarsWrapper')]/a[contains(@class, 'pstar-list-btn')]") + + # Check how any porn stars are returned. + # If just one, then display a Directory Object pointing to the porn star + if (len(pornStars) == 1): + oc.add(GenerateVideoPornStarDirectoryObject(pornStars[0])) + + # If more than one, create a Directory Object to another menu where all porn stars will be listed + elif (len(pornStars) > 1): + oc.add(DirectoryObject( + key = Callback(GenerateVideoPornStarMenu, url=url), + title = "Porn Stars" + )) + return oc @route(ROUTE_PREFIX + '/search') @@ -175,6 +195,40 @@ def SearchVideos(query): except: return ObjectContainer(header='Search Results', message="No search results found", no_cache=True) +@route(ROUTE_PREFIX + '/video/pornstars') +def GenerateVideoPornStarMenu(url, title="Porn Stars"): + # Create the object to contain all of the porn stars in the video + oc = ObjectContainer(title2 = title) + + # Get the HTML of the site + html = HTML.ElementFromURL(url) + + # Use xPath to extract a list of porn stars in the video + pornStars = html.xpath("//div[contains(@class, 'pornstarsWrapper')]/a[contains(@class, 'pstar-list-btn')]") + + if (len(pornStars) > 0): + for pornStar in pornStars: + oc.add(GenerateVideoPornStarDirectoryObject(pornStar)) + + return oc + +# This function takes markup of a porn star from a video page and creates a Directory Object for it +def GenerateVideoPornStarDirectoryObject(pornStarElement): + pornStarID = pornStarElement.xpath("./@data-id")[0] + pornStarURL = BASE_URL + pornStarElement.xpath("./@href")[0] + pornStarName = pornStarElement.xpath("./text()")[0] + + # Fetch the thumbnail + pornStarHoverHTML = HTML.ElementFromURL(PH_PORNSTARS_HOVER_URL % pornStarID) + + pornStarThumbnail = pornStarHoverHTML.xpath("//div[@id='psBoxPictureContainer']/img/@src")[0] + + return DirectoryObject( + key = Callback(BrowseVideos, url=pornStarURL, title=pornStarName), + title = pornStarName, + thumb = pornStarThumbnail + ) + def GenerateMenu(title, menuItems, no_cache=False): # Create the object to contain the menu items oc = ObjectContainer(title2=title, no_cache=no_cache) From e0a79fdc8d339db1757db0e51f77314324760ab5 Mon Sep 17 00:00:00 2001 From: NotVinny Date: Mon, 11 Jul 2016 18:16:07 -0400 Subject: [PATCH 09/48] Fixed porn star videos sorting problem Was previously displaying the wrong sorting options for a porn star's videos. This commit fixes that --- Contents/Code/PHCommon.py | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/Contents/Code/PHCommon.py b/Contents/Code/PHCommon.py index 0d25d99..5946024 100644 --- a/Contents/Code/PHCommon.py +++ b/Contents/Code/PHCommon.py @@ -40,12 +40,22 @@ ('Top Rated', {'o':'ra'}) ]) +PORNSTAR_VIDEOS_SORT_ORDERS = OrderedDict([ + ('Recently Featured', {}), + ('Most Viewed', {'o':'mv'}), + ('Top Rated', {'o':'tr'}), + ('Longest', {'o':'lg'}), + ('Newest', {'o':'cm'}) +]) + @route(ROUTE_PREFIX + '/videos/browse') def BrowseVideos(title=L("DefaultBrowseVideosTitle"), url = PH_VIDEO_URL, sortOrders = SORT_ORDERS): # If sorting channels, use a different dictionary of sort orders if ("/channels/" in url): sortOrders = CHANNEL_VIDEOS_SORT_ORDERS + elif ("/pornstar/" in url): + sortOrders = PORNSTAR_VIDEOS_SORT_ORDERS # Create a dictionary of menu items browseVideosMenuItems = OrderedDict() From b5ea6c6ed5eced960ae4d50a4bce3af135d3a7ea Mon Sep 17 00:00:00 2001 From: NotVinny Date: Mon, 11 Jul 2016 19:35:13 -0400 Subject: [PATCH 10/48] Added channels to the video menu The video's channel (if any) now shows in the video menu --- Contents/Code/PHCommon.py | 33 +++++++++++++++++++++++++++++++-- 1 file changed, 31 insertions(+), 2 deletions(-) diff --git a/Contents/Code/PHCommon.py b/Contents/Code/PHCommon.py index 5946024..f4ceeb0 100644 --- a/Contents/Code/PHCommon.py +++ b/Contents/Code/PHCommon.py @@ -8,7 +8,9 @@ PH_VIDEO_URL = BASE_URL + '/video' PH_VIDEO_SEARCH_URL = PH_VIDEO_URL + '/search?search=%s' -PH_PORNSTARS_HOVER_URL = BASE_URL + '/pornstar/hover?id=%s' +PH_PORNSTAR_HOVER_URL = BASE_URL + '/pornstar/hover?id=%s' +PH_CHANNEL_HOVER_URL = BASE_URL + '/channel/hover?id=%s' +PH_USER_HOVER_URL = BASE_URL + '/user/hover?id=%s' MAX_VIDEOS_PER_PAGE = 32 MAX_VIDEOS_PER_SEARCH_PAGE = 20 @@ -177,6 +179,33 @@ def VideoMenu(url, title=L("DefaultVideoMenuTitle"), duration=0): # Get the HTML of the site html = HTML.ElementFromURL(url) + uploader = html.xpath("//div[contains(@class, 'video-info-row')]/div[contains(@class, 'usernameWrap')]") + + if (len(uploader) > 0): + uploaderLink = uploader[0].xpath("./a") + + if (len(uploaderLink) > 0): + uploaderURL = BASE_URL + uploaderLink[0].xpath("./@href")[0] + uploaderName = uploaderLink[0].xpath("./text()")[0] + + uploaderType = uploader[0].xpath("./@data-type")[0] + + if (uploaderType == "channel"): + channelID = uploader[0].xpath("./@data-channelid")[0] + + # Fetch the thumbnail + channelHoverHTML = HTML.ElementFromURL(PH_CHANNEL_HOVER_URL % channelID) + + channelThumbnail = channelHoverHTML.xpath("//div[contains(@class, 'avatarIcon')]/a/img/@src")[0] + + oc.add(DirectoryObject( + key = Callback(BrowseVideos, url=uploaderURL + '/videos', title=uploaderName), + title = uploaderName, + thumb = channelThumbnail + )) + elif (uploaderType == "user"): + pass + # Use xPath to extract a list of porn stars in the video pornStars = html.xpath("//div[contains(@class, 'pornstarsWrapper')]/a[contains(@class, 'pstar-list-btn')]") @@ -229,7 +258,7 @@ def GenerateVideoPornStarDirectoryObject(pornStarElement): pornStarName = pornStarElement.xpath("./text()")[0] # Fetch the thumbnail - pornStarHoverHTML = HTML.ElementFromURL(PH_PORNSTARS_HOVER_URL % pornStarID) + pornStarHoverHTML = HTML.ElementFromURL(PH_PORNSTAR_HOVER_URL % pornStarID) pornStarThumbnail = pornStarHoverHTML.xpath("//div[@id='psBoxPictureContainer']/img/@src")[0] From 4065065cd100502f2a211f8df91f88eae2020495 Mon Sep 17 00:00:00 2001 From: NotVinny Date: Mon, 11 Jul 2016 19:45:53 -0400 Subject: [PATCH 11/48] Adding comments for last commit Forgot to comment the code --- Contents/Code/PHCommon.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/Contents/Code/PHCommon.py b/Contents/Code/PHCommon.py index f4ceeb0..b749fad 100644 --- a/Contents/Code/PHCommon.py +++ b/Contents/Code/PHCommon.py @@ -179,17 +179,22 @@ def VideoMenu(url, title=L("DefaultVideoMenuTitle"), duration=0): # Get the HTML of the site html = HTML.ElementFromURL(url) + # Use xPath to extract the uploader of the video uploader = html.xpath("//div[contains(@class, 'video-info-row')]/div[contains(@class, 'usernameWrap')]") + # Make sure one is returned if (len(uploader) > 0): + # Get the link within uploaderLink = uploader[0].xpath("./a") + # Make sure it exists if (len(uploaderLink) > 0): uploaderURL = BASE_URL + uploaderLink[0].xpath("./@href")[0] uploaderName = uploaderLink[0].xpath("./text()")[0] uploaderType = uploader[0].xpath("./@data-type")[0] + # Check to see if the video is listed under a channel or a user if (uploaderType == "channel"): channelID = uploader[0].xpath("./@data-channelid")[0] From 31364f4ae5a87ccbbea7f9835fa2c33ec1bf0d42 Mon Sep 17 00:00:00 2001 From: NotVinny Date: Mon, 11 Jul 2016 20:43:41 -0400 Subject: [PATCH 12/48] Added related videos to video menu You can now see related videos. --- Contents/Code/PHCommon.py | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/Contents/Code/PHCommon.py b/Contents/Code/PHCommon.py index b749fad..45d186c 100644 --- a/Contents/Code/PHCommon.py +++ b/Contents/Code/PHCommon.py @@ -226,6 +226,11 @@ def VideoMenu(url, title=L("DefaultVideoMenuTitle"), duration=0): title = "Porn Stars" )) + oc.add(DirectoryObject( + key = Callback(RelatedVideos, url=url), + title = "Related Videos" + )) + return oc @route(ROUTE_PREFIX + '/search') @@ -273,6 +278,31 @@ def GenerateVideoPornStarDirectoryObject(pornStarElement): thumb = pornStarThumbnail ) +@route(ROUTE_PREFIX + '/video/related') +def RelatedVideos(url, title="Related Videos"): + # Create the object to contain the related videos + oc = ObjectContainer(title2=title) + + # Get the HTML of the site + html = HTML.ElementFromURL(url) + + # Use xPath to extract the related videos + relatedVideos = html.xpath("//div[contains(@class, 'wrap')]/div[contains(@class, 'phimage')]") + + # Loop through related videos + for relatedVideo in relatedVideos: + relatedVideoTitle = relatedVideo.xpath("./a/div[contains(@class, 'thumbnail-info-wrapper')]/span[contains(@class,'title')]/a/text()")[0] + relatedVideoURL = BASE_URL + relatedVideo.xpath("./a/div[contains(@class, 'thumbnail-info-wrapper')]/span[contains(@class,'title')]/a/@href")[0] + relatedVideoThumb = relatedVideo.xpath("./a/div[contains(@class, 'img')]/img/@data-mediumthumb")[0] + + oc.add(DirectoryObject( + key = Callback(VideoMenu, url=relatedVideoURL, title=relatedVideoTitle), + title = relatedVideoTitle, + thumb = relatedVideoThumb + )) + + return oc + def GenerateMenu(title, menuItems, no_cache=False): # Create the object to contain the menu items oc = ObjectContainer(title2=title, no_cache=no_cache) From 506363d040df0fb86fd091a5970be63cf1a2342c Mon Sep 17 00:00:00 2001 From: NotVinny Date: Mon, 11 Jul 2016 22:31:13 -0400 Subject: [PATCH 13/48] Added playlists to video menu You can now see playlists that contain the video from the video menu. It's unfortunately limited to 4 playlists, but it's still helpful to traverse the channel. --- Contents/Code/PHCommon.py | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/Contents/Code/PHCommon.py b/Contents/Code/PHCommon.py index 45d186c..885246b 100644 --- a/Contents/Code/PHCommon.py +++ b/Contents/Code/PHCommon.py @@ -226,11 +226,21 @@ def VideoMenu(url, title=L("DefaultVideoMenuTitle"), duration=0): title = "Porn Stars" )) + # Add the Related Videos Directory Object oc.add(DirectoryObject( key = Callback(RelatedVideos, url=url), title = "Related Videos" )) + # Fetch playlists containing the video (if any) + playlists = html.xpath("//ul[contains(@class, 'playlist-listingSmall')]/li/div[contains(@class, 'wrap')]") + + if (len(playlists) > 0): + oc.add(DirectoryObject( + key = Callback(PlaylistsContainingVideo, url=url), + title = "Playlists Containing Video" + )) + return oc @route(ROUTE_PREFIX + '/search') @@ -303,6 +313,31 @@ def RelatedVideos(url, title="Related Videos"): return oc +@route(ROUTE_PREFIX + '/video/playlists') +def PlaylistsContainingVideo(url, title="Playlists Containing Video"): + # Create the object to contain the playlists + oc = ObjectContainer(title2=title) + + # Get the HTML of the site + html = HTML.ElementFromURL(url) + + # Use xPath to extract the playlists + playlists = html.xpath("//ul[contains(@class, 'playlist-listingSmall')]/li/div[contains(@class, 'wrap')]") + + # Loop through playlists + for playlist in playlists: + playlistTitle = playlist.xpath("./div[contains(@class, 'thumbnail-info-wrapper')]/span[contains(@class, 'title')]/a/text()")[0] + playlistURL = BASE_URL + playlist.xpath("./div[contains(@class, 'thumbnail-info-wrapper')]/span[contains(@class, 'title')]/a/@href")[0] + playlistThumb = playlist.xpath("./div[contains(@class, 'linkWrapper')]/img/@data-mediumthumb")[0] + + oc.add(DirectoryObject( + key = Callback(BrowseVideos, url=playlistURL, title=playlistTitle), + title = playlistTitle, + thumb = playlistThumb + )) + + return oc + def GenerateMenu(title, menuItems, no_cache=False): # Create the object to contain the menu items oc = ObjectContainer(title2=title, no_cache=no_cache) From cc67e797f3f6833e25fd4dde1094a1774f0abb67 Mon Sep 17 00:00:00 2001 From: NotVinny Date: Mon, 11 Jul 2016 22:51:40 -0400 Subject: [PATCH 14/48] Added thumbnails for 2 video menu items Added thumbnails for Related Videos and Playlists. Also includes a bit more error handling, and an extra comment for that sweet sweet readability. --- Contents/Code/PHCommon.py | 22 ++++++++++++++++------ 1 file changed, 16 insertions(+), 6 deletions(-) diff --git a/Contents/Code/PHCommon.py b/Contents/Code/PHCommon.py index 885246b..a3da73c 100644 --- a/Contents/Code/PHCommon.py +++ b/Contents/Code/PHCommon.py @@ -226,19 +226,29 @@ def VideoMenu(url, title=L("DefaultVideoMenuTitle"), duration=0): title = "Porn Stars" )) - # Add the Related Videos Directory Object - oc.add(DirectoryObject( - key = Callback(RelatedVideos, url=url), - title = "Related Videos" - )) + # Use xPath to extract the related videos + relatedVideos = html.xpath("//div[contains(@class, 'wrap')]/div[contains(@class, 'phimage')]") + + if (len(relatedVideos) > 0): + relatedVideosThumb = relatedVideos[0].xpath("./a/div[contains(@class, 'img')]/img/@data-mediumthumb")[0] + + # Add the Related Videos Directory Object + oc.add(DirectoryObject( + key = Callback(RelatedVideos, url=url), + title = "Related Videos", + thumb = relatedVideosThumb + )) # Fetch playlists containing the video (if any) playlists = html.xpath("//ul[contains(@class, 'playlist-listingSmall')]/li/div[contains(@class, 'wrap')]") if (len(playlists) > 0): + playlistsThumb = playlists[0].xpath("./div[contains(@class, 'linkWrapper')]/img/@data-mediumthumb")[0] + oc.add(DirectoryObject( key = Callback(PlaylistsContainingVideo, url=url), - title = "Playlists Containing Video" + title = "Playlists Containing Video", + thumb = playlistsThumb )) return oc From b7424110e9c2c6a84df14f2c3650cd308abac95e Mon Sep 17 00:00:00 2001 From: !Vinny Date: Sun, 24 Jul 2016 11:54:49 -0400 Subject: [PATCH 15/48] Create README.md --- README.md | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 0000000..140f98f --- /dev/null +++ b/README.md @@ -0,0 +1,19 @@ +# PornHub + +A Plex channel to view videos from the website PornHub (XXX). + +## Features + +* Browse videos with different sort options (most recent, most viewed, etc) +* Categories +* Channels +* Porn Stars +* Playlists +* Members +* Search + +## Installation + +This channel can be added through the Unsupported App Store v2 +([GitHub](https://github.com/ukdtom/UAS2Res)/[Plex Forum](https://forums.plex.tv/discussion/202282)). +It can also be installed manually, however I would recommend using the UAS2. From 4095916a2e19e2acac163780caaa3f843f75c6b7 Mon Sep 17 00:00:00 2001 From: NotVinny Date: Sun, 24 Jul 2016 22:51:14 -0400 Subject: [PATCH 16/48] Added duration to ServiceCode Duration was previously missing from both MetadataObjectForURL and MediaObjectsForURL. I am now obtaining a JSON object with more metadata, fixing this problem. xPath is still used as a backup. --- Contents/Services/URL/pornhub/ServiceCode.pys | 104 ++++++++++++------ 1 file changed, 70 insertions(+), 34 deletions(-) diff --git a/Contents/Services/URL/pornhub/ServiceCode.pys b/Contents/Services/URL/pornhub/ServiceCode.pys index ded182d..2218690 100644 --- a/Contents/Services/URL/pornhub/ServiceCode.pys +++ b/Contents/Services/URL/pornhub/ServiceCode.pys @@ -1,57 +1,93 @@ -from collections import OrderedDict +import json -PH_POTENTIAL_RESOLUTIONS = ["1080", "720", "480", "240", "180"] +PH_POTENTIAL_RESOLUTIONS = ["1080", "720", "480", "240", "180"] -PH_VIDEO_URL_REGEX = "var player_quality_%sp = '([^']+)'" +PH_VIDEO_URL_REGEX = "var player_quality_%sp = '([^']+)'" +PH_VIDEO_METADATA_JSON_REGEX = "var flashvars_\d+ = ({[\S\s]+?});" def NormalizeURL(url): return url def MetadataObjectForURL(url): - + + # Get the HTML string from the given URL html = HTML.ElementFromURL(url) + htmlString = HTML.StringFromElement(html) + + # Search for the video metadata JSON string + videoMetaDataString = Regex(PH_VIDEO_METADATA_JSON_REGEX).search(htmlString) + + if (videoMetaDataString): + # If found, convert the JSON string to an object + videoMetaData = json.loads(videoMetaDataString.group(1)) + + return VideoClipObject( + title = videoMetaData["video_title"], + summary = videoMetaData["video_title"], + thumb = Resource.ContentsOfURLWithFallback(videoMetaData["image_url"], fallback='icon-default.jpg'), + content_rating = 'X', + duration = int(videoMetaData["video_duration"]) * 1000 + ) + else: + # Fall back to old xPath method + title = html.xpath('//title/text()')[0].strip() + thumbnail = html.xpath('//meta[@property="og:image"]/@content')[0].strip() + #tags = html.xpath('//div[@id="media-tags-container"]/h4/a/text()') - title = html.xpath('//title/text()')[0].strip() - thumbnail = html.xpath('//meta[@property="og:image"]/@content')[0].strip() - #tags = html.xpath('//div[@id="media-tags-container"]/h4/a/text()') - - return VideoClipObject( - title = title, - summary = title, - thumb = Resource.ContentsOfURLWithFallback([thumbnail], fallback='icon-default.jpg'), - content_rating = 'X' - #tags = tags - ) + return VideoClipObject( + title = title, + summary = title, + thumb = Resource.ContentsOfURLWithFallback(thumbnail, fallback='icon-default.jpg'), + content_rating = 'X' + #tags = tags + ) @deferred def MediaObjectsForURL(url): - availableResolutions = OrderedDict([]) + # The list of MediaObjects to be returned mediaObjects = [] - data = HTTP.Request(url).content + # Get the HTML string from the given URL + html = HTML.ElementFromURL(url) + htmlString = HTML.StringFromElement(html) + + # Search for the video metadata JSON string + videoMetaDataString = Regex(PH_VIDEO_METADATA_JSON_REGEX).search(htmlString) + if videoMetaDataString: + # If found, convert the JSON string to an object + videoMetaData = json.loads(videoMetaDataString.group(1)) + + # Loop through all potential resolutions for resolution in PH_POTENTIAL_RESOLUTIONS: - video = Regex(PH_VIDEO_URL_REGEX % resolution).search(data) + # Search for the video URL string + video = Regex(PH_VIDEO_URL_REGEX % resolution).search(htmlString) + # If video with the given resolution is found, add it to the list if video: - availableResolutions[resolution] = video.group(1) - - for resolution, videoURL in availableResolutions.items(): - mediaObjects.append(MediaObject( - container = Container.MP4, - video_codec = VideoCodec.H264, - video_resolution = resolution, - audio_codec = AudioCodec.AAC, - audio_channels = 2, - optimized_for_streaming = True if Client.Product not in ['Plex Web'] else False, - parts = [ - PartObject( - key = videoURL - ) - ] - )) + + mediaObject = MediaObject( + container = Container.MP4, + video_codec = VideoCodec.H264, + video_resolution = resolution, + audio_codec = AudioCodec.AAC, + audio_channels = 2, + optimized_for_streaming = True if Client.Product not in ['Plex Web'] else False, + parts = [ + PartObject( + key = video.group(1) + ) + ] + ) + + # Check to see if extra metadata is available + if videoMetaDataString: + mediaObject.duration = int(videoMetaData["video_duration"]) * 1000 + + mediaObjects.append(mediaObject) + return mediaObjects From 31edc42f6c78ab71fef29ef88593fb4eb12358fe Mon Sep 17 00:00:00 2001 From: NotVinny Date: Mon, 25 Jul 2016 01:02:13 -0400 Subject: [PATCH 17/48] Added thumbnails Added photo album of thumbnails to video sub menu. --- Contents/Code/PHCommon.py | 55 ++++++++++++++++++++++++++++++++++++++- Contents/Code/__init__.py | 1 + 2 files changed, 55 insertions(+), 1 deletion(-) diff --git a/Contents/Code/PHCommon.py b/Contents/Code/PHCommon.py index a3da73c..51fac94 100644 --- a/Contents/Code/PHCommon.py +++ b/Contents/Code/PHCommon.py @@ -1,3 +1,4 @@ +import json import urllib import urlparse from collections import OrderedDict @@ -18,6 +19,8 @@ MAX_VIDEOS_PER_PORNSTAR_PAGE = 26 MAX_VIDEOS_PER_USER_PAGE = 48 +PH_VIDEO_METADATA_JSON_REGEX = "var flashvars_\d+ = ({[\S\s]+?});" + SORT_ORDERS = OrderedDict([ ('Most Recent', {'o':'mr'}), ('Most Viewed - All Time', {'o':'mv', 't':'a'}), @@ -177,7 +180,22 @@ def VideoMenu(url, title=L("DefaultVideoMenuTitle"), duration=0): oc.add(vco) # Get the HTML of the site - html = HTML.ElementFromURL(url) + html = HTML.ElementFromURL(url) + htmlString = HTML.StringFromElement(html) + + # Search for the video metadata JSON string + videoMetaDataString = Regex(PH_VIDEO_METADATA_JSON_REGEX).search(htmlString) + + if (videoMetaDataString): + # If found, convert the JSON string to an object + videoMetaData = json.loads(videoMetaDataString.group(1)) + + if (videoMetaData["thumbs"] and videoMetaData["thumbs"]["urlPattern"]): + oc.add(PhotoAlbumObject( + key = Callback(VideoThumbnails, url=url), + rating_key = url + " - Thumbnails", + title = "Thumbnails" + )) # Use xPath to extract the uploader of the video uploader = html.xpath("//div[contains(@class, 'video-info-row')]/div[contains(@class, 'usernameWrap')]") @@ -298,6 +316,41 @@ def GenerateVideoPornStarDirectoryObject(pornStarElement): thumb = pornStarThumbnail ) +@route(ROUTE_PREFIX + '/video/thumbnails') +def VideoThumbnails(url, title="Thumbnails"): + # Create the object to contain the thumbnails + oc = ObjectContainer(title2=title) + + # Get the HTML of the site + html = HTML.ElementFromURL(url) + htmlString = HTML.StringFromElement(html) + + # Search for the video metadata JSON string + videoMetaDataString = Regex(PH_VIDEO_METADATA_JSON_REGEX).search(htmlString) + + if (videoMetaDataString): + # If found, convert the JSON string to an object + videoMetaData = json.loads(videoMetaDataString.group(1)) + + if (videoMetaData["thumbs"] and videoMetaData["thumbs"]["urlPattern"] != False): + + videoThumbnailsCount = Regex("/S{(\d+)}.jpg").search(videoMetaData["thumbs"]["urlPattern"]) + + if (videoThumbnailsCount): + videoThumbnailsCountString = videoThumbnailsCount.group(1) + + for i in range(int(videoThumbnailsCountString) + 1): + thumbnailURL = videoMetaData["thumbs"]["urlPattern"].replace("/S{" + videoThumbnailsCountString + "}.jpg", "/S" + str(i) + ".jpg") + + oc.add(PhotoObject( + key = thumbnailURL, + rating_key = thumbnailURL, + title = str(i), + thumb = thumbnailURL + )) + + return oc + @route(ROUTE_PREFIX + '/video/related') def RelatedVideos(url, title="Related Videos"): # Create the object to contain the related videos diff --git a/Contents/Code/__init__.py b/Contents/Code/__init__.py index 2462441..d3374d4 100644 --- a/Contents/Code/__init__.py +++ b/Contents/Code/__init__.py @@ -18,6 +18,7 @@ def Start(): # Set the defaults of Directory Objects DirectoryObject.thumb = R(ICON) + PhotoAlbumObject.thumb = R(ICON) # Set the default language Locale.DefaultLocale = "en" From 912bdb5e3f085c1278c4463ab108c3ca4dcb37f6 Mon Sep 17 00:00:00 2001 From: NotVinny Date: Mon, 25 Jul 2016 02:55:13 -0400 Subject: [PATCH 18/48] Added actions Added a menu that shows time stamps for actions (e.g. different positions). I made it using recursive DirectoryObjects because I didn't really know how else to display information like that. So you can technically click through that menu infinitely and never get anywhere, but hopefully after a few clicks you will realize what is happening and start backing out. If Plex was able to start a video from a certain time that would be sweet, because it would be trivial to modify this to add a VideoClipObject with a time offset if that existed. If it does, I don't know how to do it. --- Contents/Code/PHCommon.py | 65 ++++++++++++++++++++++++++++++++++----- 1 file changed, 58 insertions(+), 7 deletions(-) diff --git a/Contents/Code/PHCommon.py b/Contents/Code/PHCommon.py index 51fac94..39a4f0b 100644 --- a/Contents/Code/PHCommon.py +++ b/Contents/Code/PHCommon.py @@ -1,4 +1,5 @@ import json +import time import urllib import urlparse from collections import OrderedDict @@ -167,6 +168,9 @@ def VideoMenu(url, title=L("DefaultVideoMenuTitle"), duration=0): # Create the object to contain all of the videos options oc = ObjectContainer(title2 = title) + # Create an empty object for video metadata + videoMetaData = {} + # Create the Video Clip Object vco = URLService.MetadataObjectForURL(url) @@ -189,13 +193,13 @@ def VideoMenu(url, title=L("DefaultVideoMenuTitle"), duration=0): if (videoMetaDataString): # If found, convert the JSON string to an object videoMetaData = json.loads(videoMetaDataString.group(1)) - - if (videoMetaData["thumbs"] and videoMetaData["thumbs"]["urlPattern"]): - oc.add(PhotoAlbumObject( - key = Callback(VideoThumbnails, url=url), - rating_key = url + " - Thumbnails", - title = "Thumbnails" - )) + + if (videoMetaData["thumbs"] and videoMetaData["thumbs"]["urlPattern"]): + oc.add(PhotoAlbumObject( + key = Callback(VideoThumbnails, url=url), + rating_key = url + " - Thumbnails", + title = "Thumbnails" + )) # Use xPath to extract the uploader of the video uploader = html.xpath("//div[contains(@class, 'video-info-row')]/div[contains(@class, 'usernameWrap')]") @@ -269,6 +273,12 @@ def VideoMenu(url, title=L("DefaultVideoMenuTitle"), duration=0): thumb = playlistsThumb )) + if (videoMetaData["actionTags"]): + oc.add(DirectoryObject( + key = Callback(VideoActions, url=url), + title = "Action" + )) + return oc @route(ROUTE_PREFIX + '/search') @@ -401,6 +411,47 @@ def PlaylistsContainingVideo(url, title="Playlists Containing Video"): return oc +@route(ROUTE_PREFIX + '/video/actions') +def VideoActions(url, title="Actions", header=None, message=None, replace_parent=None): + # Create the object to contain the actions + oc = ObjectContainer(title2=title) + + if (header): + oc.header = header + if (message): + oc.message = message + if (replace_parent): + oc.replace_parent = replace_parent + + # Get the HTML of the site + html = HTML.ElementFromURL(url) + htmlString = HTML.StringFromElement(html) + + # Search for the video metadata JSON string + videoMetaDataString = Regex(PH_VIDEO_METADATA_JSON_REGEX).search(htmlString) + + if (videoMetaDataString): + # If found, convert the JSON string to an object + videoMetaData = json.loads(videoMetaDataString.group(1)) + + if (videoMetaData["actionTags"]): + actions = videoMetaData["actionTags"].split(",") + + for action in actions: + actionSegments = action.split(":") + + actionTimestamp = time.strftime('%H:%M:%S', time.gmtime(int(actionSegments[1]))) + actionTitle = actionSegments[0] + + Log("Action: " + actionTimestamp + " - " + actionTitle) + + oc.add(DirectoryObject( + key = Callback(VideoActions, url=url, title=title, header=actionTitle, message=actionTitle + " starts at " + actionTimestamp, replace_parent=True), + title = actionTimestamp + ": " + actionTitle + )) + + return oc + def GenerateMenu(title, menuItems, no_cache=False): # Create the object to contain the menu items oc = ObjectContainer(title2=title, no_cache=no_cache) From 9a112f2c0d59089956c383addda7a600b0ecf58f Mon Sep 17 00:00:00 2001 From: NotVinny Date: Mon, 25 Jul 2016 03:32:09 -0400 Subject: [PATCH 19/48] Fixed some pagination issues Porn Stars menus were missing the next page button. Browse All Videos and Category pages were missing the next page button from page 2 onward. Pagination seems to be working for everything now --- Contents/Code/PHCommon.py | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/Contents/Code/PHCommon.py b/Contents/Code/PHCommon.py index 39a4f0b..29dd0ad 100644 --- a/Contents/Code/PHCommon.py +++ b/Contents/Code/PHCommon.py @@ -14,10 +14,11 @@ PH_CHANNEL_HOVER_URL = BASE_URL + '/channel/hover?id=%s' PH_USER_HOVER_URL = BASE_URL + '/user/hover?id=%s' -MAX_VIDEOS_PER_PAGE = 32 +MAX_VIDEOS_PER_PAGE = 44 +MAX_VIDEOS_PER_PAGE_PAGE_ONE = 32 MAX_VIDEOS_PER_SEARCH_PAGE = 20 MAX_VIDEOS_PER_CHANNEL_PAGE = 36 -MAX_VIDEOS_PER_PORNSTAR_PAGE = 26 +MAX_VIDEOS_PER_PORNSTAR_PAGE = 36 MAX_VIDEOS_PER_USER_PAGE = 48 PH_VIDEO_METADATA_JSON_REGEX = "var flashvars_\d+ = ({[\S\s]+?});" @@ -75,7 +76,7 @@ def BrowseVideos(title=L("DefaultBrowseVideosTitle"), url = PH_VIDEO_URL, sortOr return GenerateMenu(title, browseVideosMenuItems) @route(ROUTE_PREFIX + '/videos/list') -def ListVideos(title=L("DefaultListVideosTitle"), url=PH_VIDEO_URL, page=1, pageLimit = MAX_VIDEOS_PER_PAGE): +def ListVideos(title=L("DefaultListVideosTitle"), url=PH_VIDEO_URL, page=1, pageLimit = MAX_VIDEOS_PER_PAGE_PAGE_ONE): # Create the object to contain all of the videos oc = ObjectContainer(title2 = title) @@ -93,6 +94,9 @@ def ListVideos(title=L("DefaultListVideosTitle"), url=PH_VIDEO_URL, page=1, page pageLimit = MAX_VIDEOS_PER_PORNSTAR_PAGE elif ("/users/" in url): pageLimit = MAX_VIDEOS_PER_USER_PAGE + elif ("/video" in url and page > 1): + # In the Browse All Videos and Categories menus, they display MAX_VIDEOS_PER_PAGE_PAGE_ONE on page one, and MAX_VIDEOS_PER_PAGE from page two onward + pageLimit = MAX_VIDEOS_PER_PAGE # Get the HTML of the site html = HTML.ElementFromURL(url) From 3605c612381e26a634962ff78ce181c2f1eb6f46 Mon Sep 17 00:00:00 2001 From: NotVinny Date: Mon, 25 Jul 2016 04:14:52 -0400 Subject: [PATCH 20/48] Added duration in one more spot Added duration to the directory objects that point to the video sub menu. --- Contents/Code/PHCommon.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Contents/Code/PHCommon.py b/Contents/Code/PHCommon.py index 29dd0ad..b51bdf6 100644 --- a/Contents/Code/PHCommon.py +++ b/Contents/Code/PHCommon.py @@ -155,7 +155,8 @@ def ListVideos(title=L("DefaultListVideosTitle"), url=PH_VIDEO_URL, page=1, page oc.add(DirectoryObject( key = Callback(VideoMenu, url=videoURL, title=videoTitle, duration=duration), title = videoTitle, - thumb = thumbnail + thumb = thumbnail, + duration = duration )) # There is a slight change that this will break... If the number of videos returned in total is divisible by MAX_VIDEOS_PER_PAGE with no remainder, there could possibly be no additional page after. This is unlikely though and I'm too lazy to handle it. From 5be7f47e1558b2ea1fff7a84001fe4f17b475ff4 Mon Sep 17 00:00:00 2001 From: NotVinny Date: Mon, 25 Jul 2016 05:00:39 -0400 Subject: [PATCH 21/48] Cleaned up video menu Shortened the titles in the video menu, and lengthened the summary --- Contents/Code/PHCommon.py | 27 +++++++++++++++++++-------- 1 file changed, 19 insertions(+), 8 deletions(-) diff --git a/Contents/Code/PHCommon.py b/Contents/Code/PHCommon.py index b51bdf6..dd3df6b 100644 --- a/Contents/Code/PHCommon.py +++ b/Contents/Code/PHCommon.py @@ -182,6 +182,9 @@ def VideoMenu(url, title=L("DefaultVideoMenuTitle"), duration=0): # As I am calling MetadataObjectForURL from the URL Service, it only returns the metadata, it doesn't contain the URL vco.url = url + # Overide the title + vco.title = "Play Video" + if (int(duration) > 0): vco.duration = int(duration) @@ -203,7 +206,8 @@ def VideoMenu(url, title=L("DefaultVideoMenuTitle"), duration=0): oc.add(PhotoAlbumObject( key = Callback(VideoThumbnails, url=url), rating_key = url + " - Thumbnails", - title = "Thumbnails" + title = "Thumbnails", + summary = "Tiled thumbnails from this video" )) # Use xPath to extract the uploader of the video @@ -233,6 +237,7 @@ def VideoMenu(url, title=L("DefaultVideoMenuTitle"), duration=0): oc.add(DirectoryObject( key = Callback(BrowseVideos, url=uploaderURL + '/videos', title=uploaderName), title = uploaderName, + summary = "Channel this video appears in", thumb = channelThumbnail )) elif (uploaderType == "user"): @@ -250,7 +255,8 @@ def VideoMenu(url, title=L("DefaultVideoMenuTitle"), duration=0): elif (len(pornStars) > 1): oc.add(DirectoryObject( key = Callback(GenerateVideoPornStarMenu, url=url), - title = "Porn Stars" + title = "Porn Stars", + summary = "Porn Stars that appear in this video" )) # Use xPath to extract the related videos @@ -263,6 +269,7 @@ def VideoMenu(url, title=L("DefaultVideoMenuTitle"), duration=0): oc.add(DirectoryObject( key = Callback(RelatedVideos, url=url), title = "Related Videos", + summary = "Videos related to this video", thumb = relatedVideosThumb )) @@ -274,14 +281,16 @@ def VideoMenu(url, title=L("DefaultVideoMenuTitle"), duration=0): oc.add(DirectoryObject( key = Callback(PlaylistsContainingVideo, url=url), - title = "Playlists Containing Video", + title = "Playlists", + summary = "Playlists that contain this video", thumb = playlistsThumb )) if (videoMetaData["actionTags"]): oc.add(DirectoryObject( key = Callback(VideoActions, url=url), - title = "Action" + title = "Action", + summary = "Timestamps of when actions (e.g. different positions) happen in this video" )) return oc @@ -328,6 +337,7 @@ def GenerateVideoPornStarDirectoryObject(pornStarElement): return DirectoryObject( key = Callback(BrowseVideos, url=pornStarURL, title=pornStarName), title = pornStarName, + summary = "Porn Star appearing in this video", thumb = pornStarThumbnail ) @@ -386,6 +396,7 @@ def RelatedVideos(url, title="Related Videos"): oc.add(DirectoryObject( key = Callback(VideoMenu, url=relatedVideoURL, title=relatedVideoTitle), title = relatedVideoTitle, + summary = relatedVideoTitle, thumb = relatedVideoThumb )) @@ -447,12 +458,12 @@ def VideoActions(url, title="Actions", header=None, message=None, replace_parent actionTimestamp = time.strftime('%H:%M:%S', time.gmtime(int(actionSegments[1]))) actionTitle = actionSegments[0] - - Log("Action: " + actionTimestamp + " - " + actionTitle) + actionSummary = actionTitle + " starts at " + actionTimestamp oc.add(DirectoryObject( - key = Callback(VideoActions, url=url, title=title, header=actionTitle, message=actionTitle + " starts at " + actionTimestamp, replace_parent=True), - title = actionTimestamp + ": " + actionTitle + key = Callback(VideoActions, url=url, title=title, header=actionTitle, message=actionSummary, replace_parent=True), + title = actionTimestamp + ": " + actionTitle, + summary = actionSummary )) return oc From 518feafbf8ecd17855ab4e232152d398aed5f583 Mon Sep 17 00:00:00 2001 From: NotVinny Date: Mon, 25 Jul 2016 05:35:15 -0400 Subject: [PATCH 22/48] Added video sub menu preferences I've thrown a lot of extra options into the video menu lately. In case anyone wants to tone that down, you can now filter them out using Preferences. --- Contents/Code/PHCommon.py | 157 ++++++++++++++++++++----------------- Contents/DefaultPrefs.json | 36 +++++++++ 2 files changed, 121 insertions(+), 72 deletions(-) diff --git a/Contents/Code/PHCommon.py b/Contents/Code/PHCommon.py index dd3df6b..bb5222f 100644 --- a/Contents/Code/PHCommon.py +++ b/Contents/Code/PHCommon.py @@ -171,7 +171,7 @@ def ListVideos(title=L("DefaultListVideosTitle"), url=PH_VIDEO_URL, page=1, page @route(ROUTE_PREFIX + '/videos/menu') def VideoMenu(url, title=L("DefaultVideoMenuTitle"), duration=0): # Create the object to contain all of the videos options - oc = ObjectContainer(title2 = title) + oc = ObjectContainer(title2 = title, no_cache=True) # Create an empty object for video metadata videoMetaData = {} @@ -201,8 +201,9 @@ def VideoMenu(url, title=L("DefaultVideoMenuTitle"), duration=0): if (videoMetaDataString): # If found, convert the JSON string to an object videoMetaData = json.loads(videoMetaDataString.group(1)) - - if (videoMetaData["thumbs"] and videoMetaData["thumbs"]["urlPattern"]): + + # Check to see if Thumbnails are enabled in the video sub menu in the Preferences, and also if the Thumbnail metadata exists + if (Prefs["videoMenuShowThumbnails"] and videoMetaData["thumbs"] and videoMetaData["thumbs"]["urlPattern"]): oc.add(PhotoAlbumObject( key = Callback(VideoThumbnails, url=url), rating_key = url + " - Thumbnails", @@ -210,88 +211,100 @@ def VideoMenu(url, title=L("DefaultVideoMenuTitle"), duration=0): summary = "Tiled thumbnails from this video" )) - # Use xPath to extract the uploader of the video - uploader = html.xpath("//div[contains(@class, 'video-info-row')]/div[contains(@class, 'usernameWrap')]") - - # Make sure one is returned - if (len(uploader) > 0): - # Get the link within - uploaderLink = uploader[0].xpath("./a") + # Check to see if Uploaders are enabled in the video sub menu in the Preferences + if (Prefs["videoMenuShowUploader"]): + # Use xPath to extract the uploader of the video + uploader = html.xpath("//div[contains(@class, 'video-info-row')]/div[contains(@class, 'usernameWrap')]") - # Make sure it exists - if (len(uploaderLink) > 0): - uploaderURL = BASE_URL + uploaderLink[0].xpath("./@href")[0] - uploaderName = uploaderLink[0].xpath("./text()")[0] - - uploaderType = uploader[0].xpath("./@data-type")[0] + # Make sure one is returned + if (len(uploader) > 0): + # Get the link within + uploaderLink = uploader[0].xpath("./a") - # Check to see if the video is listed under a channel or a user - if (uploaderType == "channel"): - channelID = uploader[0].xpath("./@data-channelid")[0] + # Make sure it exists + if (len(uploaderLink) > 0): + uploaderURL = BASE_URL + uploaderLink[0].xpath("./@href")[0] + uploaderName = uploaderLink[0].xpath("./text()")[0] - # Fetch the thumbnail - channelHoverHTML = HTML.ElementFromURL(PH_CHANNEL_HOVER_URL % channelID) + uploaderType = uploader[0].xpath("./@data-type")[0] - channelThumbnail = channelHoverHTML.xpath("//div[contains(@class, 'avatarIcon')]/a/img/@src")[0] - - oc.add(DirectoryObject( - key = Callback(BrowseVideos, url=uploaderURL + '/videos', title=uploaderName), - title = uploaderName, - summary = "Channel this video appears in", - thumb = channelThumbnail - )) - elif (uploaderType == "user"): - pass - - # Use xPath to extract a list of porn stars in the video - pornStars = html.xpath("//div[contains(@class, 'pornstarsWrapper')]/a[contains(@class, 'pstar-list-btn')]") + # Check to see if the video is listed under a channel or a user + if (uploaderType == "channel"): + channelID = uploader[0].xpath("./@data-channelid")[0] + + # Fetch the thumbnail + channelHoverHTML = HTML.ElementFromURL(PH_CHANNEL_HOVER_URL % channelID) + + channelThumbnail = channelHoverHTML.xpath("//div[contains(@class, 'avatarIcon')]/a/img/@src")[0] + + oc.add(DirectoryObject( + key = Callback(BrowseVideos, url=uploaderURL + '/videos', title=uploaderName), + title = uploaderName, + summary = "Channel this video appears in", + thumb = channelThumbnail + )) + elif (uploaderType == "user"): + pass - # Check how any porn stars are returned. - # If just one, then display a Directory Object pointing to the porn star - if (len(pornStars) == 1): - oc.add(GenerateVideoPornStarDirectoryObject(pornStars[0])) + # Check to see if Porn Stars are enabled in the video sub menu in the Preferences + if (Prefs["videoMenuShowPornStars"]): + # Use xPath to extract a list of porn stars in the video + pornStars = html.xpath("//div[contains(@class, 'pornstarsWrapper')]/a[contains(@class, 'pstar-list-btn')]") - # If more than one, create a Directory Object to another menu where all porn stars will be listed - elif (len(pornStars) > 1): - oc.add(DirectoryObject( - key = Callback(GenerateVideoPornStarMenu, url=url), - title = "Porn Stars", - summary = "Porn Stars that appear in this video" - )) + # Check how any porn stars are returned. + # If just one, then display a Directory Object pointing to the porn star + if (len(pornStars) == 1): + oc.add(GenerateVideoPornStarDirectoryObject(pornStars[0])) + + # If more than one, create a Directory Object to another menu where all porn stars will be listed + elif (len(pornStars) > 1): + oc.add(DirectoryObject( + key = Callback(GenerateVideoPornStarMenu, url=url), + title = "Porn Stars", + summary = "Porn Stars that appear in this video" + )) - # Use xPath to extract the related videos - relatedVideos = html.xpath("//div[contains(@class, 'wrap')]/div[contains(@class, 'phimage')]") - if (len(relatedVideos) > 0): - relatedVideosThumb = relatedVideos[0].xpath("./a/div[contains(@class, 'img')]/img/@data-mediumthumb")[0] + # Check to see if Related Videos are enabled in the video sub menu in the Preferences + if (Prefs["videoMenuShowRelatedVideos"]): + # Use xPath to extract the related videos + relatedVideos = html.xpath("//div[contains(@class, 'wrap')]/div[contains(@class, 'phimage')]") - # Add the Related Videos Directory Object - oc.add(DirectoryObject( - key = Callback(RelatedVideos, url=url), - title = "Related Videos", - summary = "Videos related to this video", - thumb = relatedVideosThumb - )) + if (len(relatedVideos) > 0): + relatedVideosThumb = relatedVideos[0].xpath("./a/div[contains(@class, 'img')]/img/@data-mediumthumb")[0] + + # Add the Related Videos Directory Object + oc.add(DirectoryObject( + key = Callback(RelatedVideos, url=url), + title = "Related Videos", + summary = "Videos related to this video", + thumb = relatedVideosThumb + )) - # Fetch playlists containing the video (if any) - playlists = html.xpath("//ul[contains(@class, 'playlist-listingSmall')]/li/div[contains(@class, 'wrap')]") - if (len(playlists) > 0): - playlistsThumb = playlists[0].xpath("./div[contains(@class, 'linkWrapper')]/img/@data-mediumthumb")[0] + # Check to see if Playlists are enabled in the video sub menu in the Preferences + if (Prefs["videoMenuShowPlaylists"]): + # Fetch playlists containing the video (if any) + playlists = html.xpath("//ul[contains(@class, 'playlist-listingSmall')]/li/div[contains(@class, 'wrap')]") - oc.add(DirectoryObject( - key = Callback(PlaylistsContainingVideo, url=url), - title = "Playlists", - summary = "Playlists that contain this video", - thumb = playlistsThumb - )) + if (len(playlists) > 0): + playlistsThumb = playlists[0].xpath("./div[contains(@class, 'linkWrapper')]/img/@data-mediumthumb")[0] + + oc.add(DirectoryObject( + key = Callback(PlaylistsContainingVideo, url=url), + title = "Playlists", + summary = "Playlists that contain this video", + thumb = playlistsThumb + )) - if (videoMetaData["actionTags"]): - oc.add(DirectoryObject( - key = Callback(VideoActions, url=url), - title = "Action", - summary = "Timestamps of when actions (e.g. different positions) happen in this video" - )) + # Check to see if Action is enabled in the video sub menu in the Preferences + if (Prefs["videoMenuShowAction"]): + if (videoMetaData["actionTags"]): + oc.add(DirectoryObject( + key = Callback(VideoActions, url=url), + title = "Action", + summary = "Timestamps of when actions (e.g. different positions) happen in this video" + )) return oc diff --git a/Contents/DefaultPrefs.json b/Contents/DefaultPrefs.json index e0ac4e1..1d4c000 100644 --- a/Contents/DefaultPrefs.json +++ b/Contents/DefaultPrefs.json @@ -12,5 +12,41 @@ "type": "enum", "values": ["default.png", "stealth.png"], "default": "default.png" + }, + { + "id": "videoMenuShowThumbnails", + "label": "Video Menu - Show Thumbnails", + "type": "bool", + "default": "true", + }, + { + "id": "videoMenuShowUploader", + "label": "Video Menu - Show Uploader", + "type": "bool", + "default": "true", + }, + { + "id": "videoMenuShowPornStars", + "label": "Video Menu - Show Porn Stars", + "type": "bool", + "default": "true", + }, + { + "id": "videoMenuShowRelatedVideos", + "label": "Video Menu - Show Related Videos", + "type": "bool", + "default": "true", + }, + { + "id": "videoMenuShowPlaylists", + "label": "Video Menu - Show Playlists", + "type": "bool", + "default": "true", + }, + { + "id": "videoMenuShowAction", + "label": "Video Menu - Show Action", + "type": "bool", + "default": "true", } ] \ No newline at end of file From 72d71fc3d6f4a314ff54af424cd4259ef1088ab0 Mon Sep 17 00:00:00 2001 From: NotVinny Date: Mon, 25 Jul 2016 14:54:08 -0400 Subject: [PATCH 23/48] Added Member Channel options Added the ability to view Channels that Members have created, and also Channels that Members are subscribed to. --- Contents/Code/PHMembers.py | 71 ++++++++++++++++++++++++++++++++++---- 1 file changed, 64 insertions(+), 7 deletions(-) diff --git a/Contents/Code/PHMembers.py b/Contents/Code/PHMembers.py index 97d07b8..76f0a12 100644 --- a/Contents/Code/PHMembers.py +++ b/Contents/Code/PHMembers.py @@ -3,7 +3,8 @@ PH_DISCOVER_MEMBERS_URL = BASE_URL + '/user/discover' PH_SEARCH_MEMBERS_URL = BASE_URL + '/user/search?username=%s' -PH_MAX_MEMBERS_PER_PAGE = 42 +PH_MAX_MEMBERS_PER_PAGE = 42 +PH_MAX_MEMBER_CHANNELS_PER_PAGE = 8 @route(ROUTE_PREFIX + '/members') def BrowseMembers(title=L("DefaultBrowseMembersTitle"), url=PH_DISCOVER_MEMBERS_URL): @@ -80,11 +81,67 @@ def MemberMenu(title, url, username): # Create a dictionary of menu items memberMenuItems = OrderedDict([ - ('Public Videos', {'function':ListVideos, 'functionArgs':{'title':username + "'s Public Videos", 'url':url + '/videos/public'}}), - ('Favorite Videos', {'function':ListVideos, 'functionArgs':{'title':username + "'s Favorite Videos", 'url':url + '/videos/favorites'}}), - ('Watched Videos', {'function':ListVideos, 'functionArgs':{'title':username + "'s Watched Videos", 'url':url + '/videos/recent'}}), - ('Public Playlists', {'function':ListPlaylists, 'functionArgs':{'title':username + "'s Public Playlists", 'url':url + '/playlists/public'}}), - ('Favorite Playlists', {'function':ListPlaylists, 'functionArgs':{'title':username + "'s Favorite Playlists", 'url':url + '/playlists/favorites'}}), + ('Channels', {'function':MemberChannels, 'functionArgs':{'title':username + "'s Channels", 'url':url + '/channels'}}), + ('Subscribed Channels', {'function':MemberSubscribedChannels, 'functionArgs':{'title':username + "'s Subscribed Channels", 'url':url + '/channel_subscriptions'}}), + ('Public Videos', {'function':ListVideos, 'functionArgs':{'title':username + "'s Public Videos", 'url':url + '/videos/public'}}), + ('Favorite Videos', {'function':ListVideos, 'functionArgs':{'title':username + "'s Favorite Videos", 'url':url + '/videos/favorites'}}), + ('Watched Videos', {'function':ListVideos, 'functionArgs':{'title':username + "'s Watched Videos", 'url':url + '/videos/recent'}}), + ('Public Playlists', {'function':ListPlaylists, 'functionArgs':{'title':username + "'s Public Playlists", 'url':url + '/playlists/public'}}), + ('Favorite Playlists', {'function':ListPlaylists, 'functionArgs':{'title':username + "'s Favorite Playlists", 'url':url + '/playlists/favorites'}}) ]) - return GenerateMenu(title, memberMenuItems) \ No newline at end of file + return GenerateMenu(title, memberMenuItems) + +@route(ROUTE_PREFIX + '/members/channels') +def MemberChannels(url, title="Member Channels", page=1): + + # Create a dictionary of menu items + memberChannelMenuItems = OrderedDict() + + # Add the page number into the query string + if (int(page) != 1): + url = addURLParameters(url, {'page':str(page)}) + + # Get the HTML of the page + html = HTML.ElementFromURL(url) + + # Use xPath to extract a list of channels + channels = html.xpath("//div[contains(@class, 'sectionWrapper')]/div[contains(@class, 'topheader')]") + + for channel in channels: + # Use xPath to extract channel details + channelTitle = channel.xpath("./div[contains(@class, 'floatLeft')]/div[contains(@class, 'title')]/a/text()")[0] + channelURL = BASE_URL + channel.xpath("./div[contains(@class, 'floatLeft')]/div[contains(@class, 'title')]/a/@href")[0] + "/videos" + channelThumb = channel.xpath("./div[contains(@class, 'avatarWrapper')]/a/img/@src")[0] + + # Add a menu item for the member + memberChannelMenuItems[channelTitle] = {'function':BrowseVideos, 'functionArgs':{'url':channelURL, 'title':channelTitle}, 'directoryObjectArgs':{'thumb':channelThumb}} + + # There is a slight change that this will break... If the number of members returned in total is divisible by PH_MAX_MEMBER_CHANNELS_PER_PAGE with no remainder, there could possibly be no additional page after. This is unlikely though and I'm too lazy to handle it. + if (len(channels) == PH_MAX_MEMBER_CHANNELS_PER_PAGE): + memberChannelMenuItems['Next Page'] = {'function':MemberChannels, 'functionArgs':{'title':title, 'url':url, 'page':int(page)+1}, 'nextPage':True} + + return GenerateMenu(title, memberChannelMenuItems) + +@route(ROUTE_PREFIX + '/members/channels/subscribed') +def MemberSubscribedChannels(url, title="Member's Subscribed Channels"): + + # Create a dictionary of menu items + memberSubscribedChannelMenuItems = OrderedDict() + + # Get the HTML of the page + html = HTML.ElementFromURL(url) + + # Use xPath to extract a list of subscribed channels + channels = html.xpath("//div[contains(@class, 'channelSubWidgetContainer')]/ul/li[contains(@class, 'channelSubChannelWig')]") + + for channel in channels: + # Use xPath to extract channel details + channelTitle = channel.xpath("./div/div[contains(@class, 'wtitle')]/a/text()")[0] + channelURL = BASE_URL + channel.xpath("./div/div[contains(@class, 'wtitle')]/a/@href")[0] + "/videos" + channelThumb = channel.xpath("./div/div/a/img/@src")[0] + + # Add a menu item for the member + memberSubscribedChannelMenuItems[channelTitle] = {'function':BrowseVideos, 'functionArgs':{'url':channelURL, 'title':channelTitle}, 'directoryObjectArgs':{'thumb':channelThumb}} + + return GenerateMenu(title, memberSubscribedChannelMenuItems) \ No newline at end of file From cd756d4a28df860afae868ee17bdc7730c894712 Mon Sep 17 00:00:00 2001 From: NotVinny Date: Mon, 25 Jul 2016 17:34:27 -0400 Subject: [PATCH 24/48] Added "brains" to Member menu Now the items in the Member menu only show up if they contain items --- Contents/Code/PHMembers.py | 47 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) diff --git a/Contents/Code/PHMembers.py b/Contents/Code/PHMembers.py index 76f0a12..f4453ed 100644 --- a/Contents/Code/PHMembers.py +++ b/Contents/Code/PHMembers.py @@ -3,6 +3,7 @@ PH_DISCOVER_MEMBERS_URL = BASE_URL + '/user/discover' PH_SEARCH_MEMBERS_URL = BASE_URL + '/user/search?username=%s' +# Only the Members search results page has 42 results. The other Member pages have 48 results, but don't feature pagination PH_MAX_MEMBERS_PER_PAGE = 42 PH_MAX_MEMBER_CHANNELS_PER_PAGE = 8 @@ -79,6 +80,11 @@ def SearchMembers(query): @route(ROUTE_PREFIX + '/members/menu') def MemberMenu(title, url, username): + # Get the HTML of the Member's spash page, as well as their Video and Playlist pages + memberHTML = HTML.ElementFromURL(url) + memberVideosHTML = HTML.ElementFromURL(url + '/videos') + memberPlaylistsHTML = HTML.ElementFromURL(url + '/playlists') + # Create a dictionary of menu items memberMenuItems = OrderedDict([ ('Channels', {'function':MemberChannels, 'functionArgs':{'title':username + "'s Channels", 'url':url + '/channels'}}), @@ -90,6 +96,47 @@ def MemberMenu(title, url, username): ('Favorite Playlists', {'function':ListPlaylists, 'functionArgs':{'title':username + "'s Favorite Playlists", 'url':url + '/playlists/favorites'}}) ]) + # This dictionary will hold the conditons on which we want to display Member menu options + memberMenuChecks = { + "Channels": { + "xpath": "//div[contains(@class,'channelSubWidgetContainer')]/ul/li[contains(@class,'channelSubChannelWig')]", + "htmlElement": memberHTML + }, + "Subscribed Channels": { + "xpath": "//div[contains(@class,'userWidgetContainer')]/ul/li[contains(@class,'userChannelWig')]", + "htmlElement": memberHTML + }, + "Public Videos": { + "xpath": "//section[@id='videosTab']//nav[contains(@class,'sectionMenu')]/ul/li/a[text()='Public']", + "htmlElement": memberVideosHTML + }, + "Favorite Videos": { + "xpath": "//section[@id='videosTab']//nav[contains(@class,'sectionMenu')]/ul/li/a[text()='Favorites']", + "htmlElement": memberVideosHTML + }, + "Watched Videos": { + "xpath": "//section[@id='videosTab']//nav[contains(@class,'sectionMenu')]/ul/li/a[text()='Watched']", + "htmlElement": memberVideosHTML + }, + "Public Playlists": { + "xpath": "//nav[contains(@class,'sectionMenu')]/ul/li/a[text()='Public']", + "htmlElement": memberPlaylistsHTML + }, + "Favorite Playlists": { + "xpath": "//nav[contains(@class,'sectionMenu')]/ul/li/a[text()='Favorites']", + "htmlElement": memberPlaylistsHTML + } + } + + # Loop through Member menu option conditons + for memberMenuCheck in memberMenuChecks: + # Attempt to get the element from the page + elements = memberMenuChecks[memberMenuCheck]["htmlElement"].xpath(memberMenuChecks[memberMenuCheck]["xpath"]) + + if (len(elements) == 0): + # If no elements are found, do not display the Member menu option + del memberMenuItems[memberMenuCheck] + return GenerateMenu(title, memberMenuItems) @route(ROUTE_PREFIX + '/members/channels') From b968b736e241f3fc5c58e879f1042c0eebb7c4c3 Mon Sep 17 00:00:00 2001 From: NotVinny Date: Mon, 25 Jul 2016 17:39:49 -0400 Subject: [PATCH 25/48] Hide empty Playlists Hiding Playlists with 0 videos --- Contents/Code/PHPlaylists.py | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/Contents/Code/PHPlaylists.py b/Contents/Code/PHPlaylists.py index d4c7894..b24a729 100644 --- a/Contents/Code/PHPlaylists.py +++ b/Contents/Code/PHPlaylists.py @@ -43,13 +43,16 @@ def ListPlaylists(title, url = PH_PLAYLISTS_URL, page=1): # Loop through all playlists for playlist in playlists: - # Use xPath to extract playlist details - playlistTitle = playlist.xpath("./div/div[contains(@class, 'thumbnail-info-wrapper')]/span[contains(@class, 'title')]/a[contains(@class, 'title')]/text()")[0] - playlistURL = BASE_URL + playlist.xpath("./div/div[contains(@class, 'thumbnail-info-wrapper')]/span[contains(@class, 'title')]/a[contains(@class, 'title')]/@href")[0] - playlistThumbnail = playlist.xpath("./div/div[contains(@class, 'linkWrapper')]/img[contains(@class, 'largeThumb')]/@data-mediumthumb")[0] - - # Add a menu item for the playlist - listPlaylistsMenuItems[playlistTitle] = {'function':BrowseVideos, 'functionArgs':{'url':playlistURL}, 'directoryObjectArgs':{'thumb':playlistThumbnail}} + # Make sure Playlist isn't empty + if (len(playlist.xpath(".//span[contains(@class,'playlist-videos')]/span[contains(@class,'number')]/span[text()='0']")) < 1): + + # Use xPath to extract playlist details + playlistTitle = playlist.xpath("./div/div[contains(@class, 'thumbnail-info-wrapper')]/span[contains(@class, 'title')]/a[contains(@class, 'title')]/text()")[0] + playlistURL = BASE_URL + playlist.xpath("./div/div[contains(@class, 'thumbnail-info-wrapper')]/span[contains(@class, 'title')]/a[contains(@class, 'title')]/@href")[0] + playlistThumbnail = playlist.xpath("./div/div[contains(@class, 'linkWrapper')]/img[contains(@class, 'largeThumb')]/@data-mediumthumb")[0] + + # Add a menu item for the playlist + listPlaylistsMenuItems[playlistTitle] = {'function':BrowseVideos, 'functionArgs':{'url':playlistURL}, 'directoryObjectArgs':{'thumb':playlistThumbnail}} # There is a slight change that this will break... If the number of playlists returned in total is divisible by MAX_PLAYLISTS_PER_PAGE with no remainder, there could possibly be no additional page after. This is unlikely though and I'm too lazy to handle it. if (len(playlists) == MAX_PLAYLISTS_PER_PAGE): From ce256e64102a8aedbe4a85230bb113a139b9f72f Mon Sep 17 00:00:00 2001 From: NotVinny Date: Mon, 25 Jul 2016 22:28:51 -0400 Subject: [PATCH 26/48] Added Member Porn Star subscriptions option You can now see what Porn Stars a Member is subscribed to. Also fixed up a comments that didn't make sense (due to lazy copypasta) --- Contents/Code/PHMembers.py | 58 ++++++++++++++++++++++++++++---------- 1 file changed, 43 insertions(+), 15 deletions(-) diff --git a/Contents/Code/PHMembers.py b/Contents/Code/PHMembers.py index f4453ed..bb75454 100644 --- a/Contents/Code/PHMembers.py +++ b/Contents/Code/PHMembers.py @@ -87,13 +87,14 @@ def MemberMenu(title, url, username): # Create a dictionary of menu items memberMenuItems = OrderedDict([ - ('Channels', {'function':MemberChannels, 'functionArgs':{'title':username + "'s Channels", 'url':url + '/channels'}}), - ('Subscribed Channels', {'function':MemberSubscribedChannels, 'functionArgs':{'title':username + "'s Subscribed Channels", 'url':url + '/channel_subscriptions'}}), - ('Public Videos', {'function':ListVideos, 'functionArgs':{'title':username + "'s Public Videos", 'url':url + '/videos/public'}}), - ('Favorite Videos', {'function':ListVideos, 'functionArgs':{'title':username + "'s Favorite Videos", 'url':url + '/videos/favorites'}}), - ('Watched Videos', {'function':ListVideos, 'functionArgs':{'title':username + "'s Watched Videos", 'url':url + '/videos/recent'}}), - ('Public Playlists', {'function':ListPlaylists, 'functionArgs':{'title':username + "'s Public Playlists", 'url':url + '/playlists/public'}}), - ('Favorite Playlists', {'function':ListPlaylists, 'functionArgs':{'title':username + "'s Favorite Playlists", 'url':url + '/playlists/favorites'}}) + ('Channels', {'function':MemberChannels, 'functionArgs':{'title':username + "'s Channels", 'url':url + '/channels'}}), + ('Subscribed Channels', {'function':MemberSubscribedChannels, 'functionArgs':{'title':username + "'s Subscribed Channels", 'url':url + '/channel_subscriptions'}}), + ('Subscribed Porn Stars', {'function':MemberSubscribedPornStars, 'functionArgs':{'title':username + "'s Subscribed Porn Stars", 'url':url + '/pornstar_subscriptions'}}), + ('Public Videos', {'function':ListVideos, 'functionArgs':{'title':username + "'s Public Videos", 'url':url + '/videos/public'}}), + ('Favorite Videos', {'function':ListVideos, 'functionArgs':{'title':username + "'s Favorite Videos", 'url':url + '/videos/favorites'}}), + ('Watched Videos', {'function':ListVideos, 'functionArgs':{'title':username + "'s Watched Videos", 'url':url + '/videos/recent'}}), + ('Public Playlists', {'function':ListPlaylists, 'functionArgs':{'title':username + "'s Public Playlists", 'url':url + '/playlists/public'}}), + ('Favorite Playlists', {'function':ListPlaylists, 'functionArgs':{'title':username + "'s Favorite Playlists", 'url':url + '/playlists/favorites'}}) ]) # This dictionary will hold the conditons on which we want to display Member menu options @@ -106,6 +107,10 @@ def MemberMenu(title, url, username): "xpath": "//div[contains(@class,'userWidgetContainer')]/ul/li[contains(@class,'userChannelWig')]", "htmlElement": memberHTML }, + "Subscribed Porn Stars": { + "xpath": "//section[@id='sidebarPornstars']//ul[contains(@class,'pornStarSideBar')]/li[contains(@class,'pornstarsElements')]", + "htmlElement": memberHTML + }, "Public Videos": { "xpath": "//section[@id='videosTab']//nav[contains(@class,'sectionMenu')]/ul/li/a[text()='Public']", "htmlElement": memberVideosHTML @@ -152,19 +157,19 @@ def MemberChannels(url, title="Member Channels", page=1): # Get the HTML of the page html = HTML.ElementFromURL(url) - # Use xPath to extract a list of channels + # Use xPath to extract a list of Channels channels = html.xpath("//div[contains(@class, 'sectionWrapper')]/div[contains(@class, 'topheader')]") for channel in channels: - # Use xPath to extract channel details + # Use xPath to extract Channel details channelTitle = channel.xpath("./div[contains(@class, 'floatLeft')]/div[contains(@class, 'title')]/a/text()")[0] channelURL = BASE_URL + channel.xpath("./div[contains(@class, 'floatLeft')]/div[contains(@class, 'title')]/a/@href")[0] + "/videos" channelThumb = channel.xpath("./div[contains(@class, 'avatarWrapper')]/a/img/@src")[0] - # Add a menu item for the member + # Add a menu item for the Channel memberChannelMenuItems[channelTitle] = {'function':BrowseVideos, 'functionArgs':{'url':channelURL, 'title':channelTitle}, 'directoryObjectArgs':{'thumb':channelThumb}} - # There is a slight change that this will break... If the number of members returned in total is divisible by PH_MAX_MEMBER_CHANNELS_PER_PAGE with no remainder, there could possibly be no additional page after. This is unlikely though and I'm too lazy to handle it. + # There is a slight change that this will break... If the number of Channels returned in total is divisible by PH_MAX_MEMBER_CHANNELS_PER_PAGE with no remainder, there could possibly be no additional page after. This is unlikely though and I'm too lazy to handle it. if (len(channels) == PH_MAX_MEMBER_CHANNELS_PER_PAGE): memberChannelMenuItems['Next Page'] = {'function':MemberChannels, 'functionArgs':{'title':title, 'url':url, 'page':int(page)+1}, 'nextPage':True} @@ -179,16 +184,39 @@ def MemberSubscribedChannels(url, title="Member's Subscribed Channels"): # Get the HTML of the page html = HTML.ElementFromURL(url) - # Use xPath to extract a list of subscribed channels + # Use xPath to extract a list of subscribed Channels channels = html.xpath("//div[contains(@class, 'channelSubWidgetContainer')]/ul/li[contains(@class, 'channelSubChannelWig')]") for channel in channels: - # Use xPath to extract channel details + # Use xPath to extract Channel details channelTitle = channel.xpath("./div/div[contains(@class, 'wtitle')]/a/text()")[0] channelURL = BASE_URL + channel.xpath("./div/div[contains(@class, 'wtitle')]/a/@href")[0] + "/videos" channelThumb = channel.xpath("./div/div/a/img/@src")[0] - # Add a menu item for the member + # Add a menu item for the Channel memberSubscribedChannelMenuItems[channelTitle] = {'function':BrowseVideos, 'functionArgs':{'url':channelURL, 'title':channelTitle}, 'directoryObjectArgs':{'thumb':channelThumb}} - return GenerateMenu(title, memberSubscribedChannelMenuItems) \ No newline at end of file + return GenerateMenu(title, memberSubscribedChannelMenuItems) + +@route(ROUTE_PREFIX + '/members/pornstars') +def MemberSubscribedPornStars(url, title="Member's Subscribed Porn Stars"): + + # Create a dictionary of menu items + memberSubscribedPornStarsMenuItems = OrderedDict() + + # Get the HTML of the page + html = HTML.ElementFromURL(url) + + # Use xPath to extract a list of subscribed Porn Stars + pornStars = html.xpath("//ul[contains(@class,'pornStarGrid')]/li/div[contains(@class,'user-flag')]/div[contains(@class,'avatarWrap')]/a") + + for pornStar in pornStars: + # Use xPath to extract Porn Star details + pornStarTitle = pornStar.xpath("./img/@alt")[0] + pornStarURL = BASE_URL + pornStar.xpath("./@href")[0] + pornStarThumb = pornStar.xpath("./img/@src")[0] + + # Add a menu item for the Porn Star + memberSubscribedPornStarsMenuItems[pornStarTitle] = {'function':BrowseVideos, 'functionArgs':{'url':pornStarURL, 'title':pornStarTitle}, 'directoryObjectArgs':{'thumb':pornStarThumb}} + + return GenerateMenu(title, memberSubscribedPornStarsMenuItems) \ No newline at end of file From 68c372230a8abcf65f7e640466430b80edf06aad Mon Sep 17 00:00:00 2001 From: NotVinny Date: Mon, 25 Jul 2016 23:15:40 -0400 Subject: [PATCH 27/48] Minor pagination fix Forgot to pass along the page limit in the NextPageObject --- Contents/Code/PHCommon.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Contents/Code/PHCommon.py b/Contents/Code/PHCommon.py index bb5222f..e07f591 100644 --- a/Contents/Code/PHCommon.py +++ b/Contents/Code/PHCommon.py @@ -162,7 +162,7 @@ def ListVideos(title=L("DefaultListVideosTitle"), url=PH_VIDEO_URL, page=1, page # There is a slight change that this will break... If the number of videos returned in total is divisible by MAX_VIDEOS_PER_PAGE with no remainder, there could possibly be no additional page after. This is unlikely though and I'm too lazy to handle it. if (len(videos) == int(pageLimit)): oc.add(NextPageObject( - key = Callback(ListVideos, title=title, url=url, page = int(page)+1), + key = Callback(ListVideos, title=title, url=url, page = int(page)+1, pageLimit=int(pageLimit)), title = 'Next Page' )) From b9b6e1c1d610ebb232a6d959d3a70783b4ca24c7 Mon Sep 17 00:00:00 2001 From: NotVinny Date: Tue, 26 Jul 2016 01:57:46 -0400 Subject: [PATCH 28/48] Added additional Member menu items You can now view a Member's subscribers, Member subscriptions, and friends. Also re-organized the menu a little bit to bring the content closer to the top. One thing to note is that while the xPath to check for a Member's subscribers/Member subscriptions/friends is fairly accurate, there are times when it is inaccurate. I will be addressing this in a forthcoming commit where I will add the option to get accurate results for those menu options (at the expense of 1 extra HTTP request each). It will be configurable in the Preferences if you don't want to create any extra HTTP requests --- Contents/Code/PHMembers.py | 70 ++++++++++++++++++++++++-------------- 1 file changed, 44 insertions(+), 26 deletions(-) diff --git a/Contents/Code/PHMembers.py b/Contents/Code/PHMembers.py index bb75454..20f926e 100644 --- a/Contents/Code/PHMembers.py +++ b/Contents/Code/PHMembers.py @@ -4,8 +4,11 @@ PH_SEARCH_MEMBERS_URL = BASE_URL + '/user/search?username=%s' # Only the Members search results page has 42 results. The other Member pages have 48 results, but don't feature pagination -PH_MAX_MEMBERS_PER_PAGE = 42 -PH_MAX_MEMBER_CHANNELS_PER_PAGE = 8 +PH_MAX_MEMBERS_PER_PAGE = 42 +PH_MAX_MEMBERS_PER_MEMBER_SUBSCRIBERS_PAGE = 100 +PH_MAX_MEMBERS_PER_MEMBER_SUBSCRIPTIONS_PAGE = 100 +PH_MAX_MEMBERS_PER_MEMBER_FRIENDS_PAGE = 100 +PH_MAX_MEMBER_CHANNELS_PER_PAGE = 8 @route(ROUTE_PREFIX + '/members') def BrowseMembers(title=L("DefaultBrowseMembersTitle"), url=PH_DISCOVER_MEMBERS_URL): @@ -34,7 +37,7 @@ def BrowseMembers(title=L("DefaultBrowseMembersTitle"), url=PH_DISCOVER_MEMBERS_ return GenerateMenu(title, browseMembersMenuItems) @route(ROUTE_PREFIX + '/members/list') -def ListMembers(title, url=PH_DISCOVER_MEMBERS_URL, page=1): +def ListMembers(title, url=PH_DISCOVER_MEMBERS_URL, page=1, pageLimit=PH_MAX_MEMBERS_PER_PAGE): # Create a dictionary of menu items listMembersMenuItems = OrderedDict() @@ -60,9 +63,9 @@ def ListMembers(title, url=PH_DISCOVER_MEMBERS_URL, page=1): # Add a menu item for the member listMembersMenuItems[memberTitle] = {'function':MemberMenu, 'functionArgs':{'url':memberURL, 'username':memberTitle}, 'directoryObjectArgs':{'thumb':memberThumbnail}} - # There is a slight change that this will break... If the number of members returned in total is divisible by PH_MAX_MEMBERS_PER_PAGE with no remainder, there could possibly be no additional page after. This is unlikely though and I'm too lazy to handle it. - if (len(members) == PH_MAX_MEMBERS_PER_PAGE): - listMembersMenuItems['Next Page'] = {'function':ListMembers, 'functionArgs':{'title':title, 'url':url, 'page':int(page)+1}, 'nextPage':True} + # There is a slight change that this will break... If the number of members returned in total is divisible by pageLimit with no remainder, there could possibly be no additional page after. This is unlikely though and I'm too lazy to handle it. + if (len(members) == int(pageLimit)): + listMembersMenuItems['Next Page'] = {'function':ListMembers, 'functionArgs':{'title':title, 'url':url, 'page':int(page)+1, 'pageLimit':int(pageLimit)}, 'nextPage':True} return GenerateMenu(title, listMembersMenuItems) @@ -87,30 +90,21 @@ def MemberMenu(title, url, username): # Create a dictionary of menu items memberMenuItems = OrderedDict([ - ('Channels', {'function':MemberChannels, 'functionArgs':{'title':username + "'s Channels", 'url':url + '/channels'}}), - ('Subscribed Channels', {'function':MemberSubscribedChannels, 'functionArgs':{'title':username + "'s Subscribed Channels", 'url':url + '/channel_subscriptions'}}), - ('Subscribed Porn Stars', {'function':MemberSubscribedPornStars, 'functionArgs':{'title':username + "'s Subscribed Porn Stars", 'url':url + '/pornstar_subscriptions'}}), - ('Public Videos', {'function':ListVideos, 'functionArgs':{'title':username + "'s Public Videos", 'url':url + '/videos/public'}}), - ('Favorite Videos', {'function':ListVideos, 'functionArgs':{'title':username + "'s Favorite Videos", 'url':url + '/videos/favorites'}}), - ('Watched Videos', {'function':ListVideos, 'functionArgs':{'title':username + "'s Watched Videos", 'url':url + '/videos/recent'}}), - ('Public Playlists', {'function':ListPlaylists, 'functionArgs':{'title':username + "'s Public Playlists", 'url':url + '/playlists/public'}}), - ('Favorite Playlists', {'function':ListPlaylists, 'functionArgs':{'title':username + "'s Favorite Playlists", 'url':url + '/playlists/favorites'}}) + ('Public Videos', {'function':ListVideos, 'functionArgs':{'title':username + "'s Public Videos", 'url':url + '/videos/public'}}), + ('Favorite Videos', {'function':ListVideos, 'functionArgs':{'title':username + "'s Favorite Videos", 'url':url + '/videos/favorites'}}), + ('Watched Videos', {'function':ListVideos, 'functionArgs':{'title':username + "'s Watched Videos", 'url':url + '/videos/recent'}}), + ('Public Playlists', {'function':ListPlaylists, 'functionArgs':{'title':username + "'s Public Playlists", 'url':url + '/playlists/public'}}), + ('Favorite Playlists', {'function':ListPlaylists, 'functionArgs':{'title':username + "'s Favorite Playlists", 'url':url + '/playlists/favorites'}}), + ('Channels', {'function':MemberChannels, 'functionArgs':{'title':username + "'s Channels", 'url':url + '/channels'}}), + ('Channel Subscriptions', {'function':MemberSubscribedChannels, 'functionArgs':{'title':username + "'s Channel Subscriptions", 'url':url + '/channel_subscriptions'}}), + ('Porn Star Subscriptions', {'function':MemberSubscribedPornStars, 'functionArgs':{'title':username + "'s Porn Star Subscriptions", 'url':url + '/pornstar_subscriptions'}}), + ('Subscribers', {'function':ListMembers, 'functionArgs':{'title':username + "'s Subscribers", 'url':url + '/subscribers', 'pageLimit':PH_MAX_MEMBERS_PER_MEMBER_SUBSCRIBERS_PAGE}}), + ('Member Subscriptions', {'function':ListMembers, 'functionArgs':{'title':username + "'s Member Subscriptions", 'url':url + '/subscriptions', 'pageLimit':PH_MAX_MEMBERS_PER_MEMBER_SUBSCRIPTIONS_PAGE}}), + ('Friends', {'function':ListMembers, 'functionArgs':{'title':username + "'s Friends", 'url':url + '/friends', 'pageLimit':PH_MAX_MEMBERS_PER_MEMBER_FRIENDS_PAGE}}) ]) # This dictionary will hold the conditons on which we want to display Member menu options memberMenuChecks = { - "Channels": { - "xpath": "//div[contains(@class,'channelSubWidgetContainer')]/ul/li[contains(@class,'channelSubChannelWig')]", - "htmlElement": memberHTML - }, - "Subscribed Channels": { - "xpath": "//div[contains(@class,'userWidgetContainer')]/ul/li[contains(@class,'userChannelWig')]", - "htmlElement": memberHTML - }, - "Subscribed Porn Stars": { - "xpath": "//section[@id='sidebarPornstars']//ul[contains(@class,'pornStarSideBar')]/li[contains(@class,'pornstarsElements')]", - "htmlElement": memberHTML - }, "Public Videos": { "xpath": "//section[@id='videosTab']//nav[contains(@class,'sectionMenu')]/ul/li/a[text()='Public']", "htmlElement": memberVideosHTML @@ -130,6 +124,30 @@ def MemberMenu(title, url, username): "Favorite Playlists": { "xpath": "//nav[contains(@class,'sectionMenu')]/ul/li/a[text()='Favorites']", "htmlElement": memberPlaylistsHTML + }, + "Channels": { + "xpath": "//div[contains(@class,'channelSubWidgetContainer')]/ul/li[contains(@class,'channelSubChannelWig')]", + "htmlElement": memberHTML + }, + "Channel Subscriptions": { + "xpath": "//div[contains(@class,'userWidgetContainer')]/ul/li[contains(@class,'userChannelWig')]", + "htmlElement": memberHTML + }, + "Porn Star Subscriptions": { + "xpath": "//section[@id='sidebarPornstars']//ul[contains(@class,'pornStarSideBar')]/li[contains(@class,'pornstarsElements')]", + "htmlElement": memberHTML + }, + "Subscribers": { + "xpath": "//ul[contains(@class,'subViewsInfoContainer')]/li[a[span[contains(@class,'connections')][contains(text(),'subscriber')]]]/a/span[contains(@class,'number')][not(text()='0')]", + "htmlElement": memberHTML + }, + "Member Subscriptions": { + "xpath": "//section[@id='profileSubscriptions']//ul/li[contains(@class,'subscriptionsElement')]", + "htmlElement": memberHTML + }, + "Friends": { + "xpath": "//ul[contains(@class,'subViewsInfoContainer')]/li[a[span[contains(@class,'connections')][contains(text(),'friend')]]]/a/span[contains(@class,'number')][not(text()='0')]", + "htmlElement": memberHTML } } From b2cbf81f1f2b4b31ee79f7f70724153c24a62196 Mon Sep 17 00:00:00 2001 From: NotVinny Date: Tue, 26 Jul 2016 02:38:12 -0400 Subject: [PATCH 29/48] Added more accurate Member menu options There are now overrides to get more accurate Member menu options at the expense of extra HTTP requests. It's possible to override subscriptions, however I think the default xPath is good enough so it is set to false by default for now. --- Contents/Code/PHMembers.py | 29 +++++++++++++ Contents/DefaultPrefs.json | 86 +++++++++++++++++++++++--------------- 2 files changed, 81 insertions(+), 34 deletions(-) diff --git a/Contents/Code/PHMembers.py b/Contents/Code/PHMembers.py index 20f926e..6dcaf35 100644 --- a/Contents/Code/PHMembers.py +++ b/Contents/Code/PHMembers.py @@ -151,6 +151,35 @@ def MemberMenu(title, url, username): } } + # There overrides perform a more accurate check, however they all require an extra HTTP request + memberMenuPreferenceOverrides = { + "memberMenuAccurateSubscribers": { + 'title': 'Subscribers', + 'urlSuffix': '/subscribers' + }, + "memberMenuAccurateMemberSubscriptions": { + 'title': 'Member Subscriptions', + 'urlSuffix': '/subscriptions' + }, + "memberMenuAccurateFriends": { + 'title': 'Friends', + 'urlSuffix': '/friends' + } + } + + # Loop through Preference overrides + for key in memberMenuPreferenceOverrides: + # Check to see if the Preference is set + if (Prefs[key]): + # Get the HTML of the page + memberMenuPreferenceOverrideHTML = HTML.ElementFromURL(url + memberMenuPreferenceOverrides[key]["urlSuffix"]) + + # Override the menu check + memberMenuChecks[memberMenuPreferenceOverrides[key]["title"]] = { + "xpath": "//ul[contains(@class, 'userWidgetWrapperGrid')]/li", + "htmlElement": memberMenuPreferenceOverrideHTML + } + # Loop through Member menu option conditons for memberMenuCheck in memberMenuChecks: # Attempt to get the element from the page diff --git a/Contents/DefaultPrefs.json b/Contents/DefaultPrefs.json index 1d4c000..bd9f490 100644 --- a/Contents/DefaultPrefs.json +++ b/Contents/DefaultPrefs.json @@ -1,52 +1,70 @@ [ { - "id": "channelBackgroundArt", - "label": "Background Art", - "type": "enum", - "values": ["default.jpg", "original.png", "alternate-1.jpg", "alternate-2.jpg", "stealth.png"], - "default": "default.jpg" + "id": "channelBackgroundArt", + "label": "Background Art", + "type": "enum", + "values": ["default.jpg", "original.png", "alternate-1.jpg", "alternate-2.jpg", "stealth.png"], + "default": "default.jpg" }, { - "id": "channelIconArt", - "label": "Icon Art", - "type": "enum", - "values": ["default.png", "stealth.png"], - "default": "default.png" + "id": "channelIconArt", + "label": "Icon Art", + "type": "enum", + "values": ["default.png", "stealth.png"], + "default": "default.png" }, { - "id": "videoMenuShowThumbnails", - "label": "Video Menu - Show Thumbnails", - "type": "bool", - "default": "true", + "id": "videoMenuShowThumbnails", + "label": "Video Menu - Show Thumbnails", + "type": "bool", + "default": "true", }, { - "id": "videoMenuShowUploader", - "label": "Video Menu - Show Uploader", - "type": "bool", - "default": "true", + "id": "videoMenuShowUploader", + "label": "Video Menu - Show Uploader", + "type": "bool", + "default": "true", }, { - "id": "videoMenuShowPornStars", - "label": "Video Menu - Show Porn Stars", - "type": "bool", - "default": "true", + "id": "videoMenuShowPornStars", + "label": "Video Menu - Show Porn Stars", + "type": "bool", + "default": "true", }, { - "id": "videoMenuShowRelatedVideos", - "label": "Video Menu - Show Related Videos", - "type": "bool", - "default": "true", + "id": "videoMenuShowRelatedVideos", + "label": "Video Menu - Show Related Videos", + "type": "bool", + "default": "true", }, { - "id": "videoMenuShowPlaylists", - "label": "Video Menu - Show Playlists", - "type": "bool", - "default": "true", + "id": "videoMenuShowPlaylists", + "label": "Video Menu - Show Playlists", + "type": "bool", + "default": "true", }, { - "id": "videoMenuShowAction", - "label": "Video Menu - Show Action", - "type": "bool", - "default": "true", + "id": "videoMenuShowAction", + "label": "Video Menu - Show Action", + "type": "bool", + "default": "true", + }, + { + "id": "memberMenuAccurateSubscribers", + "label": "Member Menu - Accurate Subscribers", + "type": "bool", + "default": "true", + }, + { + "id": "memberMenuAccurateMemberSubscriptions", + "label": "Member Menu - Accurate Member Subscriptions", + "type": "bool", + "default": "false", + }, + { + "id": "memberMenuAccurateFriends", + "label": "Member Menu - Accurate Friends", + "type": "bool", + "default": "true", } ] \ No newline at end of file From 4bfbf205bf74659424fe702a0ff3be21bce66c50 Mon Sep 17 00:00:00 2001 From: NotVinny Date: Tue, 26 Jul 2016 02:48:01 -0400 Subject: [PATCH 30/48] Couple more Member menu cleanup items Turned off caching on Member menu, so that Preferences are reflected immediately. Also set the default for subscriber override to false, as I think the default xPath is good enough for that (though ugly). --- Contents/Code/PHMembers.py | 2 +- Contents/DefaultPrefs.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Contents/Code/PHMembers.py b/Contents/Code/PHMembers.py index 6dcaf35..9e053fe 100644 --- a/Contents/Code/PHMembers.py +++ b/Contents/Code/PHMembers.py @@ -189,7 +189,7 @@ def MemberMenu(title, url, username): # If no elements are found, do not display the Member menu option del memberMenuItems[memberMenuCheck] - return GenerateMenu(title, memberMenuItems) + return GenerateMenu(title, memberMenuItems, no_cache=True) @route(ROUTE_PREFIX + '/members/channels') def MemberChannels(url, title="Member Channels", page=1): diff --git a/Contents/DefaultPrefs.json b/Contents/DefaultPrefs.json index bd9f490..a609f69 100644 --- a/Contents/DefaultPrefs.json +++ b/Contents/DefaultPrefs.json @@ -53,7 +53,7 @@ "id": "memberMenuAccurateSubscribers", "label": "Member Menu - Accurate Subscribers", "type": "bool", - "default": "true", + "default": "false", }, { "id": "memberMenuAccurateMemberSubscriptions", From 615f15afef3099d62992d1c8aa60947bf8009a7a Mon Sep 17 00:00:00 2001 From: NotVinny Date: Tue, 26 Jul 2016 23:55:20 -0400 Subject: [PATCH 31/48] Changed how Member menu Preference overrides work You can now override multiple checks per each Preference override. This is because in cases like Playlists, you can check if a user has Public or Favorite Playlists from the same URL. --- Contents/Code/PHMembers.py | 32 ++++++++++++++++++++------------ 1 file changed, 20 insertions(+), 12 deletions(-) diff --git a/Contents/Code/PHMembers.py b/Contents/Code/PHMembers.py index 9e053fe..cc8698a 100644 --- a/Contents/Code/PHMembers.py +++ b/Contents/Code/PHMembers.py @@ -151,19 +151,25 @@ def MemberMenu(title, url, username): } } - # There overrides perform a more accurate check, however they all require an extra HTTP request + # These overrides perform a more accurate check, however they all require an extra HTTP request memberMenuPreferenceOverrides = { "memberMenuAccurateSubscribers": { - 'title': 'Subscribers', - 'urlSuffix': '/subscribers' + 'urlSuffix': '/subscribers', + 'checks': [ + {'key':'Subscribers', 'xpath':"//ul[contains(@class, 'userWidgetWrapperGrid')]/li"} + ] }, "memberMenuAccurateMemberSubscriptions": { - 'title': 'Member Subscriptions', - 'urlSuffix': '/subscriptions' + 'urlSuffix': '/subscriptions', + 'checks': [ + {'key':'Member Subscriptions', 'xpath':"//ul[contains(@class, 'userWidgetWrapperGrid')]/li"} + ] }, "memberMenuAccurateFriends": { - 'title': 'Friends', - 'urlSuffix': '/friends' + 'urlSuffix': '/friends', + 'checks': [ + {'key':'Friends', 'xpath':"//ul[contains(@class, 'userWidgetWrapperGrid')]/li"} + ] } } @@ -174,11 +180,13 @@ def MemberMenu(title, url, username): # Get the HTML of the page memberMenuPreferenceOverrideHTML = HTML.ElementFromURL(url + memberMenuPreferenceOverrides[key]["urlSuffix"]) - # Override the menu check - memberMenuChecks[memberMenuPreferenceOverrides[key]["title"]] = { - "xpath": "//ul[contains(@class, 'userWidgetWrapperGrid')]/li", - "htmlElement": memberMenuPreferenceOverrideHTML - } + # Loop through the checks + for check in memberMenuPreferenceOverrides[key]["checks"]: + # Override the menu check + memberMenuChecks[check['key']] = { + "xpath": check['xpath'], + "htmlElement": memberMenuPreferenceOverrideHTML + } # Loop through Member menu option conditons for memberMenuCheck in memberMenuChecks: From 23825709a1b926b38d8cc9094da5ddb00b4b583b Mon Sep 17 00:00:00 2001 From: NotVinny Date: Wed, 27 Jul 2016 01:08:28 -0400 Subject: [PATCH 32/48] Added the ability to choose accuracy of Videos and Playlists in Member menu It is now possible to only make one HTTP request in the Member menu, which increases speed greatly but reduces accuracy and removes certain menu options altogether. Every Preference you turn on for Member menu adds one HTTP request, but makes your results more accurate and shows all possible menu items. --- Contents/Code/PHMembers.py | 56 ++++++++++++++++++++++---------------- Contents/DefaultPrefs.json | 12 ++++++++ 2 files changed, 45 insertions(+), 23 deletions(-) diff --git a/Contents/Code/PHMembers.py b/Contents/Code/PHMembers.py index cc8698a..1d13992 100644 --- a/Contents/Code/PHMembers.py +++ b/Contents/Code/PHMembers.py @@ -106,25 +106,16 @@ def MemberMenu(title, url, username): # This dictionary will hold the conditons on which we want to display Member menu options memberMenuChecks = { "Public Videos": { - "xpath": "//section[@id='videosTab']//nav[contains(@class,'sectionMenu')]/ul/li/a[text()='Public']", - "htmlElement": memberVideosHTML - }, - "Favorite Videos": { - "xpath": "//section[@id='videosTab']//nav[contains(@class,'sectionMenu')]/ul/li/a[text()='Favorites']", - "htmlElement": memberVideosHTML - }, - "Watched Videos": { - "xpath": "//section[@id='videosTab']//nav[contains(@class,'sectionMenu')]/ul/li/a[text()='Watched']", - "htmlElement": memberVideosHTML + "xpath": "//section[@id='profileVideos']//ul[contains(@class,'videos')]/li[contains(@class,'videoblock')]", + "htmlElement": memberHTML }, + "Favorite Videos": None, + "Watched Videos": None, "Public Playlists": { - "xpath": "//nav[contains(@class,'sectionMenu')]/ul/li/a[text()='Public']", - "htmlElement": memberPlaylistsHTML - }, - "Favorite Playlists": { - "xpath": "//nav[contains(@class,'sectionMenu')]/ul/li/a[text()='Favorites']", - "htmlElement": memberPlaylistsHTML + "xpath": "//section[@id='playlistsSidebar']//ul[contains(@class,'user-playlist')]/li[contains(@id,'playlist_')]", + "htmlElement": memberHTML }, + "Favorite Playlists": None, "Channels": { "xpath": "//div[contains(@class,'channelSubWidgetContainer')]/ul/li[contains(@class,'channelSubChannelWig')]", "htmlElement": memberHTML @@ -153,6 +144,21 @@ def MemberMenu(title, url, username): # These overrides perform a more accurate check, however they all require an extra HTTP request memberMenuPreferenceOverrides = { + "memberMenuAccurateVideos": { + 'urlSuffix': '/videos', + 'checks': [ + {'key':'Public Videos', 'xpath':"//section[@id='videosTab']//nav[contains(@class,'sectionMenu')]/ul/li/a[text()='Public']"}, + {'key':'Favorite Videos', 'xpath':"//section[@id='videosTab']//nav[contains(@class,'sectionMenu')]/ul/li/a[text()='Favorites']"}, + {'key':'Watched Videos', 'xpath':"//section[@id='videosTab']//nav[contains(@class,'sectionMenu')]/ul/li/a[text()='Watched']"} + ] + }, + "memberMenuAccuratePlaylists": { + 'urlSuffix': '/playlists', + 'checks': [ + {'key':'Public Playlists', 'xpath':"//nav[contains(@class,'sectionMenu')]/ul/li/a[text()='Public']"}, + {'key':'Favorite Playlists', 'xpath':"//nav[contains(@class,'sectionMenu')]/ul/li/a[text()='Favorites']"} + ] + }, "memberMenuAccurateSubscribers": { 'urlSuffix': '/subscribers', 'checks': [ @@ -189,13 +195,17 @@ def MemberMenu(title, url, username): } # Loop through Member menu option conditons - for memberMenuCheck in memberMenuChecks: - # Attempt to get the element from the page - elements = memberMenuChecks[memberMenuCheck]["htmlElement"].xpath(memberMenuChecks[memberMenuCheck]["xpath"]) - - if (len(elements) == 0): - # If no elements are found, do not display the Member menu option - del memberMenuItems[memberMenuCheck] + for key in memberMenuChecks: + # Make sure the check exists + if (memberMenuChecks[key] is not None): + # Attempt to get the element from the page + elements = memberMenuChecks[key]["htmlElement"].xpath(memberMenuChecks[key]["xpath"]) + + if (len(elements) == 0): + # If no elements are found, do not display the Member menu option + del memberMenuItems[key] + else: + del memberMenuItems[key] return GenerateMenu(title, memberMenuItems, no_cache=True) diff --git a/Contents/DefaultPrefs.json b/Contents/DefaultPrefs.json index a609f69..ba9e55a 100644 --- a/Contents/DefaultPrefs.json +++ b/Contents/DefaultPrefs.json @@ -49,6 +49,18 @@ "type": "bool", "default": "true", }, + { + "id": "memberMenuAccurateVideos", + "label": "Member Menu - Accurate Videos", + "type": "bool", + "default": "true", + }, + { + "id": "memberMenuAccuratePlaylists", + "label": "Member Menu - Accurate Playlists", + "type": "bool", + "default": "true", + }, { "id": "memberMenuAccurateSubscribers", "label": "Member Menu - Accurate Subscribers", From 8ed6a87099c81952deea616f9c483cdf50743272 Mon Sep 17 00:00:00 2001 From: NotVinny Date: Mon, 1 Aug 2016 16:41:39 -0400 Subject: [PATCH 33/48] Begun implementing Shared Code I want to separate the data and logic in my code more. I want the SharedCodeService to act as a model, and __init__.py (and other files in that directory) to work as a controller. This commit is the first step to that. I have moved all of the more basic xPath logic into the SharedCodeService, removing xPath entirely from several of the "controllers". There is still much more work to be done on this front, v1.2 will largely be a code rewrite with only a couple new features. With any luck though, the code rewrite will allow other features to be added more easily in the future (and the code should be a bit clearer, hopefully) --- Contents/Code/PHCategories.py | 18 ++-- Contents/Code/PHChannels.py | 18 ++-- Contents/Code/PHMembers.py | 101 ++++++++--------- Contents/Code/PHPlaylists.py | 21 ++-- Contents/Code/PHPornStars.py | 18 ++-- .../Services/Shared Code/PHCategories.pys | 21 ++++ Contents/Services/Shared Code/PHChannels.pys | 21 ++++ Contents/Services/Shared Code/PHMembers.pys | 102 ++++++++++++++++++ Contents/Services/Shared Code/PHPlaylists.pys | 31 ++++++ Contents/Services/Shared Code/PHPornStars.pys | 21 ++++ 10 files changed, 268 insertions(+), 104 deletions(-) create mode 100644 Contents/Services/Shared Code/PHCategories.pys create mode 100644 Contents/Services/Shared Code/PHChannels.pys create mode 100644 Contents/Services/Shared Code/PHMembers.pys create mode 100644 Contents/Services/Shared Code/PHPlaylists.pys create mode 100644 Contents/Services/Shared Code/PHPornStars.pys diff --git a/Contents/Code/PHCategories.py b/Contents/Code/PHCategories.py index 6e404a4..a3bdca0 100644 --- a/Contents/Code/PHCategories.py +++ b/Contents/Code/PHCategories.py @@ -9,21 +9,17 @@ def BrowseCategories(title=L("DefaultBrowseCategoriesTitle"), url = PH_CATEGORIE # Create a dictionary of menu items browseCategoriesMenuItems = OrderedDict() - # Get the HTML of the page - html = HTML.ElementFromURL(url) - - # Use xPath to extract a list of catgegories - categories = html.xpath("//div[@id='categoriesStraightImages']/ul[contains(@class, 'categories-list')]/li/div") + # Get list of categories + categories = SharedCodeService.PHCategories.GetCategories(url) # Loop through all categories for category in categories: - # Use xPath to extract category details - categoryTitle = category.xpath("./h5/a/strong/text()")[0] - categoryURL = BASE_URL + category.xpath("./h5/a/@href")[0] - categoryThumbnail = category.xpath("./a/img/@src")[0] - # Add a menu item for the category - browseCategoriesMenuItems[categoryTitle] = {'function':BrowseVideos, 'functionArgs':{'url':categoryURL}, 'directoryObjectArgs':{'thumb':categoryThumbnail}} + browseCategoriesMenuItems[category["title"]] = { + 'function': BrowseVideos, + 'functionArgs': {'url': BASE_URL + category["url"]}, + 'directoryObjectArgs': {'thumb': category["thumbnail"]} + } return GenerateMenu(title, browseCategoriesMenuItems) \ No newline at end of file diff --git a/Contents/Code/PHChannels.py b/Contents/Code/PHChannels.py index 45f872c..565d439 100644 --- a/Contents/Code/PHChannels.py +++ b/Contents/Code/PHChannels.py @@ -28,22 +28,18 @@ def ListChannels(title, url = PH_CHANNELS_URL, page=1): if (int(page) != 1): url = addURLParameters(url, {'page':str(page)}) - # Get the HTML of the page - html = HTML.ElementFromURL(url) - - # Use xPath to extract a list of channels - channels = html.xpath("//div[contains(@class, 'listChannelsWrapper')]/ul/li/div") + # Get list of channels + channels = SharedCodeService.PHChannels.GetChannels(url) # Loop through all channels for channel in channels: - # Use xPath to extract channel details - channelTitle = channel.xpath("./div[contains(@class, 'description')]/div[contains(@class, 'descriptionContainer')]/ul/li/a[contains(@class, 'usernameLink')]/text()")[0] - channelURL = BASE_URL + channel.xpath("./div[contains(@class, 'description')]/div[contains(@class, 'descriptionContainer')]/ul/li/a[contains(@class, 'usernameLink')]/@href")[0] - channelThumbnail = channel.xpath("./div[contains(@class,'description')]/div[contains(@class, 'avatar')]/a/img/@src")[0] - # Add a menu item for the channel - listChannelsMenuItems[channelTitle] = {'function':BrowseVideos, 'functionArgs':{'url':channelURL + '/videos'}, 'directoryObjectArgs':{'thumb':channelThumbnail}} + listChannelsMenuItems[channel["title"]] = { + 'function': BrowseVideos, + 'functionArgs': {'url': BASE_URL + channel["url"] + '/videos'}, + 'directoryObjectArgs': {'thumb': channel["thumbnail"]} + } # There is a slight change that this will break... If the number of videos returned in total is divisible by MAX_VIDEOS_PER_PAGE with no remainder, there could possibly be no additional page after. This is unlikely though and I'm too lazy to handle it. if (len(channels) == MAX_CHANNELS_PER_PAGE): diff --git a/Contents/Code/PHMembers.py b/Contents/Code/PHMembers.py index 1d13992..434ea46 100644 --- a/Contents/Code/PHMembers.py +++ b/Contents/Code/PHMembers.py @@ -18,21 +18,17 @@ def BrowseMembers(title=L("DefaultBrowseMembersTitle"), url=PH_DISCOVER_MEMBERS_ ('Search Members', {'function':SearchMembers, 'search':True, 'directoryObjectArgs':{'prompt':'Search for...','summary':"Enter member's username"}}) ]) - # Get the HTML of the page - html = HTML.ElementFromURL(url) - - # Use xPath to extract a list of sort orders - sortOrders = html.xpath("//div[contains(@class, 'members-page')]/div[contains(@class, 'sectionTitle')]") + # Get list of sort orders + sortOrders = SharedCodeService.PHMembers.GetMemberSortOrders(url) # Loop through all sort orders for sortOrder in sortOrders: - # Use xPath to extract sort order details - sortOrderTitle = sortOrder.xpath("./h2/text()")[0] - sortOrderURL = BASE_URL + sortOrder.xpath("./div[contains(@class, 'filters')]/a/@href")[0] - # Add a menu item for the sort order - browseMembersMenuItems[sortOrderTitle] = {'function':ListMembers, 'functionArgs':{'url':sortOrderURL}} + browseMembersMenuItems[sortOrder["title"]] = { + 'function': ListMembers, + 'functionArgs': {'url': BASE_URL + sortOrder["url"]} + } return GenerateMenu(title, browseMembersMenuItems) @@ -46,22 +42,18 @@ def ListMembers(title, url=PH_DISCOVER_MEMBERS_URL, page=1, pageLimit=PH_MAX_MEM if (int(page) != 1): url = addURLParameters(url, {'page':str(page)}) - # Get the HTML of the page - html = HTML.ElementFromURL(url) - - # Use xPath to extract a list of members - members = html.xpath("//ul[contains(@class, 'userWidgetWrapperGrid')]/li") + # Get list of members + members = SharedCodeService.PHMembers.GetMembers(url) # Loop through all members for member in members: - # Use xPath to extract member details - memberTitle = member.xpath("./div[contains(@class, 'usernameWrap')]/a[contains(@class, 'usernameLink')]/text()")[0] - memberURL = BASE_URL + member.xpath("./div[contains(@class, 'usernameWrap')]/a[contains(@class, 'usernameLink')]/@href")[0] - memberThumbnail = member.xpath("./div[contains(@class, 'large-avatar')]/a[contains(@class, 'userLink')]/img/@src")[0] - # Add a menu item for the member - listMembersMenuItems[memberTitle] = {'function':MemberMenu, 'functionArgs':{'url':memberURL, 'username':memberTitle}, 'directoryObjectArgs':{'thumb':memberThumbnail}} + listMembersMenuItems[member["title"]] = { + 'function': MemberMenu, + 'functionArgs': {'url': BASE_URL + member["url"], 'username':member["title"]}, + 'directoryObjectArgs': {'thumb': member["thumbnail"]} + } # There is a slight change that this will break... If the number of members returned in total is divisible by pageLimit with no remainder, there could possibly be no additional page after. This is unlikely though and I'm too lazy to handle it. if (len(members) == int(pageLimit)): @@ -95,9 +87,9 @@ def MemberMenu(title, url, username): ('Watched Videos', {'function':ListVideos, 'functionArgs':{'title':username + "'s Watched Videos", 'url':url + '/videos/recent'}}), ('Public Playlists', {'function':ListPlaylists, 'functionArgs':{'title':username + "'s Public Playlists", 'url':url + '/playlists/public'}}), ('Favorite Playlists', {'function':ListPlaylists, 'functionArgs':{'title':username + "'s Favorite Playlists", 'url':url + '/playlists/favorites'}}), - ('Channels', {'function':MemberChannels, 'functionArgs':{'title':username + "'s Channels", 'url':url + '/channels'}}), - ('Channel Subscriptions', {'function':MemberSubscribedChannels, 'functionArgs':{'title':username + "'s Channel Subscriptions", 'url':url + '/channel_subscriptions'}}), - ('Porn Star Subscriptions', {'function':MemberSubscribedPornStars, 'functionArgs':{'title':username + "'s Porn Star Subscriptions", 'url':url + '/pornstar_subscriptions'}}), + ('Channels', {'function':ListMemberChannels, 'functionArgs':{'title':username + "'s Channels", 'url':url + '/channels'}}), + ('Channel Subscriptions', {'function':ListMemberSubscribedChannels, 'functionArgs':{'title':username + "'s Channel Subscriptions", 'url':url + '/channel_subscriptions'}}), + ('Porn Star Subscriptions', {'function':ListMemberSubscribedPornStars, 'functionArgs':{'title':username + "'s Porn Star Subscriptions", 'url':url + '/pornstar_subscriptions'}}), ('Subscribers', {'function':ListMembers, 'functionArgs':{'title':username + "'s Subscribers", 'url':url + '/subscribers', 'pageLimit':PH_MAX_MEMBERS_PER_MEMBER_SUBSCRIBERS_PAGE}}), ('Member Subscriptions', {'function':ListMembers, 'functionArgs':{'title':username + "'s Member Subscriptions", 'url':url + '/subscriptions', 'pageLimit':PH_MAX_MEMBERS_PER_MEMBER_SUBSCRIPTIONS_PAGE}}), ('Friends', {'function':ListMembers, 'functionArgs':{'title':username + "'s Friends", 'url':url + '/friends', 'pageLimit':PH_MAX_MEMBERS_PER_MEMBER_FRIENDS_PAGE}}) @@ -210,7 +202,7 @@ def MemberMenu(title, url, username): return GenerateMenu(title, memberMenuItems, no_cache=True) @route(ROUTE_PREFIX + '/members/channels') -def MemberChannels(url, title="Member Channels", page=1): +def ListMemberChannels(url, title="Member Channels", page=1): # Create a dictionary of menu items memberChannelMenuItems = OrderedDict() @@ -219,69 +211,60 @@ def MemberChannels(url, title="Member Channels", page=1): if (int(page) != 1): url = addURLParameters(url, {'page':str(page)}) - # Get the HTML of the page - html = HTML.ElementFromURL(url) - - # Use xPath to extract a list of Channels - channels = html.xpath("//div[contains(@class, 'sectionWrapper')]/div[contains(@class, 'topheader')]") + # Get list of channels + channels = SharedCodeService.PHMembers.GetMemberChannels(url) for channel in channels: - # Use xPath to extract Channel details - channelTitle = channel.xpath("./div[contains(@class, 'floatLeft')]/div[contains(@class, 'title')]/a/text()")[0] - channelURL = BASE_URL + channel.xpath("./div[contains(@class, 'floatLeft')]/div[contains(@class, 'title')]/a/@href")[0] + "/videos" - channelThumb = channel.xpath("./div[contains(@class, 'avatarWrapper')]/a/img/@src")[0] - # Add a menu item for the Channel - memberChannelMenuItems[channelTitle] = {'function':BrowseVideos, 'functionArgs':{'url':channelURL, 'title':channelTitle}, 'directoryObjectArgs':{'thumb':channelThumb}} + # Add a menu item for the channel + memberChannelMenuItems[channel["title"]] = { + 'function': BrowseVideos, + 'functionArgs': {'url': BASE_URL + channel["url"], 'title':channel["title"]}, + 'directoryObjectArgs': {'thumb': channel["thumbnail"]} + } # There is a slight change that this will break... If the number of Channels returned in total is divisible by PH_MAX_MEMBER_CHANNELS_PER_PAGE with no remainder, there could possibly be no additional page after. This is unlikely though and I'm too lazy to handle it. if (len(channels) == PH_MAX_MEMBER_CHANNELS_PER_PAGE): - memberChannelMenuItems['Next Page'] = {'function':MemberChannels, 'functionArgs':{'title':title, 'url':url, 'page':int(page)+1}, 'nextPage':True} + memberChannelMenuItems['Next Page'] = {'function':ListMemberChannels, 'functionArgs':{'title':title, 'url':url, 'page':int(page)+1}, 'nextPage':True} return GenerateMenu(title, memberChannelMenuItems) @route(ROUTE_PREFIX + '/members/channels/subscribed') -def MemberSubscribedChannels(url, title="Member's Subscribed Channels"): +def ListMemberSubscribedChannels(url, title="Member's Subscribed Channels"): # Create a dictionary of menu items memberSubscribedChannelMenuItems = OrderedDict() - # Get the HTML of the page - html = HTML.ElementFromURL(url) - - # Use xPath to extract a list of subscribed Channels - channels = html.xpath("//div[contains(@class, 'channelSubWidgetContainer')]/ul/li[contains(@class, 'channelSubChannelWig')]") + # Get list of channels + channels = SharedCodeService.PHMembers.GetMemberSubscribedChannels(url) for channel in channels: - # Use xPath to extract Channel details - channelTitle = channel.xpath("./div/div[contains(@class, 'wtitle')]/a/text()")[0] - channelURL = BASE_URL + channel.xpath("./div/div[contains(@class, 'wtitle')]/a/@href")[0] + "/videos" - channelThumb = channel.xpath("./div/div/a/img/@src")[0] # Add a menu item for the Channel - memberSubscribedChannelMenuItems[channelTitle] = {'function':BrowseVideos, 'functionArgs':{'url':channelURL, 'title':channelTitle}, 'directoryObjectArgs':{'thumb':channelThumb}} + memberSubscribedChannelMenuItems[channel["title"]] = { + 'function': BrowseVideos, + 'functionArgs': {'url': BASE_URL + channel["url"], 'title':channel["title"]}, + 'directoryObjectArgs': {'thumb': channel["thumbnail"]} + } return GenerateMenu(title, memberSubscribedChannelMenuItems) @route(ROUTE_PREFIX + '/members/pornstars') -def MemberSubscribedPornStars(url, title="Member's Subscribed Porn Stars"): +def ListMemberSubscribedPornStars(url, title="Member's Subscribed Porn Stars"): # Create a dictionary of menu items memberSubscribedPornStarsMenuItems = OrderedDict() - # Get the HTML of the page - html = HTML.ElementFromURL(url) - - # Use xPath to extract a list of subscribed Porn Stars - pornStars = html.xpath("//ul[contains(@class,'pornStarGrid')]/li/div[contains(@class,'user-flag')]/div[contains(@class,'avatarWrap')]/a") + # Get list of porn stars + pornStars = SharedCodeService.PHMembers.GetMemberSubscribedPornStars(url) for pornStar in pornStars: - # Use xPath to extract Porn Star details - pornStarTitle = pornStar.xpath("./img/@alt")[0] - pornStarURL = BASE_URL + pornStar.xpath("./@href")[0] - pornStarThumb = pornStar.xpath("./img/@src")[0] # Add a menu item for the Porn Star - memberSubscribedPornStarsMenuItems[pornStarTitle] = {'function':BrowseVideos, 'functionArgs':{'url':pornStarURL, 'title':pornStarTitle}, 'directoryObjectArgs':{'thumb':pornStarThumb}} + memberSubscribedPornStarsMenuItems[pornStar["title"]] = { + 'function': BrowseVideos, + 'functionArgs': {'url': BASE_URL + pornStar["url"], 'title':pornStar["title"]}, + 'directoryObjectArgs': {'thumb': pornStar["thumbnail"]} + } return GenerateMenu(title, memberSubscribedPornStarsMenuItems) \ No newline at end of file diff --git a/Contents/Code/PHPlaylists.py b/Contents/Code/PHPlaylists.py index b24a729..83c5db3 100644 --- a/Contents/Code/PHPlaylists.py +++ b/Contents/Code/PHPlaylists.py @@ -34,25 +34,22 @@ def ListPlaylists(title, url = PH_PLAYLISTS_URL, page=1): if (int(page) != 1): url = addURLParameters(url, {'page':str(page)}) - # Get the HTML of the page - html = HTML.ElementFromURL(url) - - # Use xPath to extract a list of playlists - playlists = html.xpath("//ul[contains(@class, 'user-playlist')]/li[contains(@id, 'playlist')]") + # Get list of playlists + playlists = SharedCodeService.PHPlaylists.GetPlaylists(url) # Loop through all playlists for playlist in playlists: # Make sure Playlist isn't empty - if (len(playlist.xpath(".//span[contains(@class,'playlist-videos')]/span[contains(@class,'number')]/span[text()='0']")) < 1): - - # Use xPath to extract playlist details - playlistTitle = playlist.xpath("./div/div[contains(@class, 'thumbnail-info-wrapper')]/span[contains(@class, 'title')]/a[contains(@class, 'title')]/text()")[0] - playlistURL = BASE_URL + playlist.xpath("./div/div[contains(@class, 'thumbnail-info-wrapper')]/span[contains(@class, 'title')]/a[contains(@class, 'title')]/@href")[0] - playlistThumbnail = playlist.xpath("./div/div[contains(@class, 'linkWrapper')]/img[contains(@class, 'largeThumb')]/@data-mediumthumb")[0] + if (playlist["isEmpty"] == False): # Add a menu item for the playlist - listPlaylistsMenuItems[playlistTitle] = {'function':BrowseVideos, 'functionArgs':{'url':playlistURL}, 'directoryObjectArgs':{'thumb':playlistThumbnail}} + # TODO: I am currently using the playlist title as a key, however these aren't guarenteed to be unique. + listPlaylistsMenuItems[playlist["title"]] = { + 'function': BrowseVideos, + 'functionArgs': {'url': BASE_URL + playlist["url"]}, + 'directoryObjectArgs': {'thumb': playlist["thumbnail"]} + } # There is a slight change that this will break... If the number of playlists returned in total is divisible by MAX_PLAYLISTS_PER_PAGE with no remainder, there could possibly be no additional page after. This is unlikely though and I'm too lazy to handle it. if (len(playlists) == MAX_PLAYLISTS_PER_PAGE): diff --git a/Contents/Code/PHPornStars.py b/Contents/Code/PHPornStars.py index 26b36c7..f1ebf91 100644 --- a/Contents/Code/PHPornStars.py +++ b/Contents/Code/PHPornStars.py @@ -36,22 +36,18 @@ def ListPornStars(title, url = PH_PORNSTARS_URL, page=1): if (int(page) != 1): url = addURLParameters(url, {'page':str(page)}) - # Get the HTML of the page - html = HTML.ElementFromURL(url) - - # Use xPath to extract a list of porn stars - pornStars = html.xpath("//ul[contains(@class, 'pornstarIndex')]/li") + # Get list of porn stars + pornStars = SharedCodeService.PHPornStars.GetPornStars(url) # Loop through all channels for pornStar in pornStars: - # Use xPath to extract porn star details - pornStarName = pornStar.xpath("./div/div[contains(@class, 'thumbnail-info-wrapper')]/a/text()")[0] - pornStarURL = BASE_URL + pornStar.xpath("./div/div[contains(@class, 'thumbnail-info-wrapper')]/a/@href")[0] - pornStarThumbnail = pornStar.xpath("./div/a/img/@src")[0] - # Add a menu item for the porn star - listPornStarsMenuItems[pornStarName] = {'function':BrowseVideos, 'functionArgs':{'url':pornStarURL}, 'directoryObjectArgs':{'thumb':pornStarThumbnail}} + listPornStarsMenuItems[pornStar["name"]] = { + 'function': BrowseVideos, + 'functionArgs': {'url': BASE_URL + pornStar["url"]}, + 'directoryObjectArgs': {'thumb': pornStar["thumbnail"]} + } # There is a slight change that this will break... If the number of videos returned in total is divisible by MAX_VIDEOS_PER_PAGE with no remainder, there could possibly be no additional page after. This is unlikely though and I'm too lazy to handle it. if (len(pornStars) == MAX_PORNSTARS_PER_PAGE): diff --git a/Contents/Services/Shared Code/PHCategories.pys b/Contents/Services/Shared Code/PHCategories.pys new file mode 100644 index 0000000..f0be077 --- /dev/null +++ b/Contents/Services/Shared Code/PHCategories.pys @@ -0,0 +1,21 @@ +def GetCategories(url): + # Create an empty list to hold the categories + categories = []; + + # Get the HTML of the page + html = HTML.ElementFromURL(url) + + # Use xPath to extract a list of catgegories + categoryElements = html.xpath("//div[@id='categoriesStraightImages']/ul[contains(@class, 'categories-list')]/li/div") + + # Loop through all categories + for categoryElement in categoryElements: + + # Use xPath to extract category details, and all the category to the list + categories.append({ + 'title': categoryElement.xpath("./h5/a/strong/text()")[0], + 'url': categoryElement.xpath("./h5/a/@href")[0], + 'thumbnail': categoryElement.xpath("./a/img/@src")[0] + }); + + return categories \ No newline at end of file diff --git a/Contents/Services/Shared Code/PHChannels.pys b/Contents/Services/Shared Code/PHChannels.pys new file mode 100644 index 0000000..fc6421b --- /dev/null +++ b/Contents/Services/Shared Code/PHChannels.pys @@ -0,0 +1,21 @@ +def GetChannels(url): + # Create an empty list to hold the channels + channels = [] + + # Get the HTML of the page + html = HTML.ElementFromURL(url) + + # Use xPath to extract a list of channels + channelElements = html.xpath("//div[contains(@class, 'listChannelsWrapper')]/ul/li/div") + + # Loop through all channels + for channelElement in channelElements: + + # Use xPath to extract the channel details, and add the channel to the list + channels.append({ + 'title': channelElement.xpath("./div[contains(@class, 'description')]/div[contains(@class, 'descriptionContainer')]/ul/li/a[contains(@class, 'usernameLink')]/text()")[0], + 'url': channelElement.xpath("./div[contains(@class, 'description')]/div[contains(@class, 'descriptionContainer')]/ul/li/a[contains(@class, 'usernameLink')]/@href")[0], + 'thumbnail': channelElement.xpath("./div[contains(@class,'description')]/div[contains(@class, 'avatar')]/a/img/@src")[0] + }) + + return channels \ No newline at end of file diff --git a/Contents/Services/Shared Code/PHMembers.pys b/Contents/Services/Shared Code/PHMembers.pys new file mode 100644 index 0000000..1c39a61 --- /dev/null +++ b/Contents/Services/Shared Code/PHMembers.pys @@ -0,0 +1,102 @@ +def GetMemberSortOrders(url): + # Create an empty list to hold the sort orders + sortOrders = [] + + # Get the HTML of the page + html = HTML.ElementFromURL(url) + + # Use xPath to extract a list of sort orders + sortOrderElements = html.xpath("//div[contains(@class, 'members-page')]/div[contains(@class, 'sectionTitle')]") + + # Loop through all sort orders + for sortOrderElement in sortOrderElements: + + # Use xPath to extract sort order details, and add the sort order to the list + sortOrders.append({ + 'title': sortOrderElement.xpath("./h2/text()")[0], + 'url': sortOrderElement.xpath("./div[contains(@class, 'filters')]/a/@href")[0] + }) + + return sortOrders + +def GetMembers(url): + # Create an empty list to hold the members + members = [] + + # Get the HTML of the page + html = HTML.ElementFromURL(url) + + # Use xPath to extract a list of members + memberElements = html.xpath("//ul[contains(@class, 'userWidgetWrapperGrid')]/li") + + # Loop through all members + for memberElement in memberElements: + + # Use xPath to extract member details, and add the member to the list + members.append({ + 'title': memberElement.xpath("./div[contains(@class, 'usernameWrap')]/a[contains(@class, 'usernameLink')]/text()")[0], + 'url': memberElement.xpath("./div[contains(@class, 'usernameWrap')]/a[contains(@class, 'usernameLink')]/@href")[0], + 'thumbnail': memberElement.xpath("./div[contains(@class, 'large-avatar')]/a[contains(@class, 'userLink')]/img/@src")[0] + }) + + return members + +def GetMemberChannels(url): + # Create an empty list to hold the channels + channels = [] + + # Get the HTML of the page + html = HTML.ElementFromURL(url) + + # Use xPath to extract a list of channels + channelElements = html.xpath("//div[contains(@class, 'sectionWrapper')]/div[contains(@class, 'topheader')]") + + for channelElement in channelElements: + # Use xPath to extract channel details, and add the channel to the list + channels.append({ + 'title': channelElement.xpath("./div[contains(@class, 'floatLeft')]/div[contains(@class, 'title')]/a/text()")[0], + 'url': channelElement.xpath("./div[contains(@class, 'floatLeft')]/div[contains(@class, 'title')]/a/@href")[0] + "/videos", + 'thumbnail': channelElement.xpath("./div[contains(@class, 'avatarWrapper')]/a/img/@src")[0] + }) + + return channels + +def GetMemberSubscribedChannels(url): + # Create an empty list to hold the channels + channels = [] + + # Get the HTML of the page + html = HTML.ElementFromURL(url) + + # Use xPath to extract a list of subscribed channels + channelElements = html.xpath("//div[contains(@class, 'channelSubWidgetContainer')]/ul/li[contains(@class, 'channelSubChannelWig')]") + + for channelElement in channelElements: + # Use xPath to extract channel details, and add the channel to the list + channels.append({ + 'title': channelElement.xpath("./div/div[contains(@class, 'wtitle')]/a/text()")[0], + 'url': channelElement.xpath("./div/div[contains(@class, 'wtitle')]/a/@href")[0] + "/videos", + 'thumbnail': channelElement.xpath("./div/div/a/img/@src")[0] + }) + + return channels + +def GetMemberSubscribedPornStars(url): + # Create an empty list to hold the porn stars + pornStars = [] + + # Get the HTML of the page + html = HTML.ElementFromURL(url) + + # Use xPath to extract a list of subscribed porn stars + pornStarElements = html.xpath("//ul[contains(@class,'pornStarGrid')]/li/div[contains(@class,'user-flag')]/div[contains(@class,'avatarWrap')]/a") + + for pornStarElement in pornStarElements: + # Use xPath to extract porn star details, and add the porn star to the list + pornStars.append({ + 'title': pornStarElement.xpath("./img/@alt")[0], + 'url': pornStarElement.xpath("./@href")[0], + 'thumbnail': pornStarElement.xpath("./img/@src")[0] + }) + + return pornStars \ No newline at end of file diff --git a/Contents/Services/Shared Code/PHPlaylists.pys b/Contents/Services/Shared Code/PHPlaylists.pys new file mode 100644 index 0000000..cfcdf37 --- /dev/null +++ b/Contents/Services/Shared Code/PHPlaylists.pys @@ -0,0 +1,31 @@ +def GetPlaylists(url): + # Create an empty list to hold the playlists + playlists = [] + + # Get the HTML of the page + html = HTML.ElementFromURL(url) + + # Use xPath to extract a list of playlists + playlistElements = html.xpath("//ul[contains(@class, 'user-playlist')]/li[contains(@id, 'playlist')]") + + # Loop through all playlists + for playlistElement in playlistElements: + + # Use xPath to extract playlist details + playlist = { + 'title': playlistElement.xpath("./div/div[contains(@class, 'thumbnail-info-wrapper')]/span[contains(@class, 'title')]/a[contains(@class, 'title')]/text()")[0], + 'url': playlistElement.xpath("./div/div[contains(@class, 'thumbnail-info-wrapper')]/span[contains(@class, 'title')]/a[contains(@class, 'title')]/@href")[0] + } + + # Make sure Playlist isn't empty + if (len(playlistElement.xpath(".//span[contains(@class,'playlist-videos')]/span[contains(@class,'number')]/span[text()='0']")) < 1): + playlist["isEmpty"] = False + playlist["thumbnail"] = playlistElement.xpath("./div/div[contains(@class, 'linkWrapper')]/img[contains(@class, 'largeThumb')]/@data-mediumthumb")[0] + else: + playlist["isEmpty"] = True + playlist["thumbnail"] = None + + # Add the playlist to the list + playlists.append(playlist) + + return playlists \ No newline at end of file diff --git a/Contents/Services/Shared Code/PHPornStars.pys b/Contents/Services/Shared Code/PHPornStars.pys new file mode 100644 index 0000000..dbaef37 --- /dev/null +++ b/Contents/Services/Shared Code/PHPornStars.pys @@ -0,0 +1,21 @@ +def GetPornStars(url): + # Create an empty list to hold the porn stars + pornStars = [] + + # Get the HTML of the page + html = HTML.ElementFromURL(url) + + # Use xPath to extract a list of porn stars + pornStarElements = html.xpath("//ul[contains(@class, 'pornstarIndex')]/li") + + # Loop through all channels + for pornStarElement in pornStarElements: + + # Use xPath to extract porn star details, and add the porn star to the list + pornStars.append({ + 'name': pornStarElement.xpath("./div/div[contains(@class, 'thumbnail-info-wrapper')]/a/text()")[0], + 'url': pornStarElement.xpath("./div/div[contains(@class, 'thumbnail-info-wrapper')]/a/@href")[0], + 'thumbnail': pornStarElement.xpath("./div/a/img/@src")[0] + }) + + return pornStars \ No newline at end of file From 2359787e911e03f8a63ce8258b76a1d3d8ad66a7 Mon Sep 17 00:00:00 2001 From: NotVinny Date: Mon, 1 Aug 2016 21:44:15 -0400 Subject: [PATCH 34/48] More code into Shared Code Moving more xPath code into Shared Code. Also moved the function to get video meta data JSON into Shared Code, as that code was repeated throughout this repository. --- Contents/Code/PHCommon.py | 104 ++++-------------- Contents/Services/Shared Code/PHCommon.pys | 90 +++++++++++++++ Contents/Services/URL/pornhub/ServiceCode.pys | 22 ++-- 3 files changed, 117 insertions(+), 99 deletions(-) create mode 100644 Contents/Services/Shared Code/PHCommon.pys diff --git a/Contents/Code/PHCommon.py b/Contents/Code/PHCommon.py index e07f591..7cc8caf 100644 --- a/Contents/Code/PHCommon.py +++ b/Contents/Code/PHCommon.py @@ -1,4 +1,3 @@ -import json import time import urllib import urlparse @@ -21,8 +20,6 @@ MAX_VIDEOS_PER_PORNSTAR_PAGE = 36 MAX_VIDEOS_PER_USER_PAGE = 48 -PH_VIDEO_METADATA_JSON_REGEX = "var flashvars_\d+ = ({[\S\s]+?});" - SORT_ORDERS = OrderedDict([ ('Most Recent', {'o':'mr'}), ('Most Viewed - All Time', {'o':'mv', 't':'a'}), @@ -98,65 +95,25 @@ def ListVideos(title=L("DefaultListVideosTitle"), url=PH_VIDEO_URL, page=1, page # In the Browse All Videos and Categories menus, they display MAX_VIDEOS_PER_PAGE_PAGE_ONE on page one, and MAX_VIDEOS_PER_PAGE from page two onward pageLimit = MAX_VIDEOS_PER_PAGE - # Get the HTML of the site - html = HTML.ElementFromURL(url) - - # Use xPath to extract a list of divs that contain videos - videos = html.xpath("//li[contains(@class,'videoblock')]") - - # This piece of code is ridiculous. From the best I can gether, the poorly formed HTML on PornHub makes xPath choke at 123 videos. So I rounded it down to 120 and limited the videos to that. This should only affect playlists, but it is a really ridiculous problem - if (len(videos) >= 120): - videos = videos[0:119] + # Get list of categories + videos = SharedCodeService.PHCommon.GetVideos(url) # Loop through the videos in the page for video in videos: - # Get the link of the video - videoURL = video.xpath("./div/div/a/@href")[0] - # Check for relative URLs - if (videoURL.startswith('/')): - videoURL = BASE_URL + videoURL + if (video["url"].startswith('/')): + video["url"] = BASE_URL + video["url"] # Make sure the last step went smoothly (this is probably redundant but oh well) - if (videoURL.startswith(BASE_URL)): - # Use xPath to extract video details - videoTitle = video.xpath("./div/div/a/div[contains(@class, 'thumbnail-info-wrapper')]/span[@class='title']/a/text()")[0] - thumbnail = video.xpath("./div/div/a/div[@class='img']/img/@data-mediumthumb")[0] - - # Get the duration of the video - durationString = video.xpath("./div/div/a/div[@class='img']/div[@class='marker-overlays']/var[@class='duration']/text()")[0] - - # Split it into a list separated by colon - durationArray = durationString.split(":") - - # Set a default duration of 0 - duration = 0 - - if (len(durationArray) == 2): - # Dealing with MM:SS - minutes = int(durationArray[0]) - seconds = int(durationArray[1]) - - duration = (minutes*60 + seconds) * 1000 - - elif (len(durationArray) == 3): - # Dealing with HH:MM:SS... PornHub doesn't do this, but I'll keep it as a backup anyways - hours = int(durationArray[0]) - minutes = int(durationArray[1]) - seconds = int(durationArray[2]) - - duration = (hours*3600 + minutes * 60 + seconds) * 1000 - else: - # WTF - pass + if (video["url"].startswith(BASE_URL)): # Add a Directory Object for the video to the Object Container oc.add(DirectoryObject( - key = Callback(VideoMenu, url=videoURL, title=videoTitle, duration=duration), - title = videoTitle, - thumb = thumbnail, - duration = duration + key = Callback(VideoMenu, url=video["url"], title=video["title"], duration=video["duration"]), + title = video["title"], + thumb = video["thumbnail"], + duration = video["duration"] )) # There is a slight change that this will break... If the number of videos returned in total is divisible by MAX_VIDEOS_PER_PAGE with no remainder, there could possibly be no additional page after. This is unlikely though and I'm too lazy to handle it. @@ -193,14 +150,9 @@ def VideoMenu(url, title=L("DefaultVideoMenuTitle"), duration=0): # Get the HTML of the site html = HTML.ElementFromURL(url) - htmlString = HTML.StringFromElement(html) - # Search for the video metadata JSON string - videoMetaDataString = Regex(PH_VIDEO_METADATA_JSON_REGEX).search(htmlString) - - if (videoMetaDataString): - # If found, convert the JSON string to an object - videoMetaData = json.loads(videoMetaDataString.group(1)) + # Get the video meta data + videoMetaData = SharedCodeService.PHCommon.GetVideoMetaDataJSON(url) # Check to see if Thumbnails are enabled in the video sub menu in the Preferences, and also if the Thumbnail metadata exists if (Prefs["videoMenuShowThumbnails"] and videoMetaData["thumbs"] and videoMetaData["thumbs"]["urlPattern"]): @@ -359,33 +311,17 @@ def VideoThumbnails(url, title="Thumbnails"): # Create the object to contain the thumbnails oc = ObjectContainer(title2=title) - # Get the HTML of the site - html = HTML.ElementFromURL(url) - htmlString = HTML.StringFromElement(html) + # Get the video thumbnail URLs + thumbnailURLs = SharedCodeService.PHCommon.GetVideoThumbnailURLs(url) - # Search for the video metadata JSON string - videoMetaDataString = Regex(PH_VIDEO_METADATA_JSON_REGEX).search(htmlString) - - if (videoMetaDataString): - # If found, convert the JSON string to an object - videoMetaData = json.loads(videoMetaDataString.group(1)) + for i, thumbnailURL in enumerate(thumbnailURLs): - if (videoMetaData["thumbs"] and videoMetaData["thumbs"]["urlPattern"] != False): - - videoThumbnailsCount = Regex("/S{(\d+)}.jpg").search(videoMetaData["thumbs"]["urlPattern"]) - - if (videoThumbnailsCount): - videoThumbnailsCountString = videoThumbnailsCount.group(1) - - for i in range(int(videoThumbnailsCountString) + 1): - thumbnailURL = videoMetaData["thumbs"]["urlPattern"].replace("/S{" + videoThumbnailsCountString + "}.jpg", "/S" + str(i) + ".jpg") - - oc.add(PhotoObject( - key = thumbnailURL, - rating_key = thumbnailURL, - title = str(i), - thumb = thumbnailURL - )) + oc.add(PhotoObject( + key = thumbnailURL, + rating_key = thumbnailURL, + title = "Thumbnail #" + str(i + 1), + thumb = thumbnailURL + )) return oc diff --git a/Contents/Services/Shared Code/PHCommon.pys b/Contents/Services/Shared Code/PHCommon.pys new file mode 100644 index 0000000..3c518ff --- /dev/null +++ b/Contents/Services/Shared Code/PHCommon.pys @@ -0,0 +1,90 @@ +import json + +PH_VIDEO_METADATA_JSON_REGEX = "var flashvars_\d+ = ({[\S\s]+?});" + +def GetVideoMetaDataJSON(htmlElement = None, url = None): + # Get the HTML of the site + if (htmlElement is None): + htmlElement = HTML.ElementFromURL(url) + + htmlString = HTML.StringFromElement(htmlElement) + + # Search for the video metadata JSON string + videoMetaDataString = Regex(PH_VIDEO_METADATA_JSON_REGEX).search(htmlString) + + if (videoMetaDataString): + # If found, convert the JSON string to an object + return json.loads(videoMetaDataString.group(1)) + else: + return None + +def GetVideos(url): + # Create an empty list to hold the categories + videos = []; + + # Get the HTML of the site + html = HTML.ElementFromURL(url) + + # Use xPath to extract a list of divs that contain videos + videoElements = html.xpath("//li[contains(@class,'videoblock')]") + + # This piece of code is ridiculous. From the best I can gether, the poorly formed HTML on PornHub makes xPath choke at 123 videos. So I rounded it down to 120 and limited the videos to that. This should only affect playlists, but it is a really ridiculous problem + if (len(videoElements) >= 120): + videoElements = videoElements[0:120] + + # Loop through the videos in the page + for videoElement in videoElements: + + # Use xPath to extract video details + video = { + 'title': videoElement.xpath("./div/div/a/div[contains(@class, 'thumbnail-info-wrapper')]/span[@class='title']/a/text()")[0], + 'url': videoElement.xpath("./div/div/a/@href")[0], + 'thumbnail': videoElement.xpath("./div/div/a/div[@class='img']/img/@data-mediumthumb")[0] + } + + # Get the duration of the video + durationString = videoElement.xpath("./div/div/a/div[@class='img']/div[@class='marker-overlays']/var[@class='duration']/text()")[0] + + # Split it into a list separated by colon + durationArray = durationString.split(":") + + if (len(durationArray) == 2): + # Dealing with MM:SS + minutes = int(durationArray[0]) + seconds = int(durationArray[1]) + + video["duration"] = (minutes*60 + seconds) * 1000 + + elif (len(durationArray) == 3): + # Dealing with HH:MM:SS... PornHub doesn't do this, but I'll keep it as a backup anyways + hours = int(durationArray[0]) + minutes = int(durationArray[1]) + seconds = int(durationArray[2]) + + video["duration"] = (hours*3600 + minutes * 60 + seconds) * 1000 + else: + # Set a default duration of 0 + video["duration"] = 0 + + videos.append(video) + + return videos + +def GetVideoThumbnailURLs(url): + # Create an empty list to hold the thumbnail URLs + thumbnailURLs = []; + + # Get the video meta data + videoMetaData = SharedCodeService.PHCommon.GetVideoMetaDataJSON(url=url) + + if (videoMetaData["thumbs"] and videoMetaData["thumbs"]["urlPattern"] != False): + + videoThumbnailsCount = Regex("/S{(\d+)}.jpg").search(videoMetaData["thumbs"]["urlPattern"]) + + if (videoThumbnailsCount): + videoThumbnailsCountString = videoThumbnailsCount.group(1) + + for i in range(int(videoThumbnailsCountString) + 1): + thumbnailURLs.append(videoMetaData["thumbs"]["urlPattern"].replace("/S{" + videoThumbnailsCountString + "}.jpg", "/S" + str(i) + ".jpg")) + + return thumbnailURLs \ No newline at end of file diff --git a/Contents/Services/URL/pornhub/ServiceCode.pys b/Contents/Services/URL/pornhub/ServiceCode.pys index 2218690..d85d39c 100644 --- a/Contents/Services/URL/pornhub/ServiceCode.pys +++ b/Contents/Services/URL/pornhub/ServiceCode.pys @@ -1,9 +1,8 @@ -import json +import PHCommon PH_POTENTIAL_RESOLUTIONS = ["1080", "720", "480", "240", "180"] PH_VIDEO_URL_REGEX = "var player_quality_%sp = '([^']+)'" -PH_VIDEO_METADATA_JSON_REGEX = "var flashvars_\d+ = ({[\S\s]+?});" def NormalizeURL(url): @@ -13,14 +12,11 @@ def MetadataObjectForURL(url): # Get the HTML string from the given URL html = HTML.ElementFromURL(url) - htmlString = HTML.StringFromElement(html) - # Search for the video metadata JSON string - videoMetaDataString = Regex(PH_VIDEO_METADATA_JSON_REGEX).search(htmlString) + # Get the video meta data + videoMetaData = PHCommon.GetVideoMetaDataJSON(htmlElement=html) - if (videoMetaDataString): - # If found, convert the JSON string to an object - videoMetaData = json.loads(videoMetaDataString.group(1)) + if (videoMetaData): return VideoClipObject( title = videoMetaData["video_title"], @@ -53,12 +49,8 @@ def MediaObjectsForURL(url): html = HTML.ElementFromURL(url) htmlString = HTML.StringFromElement(html) - # Search for the video metadata JSON string - videoMetaDataString = Regex(PH_VIDEO_METADATA_JSON_REGEX).search(htmlString) - - if videoMetaDataString: - # If found, convert the JSON string to an object - videoMetaData = json.loads(videoMetaDataString.group(1)) + # Get the video meta data + videoMetaData = PHCommon.GetVideoMetaDataJSON(htmlElement=html) # Loop through all potential resolutions for resolution in PH_POTENTIAL_RESOLUTIONS: @@ -83,7 +75,7 @@ def MediaObjectsForURL(url): ) # Check to see if extra metadata is available - if videoMetaDataString: + if videoMetaData: mediaObject.duration = int(videoMetaData["video_duration"]) * 1000 mediaObjects.append(mediaObject) From f506207ab5c00a0f26b085ed50a5b38be37c98f5 Mon Sep 17 00:00:00 2001 From: NotVinny Date: Tue, 2 Aug 2016 00:42:26 -0400 Subject: [PATCH 35/48] Even more code into Shared Code More of the same from the last two commits... Reorganizing code. --- Contents/Code/PHCommon.py | 92 ++++++------------- Contents/Services/Shared Code/PHChannels.pys | 14 ++- Contents/Services/Shared Code/PHCommon.pys | 67 +++++++++++++- Contents/Services/Shared Code/PHPornStars.pys | 13 ++- 4 files changed, 117 insertions(+), 69 deletions(-) diff --git a/Contents/Code/PHCommon.py b/Contents/Code/PHCommon.py index 7cc8caf..742665e 100644 --- a/Contents/Code/PHCommon.py +++ b/Contents/Code/PHCommon.py @@ -1,4 +1,3 @@ -import time import urllib import urlparse from collections import OrderedDict @@ -9,8 +8,6 @@ PH_VIDEO_URL = BASE_URL + '/video' PH_VIDEO_SEARCH_URL = PH_VIDEO_URL + '/search?search=%s' -PH_PORNSTAR_HOVER_URL = BASE_URL + '/pornstar/hover?id=%s' -PH_CHANNEL_HOVER_URL = BASE_URL + '/channel/hover?id=%s' PH_USER_HOVER_URL = BASE_URL + '/user/hover?id=%s' MAX_VIDEOS_PER_PAGE = 44 @@ -130,9 +127,6 @@ def VideoMenu(url, title=L("DefaultVideoMenuTitle"), duration=0): # Create the object to contain all of the videos options oc = ObjectContainer(title2 = title, no_cache=True) - # Create an empty object for video metadata - videoMetaData = {} - # Create the Video Clip Object vco = URLService.MetadataObjectForURL(url) @@ -152,7 +146,7 @@ def VideoMenu(url, title=L("DefaultVideoMenuTitle"), duration=0): html = HTML.ElementFromURL(url) # Get the video meta data - videoMetaData = SharedCodeService.PHCommon.GetVideoMetaDataJSON(url) + videoMetaData = SharedCodeService.PHCommon.GetVideoMetaDataJSON(htmlElement=html) # Check to see if Thumbnails are enabled in the video sub menu in the Preferences, and also if the Thumbnail metadata exists if (Prefs["videoMenuShowThumbnails"] and videoMetaData["thumbs"] and videoMetaData["thumbs"]["urlPattern"]): @@ -184,16 +178,14 @@ def VideoMenu(url, title=L("DefaultVideoMenuTitle"), duration=0): if (uploaderType == "channel"): channelID = uploader[0].xpath("./@data-channelid")[0] - # Fetch the thumbnail - channelHoverHTML = HTML.ElementFromURL(PH_CHANNEL_HOVER_URL % channelID) - - channelThumbnail = channelHoverHTML.xpath("//div[contains(@class, 'avatarIcon')]/a/img/@src")[0] + # Get the porn star hover meta data + channelHoverMetaData = SharedCodeService.PHChannels.GetChannelHoverMetaData(channelID) oc.add(DirectoryObject( key = Callback(BrowseVideos, url=uploaderURL + '/videos', title=uploaderName), title = uploaderName, summary = "Channel this video appears in", - thumb = channelThumbnail + thumb = channelHoverMetaData["thumbnail"] )) elif (uploaderType == "user"): pass @@ -294,16 +286,14 @@ def GenerateVideoPornStarDirectoryObject(pornStarElement): pornStarURL = BASE_URL + pornStarElement.xpath("./@href")[0] pornStarName = pornStarElement.xpath("./text()")[0] - # Fetch the thumbnail - pornStarHoverHTML = HTML.ElementFromURL(PH_PORNSTAR_HOVER_URL % pornStarID) - - pornStarThumbnail = pornStarHoverHTML.xpath("//div[@id='psBoxPictureContainer']/img/@src")[0] + # Get the porn star hover meta data + pornStarHoverMetaData = SharedCodeService.PHPornStars.GetPornStarHoverMetaData(pornStarID) return DirectoryObject( key = Callback(BrowseVideos, url=pornStarURL, title=pornStarName), title = pornStarName, summary = "Porn Star appearing in this video", - thumb = pornStarThumbnail + thumb = pornStarHoverMetaData["thumbnail"] ) @route(ROUTE_PREFIX + '/video/thumbnails') @@ -330,23 +320,17 @@ def RelatedVideos(url, title="Related Videos"): # Create the object to contain the related videos oc = ObjectContainer(title2=title) - # Get the HTML of the site - html = HTML.ElementFromURL(url) - - # Use xPath to extract the related videos - relatedVideos = html.xpath("//div[contains(@class, 'wrap')]/div[contains(@class, 'phimage')]") + # Get the video thumbnail URLs + relatedVideos = SharedCodeService.PHCommon.GetRelatedVideos(url) # Loop through related videos for relatedVideo in relatedVideos: - relatedVideoTitle = relatedVideo.xpath("./a/div[contains(@class, 'thumbnail-info-wrapper')]/span[contains(@class,'title')]/a/text()")[0] - relatedVideoURL = BASE_URL + relatedVideo.xpath("./a/div[contains(@class, 'thumbnail-info-wrapper')]/span[contains(@class,'title')]/a/@href")[0] - relatedVideoThumb = relatedVideo.xpath("./a/div[contains(@class, 'img')]/img/@data-mediumthumb")[0] oc.add(DirectoryObject( - key = Callback(VideoMenu, url=relatedVideoURL, title=relatedVideoTitle), - title = relatedVideoTitle, - summary = relatedVideoTitle, - thumb = relatedVideoThumb + key = Callback(VideoMenu, url=BASE_URL + relatedVideo["url"], title=relatedVideo["title"]), + title = relatedVideo["title"], + summary = relatedVideo["title"], + thumb = relatedVideo["thumbnail"] )) return oc @@ -356,22 +340,16 @@ def PlaylistsContainingVideo(url, title="Playlists Containing Video"): # Create the object to contain the playlists oc = ObjectContainer(title2=title) - # Get the HTML of the site - html = HTML.ElementFromURL(url) - - # Use xPath to extract the playlists - playlists = html.xpath("//ul[contains(@class, 'playlist-listingSmall')]/li/div[contains(@class, 'wrap')]") + # Get the playlists containing the video + playlists = SharedCodeService.PHCommon.GetPlaylistsContainingVideo(url) # Loop through playlists for playlist in playlists: - playlistTitle = playlist.xpath("./div[contains(@class, 'thumbnail-info-wrapper')]/span[contains(@class, 'title')]/a/text()")[0] - playlistURL = BASE_URL + playlist.xpath("./div[contains(@class, 'thumbnail-info-wrapper')]/span[contains(@class, 'title')]/a/@href")[0] - playlistThumb = playlist.xpath("./div[contains(@class, 'linkWrapper')]/img/@data-mediumthumb")[0] oc.add(DirectoryObject( - key = Callback(BrowseVideos, url=playlistURL, title=playlistTitle), - title = playlistTitle, - thumb = playlistThumb + key = Callback(BrowseVideos, url=BASE_URL + playlist["url"], title=playlist["title"]), + title = playlist["title"], + thumb = playlist["thumbnail"] )) return oc @@ -388,32 +366,18 @@ def VideoActions(url, title="Actions", header=None, message=None, replace_parent if (replace_parent): oc.replace_parent = replace_parent - # Get the HTML of the site - html = HTML.ElementFromURL(url) - htmlString = HTML.StringFromElement(html) - - # Search for the video metadata JSON string - videoMetaDataString = Regex(PH_VIDEO_METADATA_JSON_REGEX).search(htmlString) + # Get the playlists containing the video + actions = SharedCodeService.PHCommon.GetVideoActions(url) - if (videoMetaDataString): - # If found, convert the JSON string to an object - videoMetaData = json.loads(videoMetaDataString.group(1)) + for action in actions: - if (videoMetaData["actionTags"]): - actions = videoMetaData["actionTags"].split(",") - - for action in actions: - actionSegments = action.split(":") - - actionTimestamp = time.strftime('%H:%M:%S', time.gmtime(int(actionSegments[1]))) - actionTitle = actionSegments[0] - actionSummary = actionTitle + " starts at " + actionTimestamp - - oc.add(DirectoryObject( - key = Callback(VideoActions, url=url, title=title, header=actionTitle, message=actionSummary, replace_parent=True), - title = actionTimestamp + ": " + actionTitle, - summary = actionSummary - )) + actionSummary = action["title"] + " starts at " + action["timestamp"] + + oc.add(DirectoryObject( + key = Callback(VideoActions, url=url, title=title, header=action["title"], message=actionSummary, replace_parent=True), + title = action["timestamp"] + ": " + action["title"], + summary = actionSummary + )) return oc diff --git a/Contents/Services/Shared Code/PHChannels.pys b/Contents/Services/Shared Code/PHChannels.pys index fc6421b..977df7f 100644 --- a/Contents/Services/Shared Code/PHChannels.pys +++ b/Contents/Services/Shared Code/PHChannels.pys @@ -1,3 +1,5 @@ +PH_CHANNEL_HOVER_URL = 'http://pornhub.com' + '/channel/hover?id=%s' + def GetChannels(url): # Create an empty list to hold the channels channels = [] @@ -18,4 +20,14 @@ def GetChannels(url): 'thumbnail': channelElement.xpath("./div[contains(@class,'description')]/div[contains(@class, 'avatar')]/a/img/@src")[0] }) - return channels \ No newline at end of file + return channels + +def GetChannelHoverMetaData(channelID): + # Fetch the porn star hover HTML + channelHoverHTML = HTML.ElementFromURL(PH_CHANNEL_HOVER_URL % channelID) + + return { + 'name': channelHoverHTML.xpath("//div[contains(@class, 'avatarUserInfo')]/a[contains(@class,'username')]/text()")[0], + 'url': channelHoverHTML.xpath("//div[contains(@class, 'avatarUserInfo')]/a[contains(@class,'username')]/@href")[0], + 'thumbnail': channelHoverHTML.xpath("//div[contains(@class, 'avatarIcon')]/a/img/@src")[0] + } \ No newline at end of file diff --git a/Contents/Services/Shared Code/PHCommon.pys b/Contents/Services/Shared Code/PHCommon.pys index 3c518ff..d893e9e 100644 --- a/Contents/Services/Shared Code/PHCommon.pys +++ b/Contents/Services/Shared Code/PHCommon.pys @@ -1,4 +1,5 @@ import json +import time PH_VIDEO_METADATA_JSON_REGEX = "var flashvars_\d+ = ({[\S\s]+?});" @@ -20,7 +21,7 @@ def GetVideoMetaDataJSON(htmlElement = None, url = None): def GetVideos(url): # Create an empty list to hold the categories - videos = []; + videos = [] # Get the HTML of the site html = HTML.ElementFromURL(url) @@ -72,7 +73,7 @@ def GetVideos(url): def GetVideoThumbnailURLs(url): # Create an empty list to hold the thumbnail URLs - thumbnailURLs = []; + thumbnailURLs = [] # Get the video meta data videoMetaData = SharedCodeService.PHCommon.GetVideoMetaDataJSON(url=url) @@ -87,4 +88,64 @@ def GetVideoThumbnailURLs(url): for i in range(int(videoThumbnailsCountString) + 1): thumbnailURLs.append(videoMetaData["thumbs"]["urlPattern"].replace("/S{" + videoThumbnailsCountString + "}.jpg", "/S" + str(i) + ".jpg")) - return thumbnailURLs \ No newline at end of file + return thumbnailURLs + +def GetRelatedVideos(url): + # Create an empty list to hold the relatedVideos + relatedVideos = [] + + # Get the HTML of the site + html = HTML.ElementFromURL(url) + + # Use xPath to extract the related videos + relatedVideoElements = html.xpath("//div[contains(@class, 'wrap')]/div[contains(@class, 'phimage')]") + + # Loop through related videos + for relatedVideoElement in relatedVideoElements: + relatedVideos.append({ + 'title': relatedVideoElement.xpath("./a/div[contains(@class, 'thumbnail-info-wrapper')]/span[contains(@class,'title')]/a/text()")[0], + 'url': relatedVideoElement.xpath("./a/div[contains(@class, 'thumbnail-info-wrapper')]/span[contains(@class,'title')]/a/@href")[0], + 'thumbnail': relatedVideoElement.xpath("./a/div[contains(@class, 'img')]/img/@data-mediumthumb")[0] + }) + + return relatedVideos + +def GetPlaylistsContainingVideo(url): + # Create an empty list to hold the playlists + playlists = [] + + # Get the HTML of the site + html = HTML.ElementFromURL(url) + + # Use xPath to extract the playlists + playlistElements = html.xpath("//ul[contains(@class, 'playlist-listingSmall')]/li/div[contains(@class, 'wrap')]") + + # Loop through playlists + for playlistElement in playlistElements: + playlists.append({ + 'title': playlistElement.xpath("./div[contains(@class, 'thumbnail-info-wrapper')]/span[contains(@class, 'title')]/a/text()")[0], + 'url': playlistElement.xpath("./div[contains(@class, 'thumbnail-info-wrapper')]/span[contains(@class, 'title')]/a/@href")[0], + 'thumbnail': playlistElement.xpath("./div[contains(@class, 'linkWrapper')]/img/@data-mediumthumb")[0] + }) + + return playlists + +def GetVideoActions(url): + # Create an empty list to hold the actions + actions = [] + + # Get the video meta data + videoMetaData = SharedCodeService.PHCommon.GetVideoMetaDataJSON(url=url) + + if (videoMetaData and videoMetaData["actionTags"]): + actionTags = videoMetaData["actionTags"].split(",") + + for actionTag in actionTags: + actionSegments = actionTag.split(":") + + actions.append({ + 'title': actionSegments[0], + 'timestamp': time.strftime('%H:%M:%S', time.gmtime(int(actionSegments[1]))) + }) + + return actions \ No newline at end of file diff --git a/Contents/Services/Shared Code/PHPornStars.pys b/Contents/Services/Shared Code/PHPornStars.pys index dbaef37..732e42e 100644 --- a/Contents/Services/Shared Code/PHPornStars.pys +++ b/Contents/Services/Shared Code/PHPornStars.pys @@ -1,3 +1,5 @@ +PH_PORNSTAR_HOVER_URL = 'http://pornhub.com' + '/pornstar/hover?id=%s' + def GetPornStars(url): # Create an empty list to hold the porn stars pornStars = [] @@ -18,4 +20,13 @@ def GetPornStars(url): 'thumbnail': pornStarElement.xpath("./div/a/img/@src")[0] }) - return pornStars \ No newline at end of file + return pornStars + +def GetPornStarHoverMetaData(pornStarID): + # Fetch the porn star hover HTML + pornStarHoverHTML = HTML.ElementFromURL(PH_PORNSTAR_HOVER_URL % pornStarID) + + return { + 'name': pornStarHoverHTML.xpath("//div[@id='psInfoContainer']/div[@id='psBoxName']/text()")[0], + 'thumbnail': pornStarHoverHTML.xpath("//div[@id='psBoxPictureContainer']/img/@src")[0] + } \ No newline at end of file From a5a876ea4432bb3c423e99ff5a9c9d9dc965254f Mon Sep 17 00:00:00 2001 From: NotVinny Date: Tue, 2 Aug 2016 17:50:10 -0400 Subject: [PATCH 36/48] Yet again, more code into Shared Code Moved two functions into shared code --- Contents/Code/PHChannels.py | 12 +++---- Contents/Code/PHCommon.py | 41 +++------------------- Contents/Code/PHMembers.py | 6 ++-- Contents/Code/PHPlaylists.py | 22 ++++++------ Contents/Code/PHPornStars.py | 26 +++++++------- Contents/Services/Shared Code/PHCommon.pys | 36 ++++++++++++++++++- 6 files changed, 72 insertions(+), 71 deletions(-) diff --git a/Contents/Code/PHChannels.py b/Contents/Code/PHChannels.py index 565d439..0cd8a82 100644 --- a/Contents/Code/PHChannels.py +++ b/Contents/Code/PHChannels.py @@ -10,10 +10,10 @@ def BrowseChannels(title="DefaultBrowseChannelsTitle"): # Create a dictionary of menu items browseChannelsMenuItems = OrderedDict([ ('Search Channels', {'function':SearchChannels, 'search':True, 'directoryObjectArgs':{'prompt':'Search for...','summary':'Enter Channel Search Terms'}}), - ('Most Popular', {'function':ListChannels, 'functionArgs':{'url':addURLParameters(PH_CHANNELS_URL, {'o':'rk'})}}), - ('Trending', {'function':ListChannels, 'functionArgs':{'url':addURLParameters(PH_CHANNELS_URL, {'o':'tr'})}}), - ('Most Recent', {'function':ListChannels, 'functionArgs':{'url':addURLParameters(PH_CHANNELS_URL, {'o':'mr'})}}), - ('A-Z', {'function':ListChannels, 'functionArgs':{'url':addURLParameters(PH_CHANNELS_URL, {'o':'al'})}}) + ('Most Popular', {'function':ListChannels, 'functionArgs':{'url':SharedCodeService.PHCommon.AddURLParameters(PH_CHANNELS_URL, {'o':'rk'})}}), + ('Trending', {'function':ListChannels, 'functionArgs':{'url':SharedCodeService.PHCommon.AddURLParameters(PH_CHANNELS_URL, {'o':'tr'})}}), + ('Most Recent', {'function':ListChannels, 'functionArgs':{'url':SharedCodeService.PHCommon.AddURLParameters(PH_CHANNELS_URL, {'o':'mr'})}}), + ('A-Z', {'function':ListChannels, 'functionArgs':{'url':SharedCodeService.PHCommon.AddURLParameters(PH_CHANNELS_URL, {'o':'al'})}}) ]) return GenerateMenu(title, browseChannelsMenuItems) @@ -26,7 +26,7 @@ def ListChannels(title, url = PH_CHANNELS_URL, page=1): # Add the page number into the query string if (int(page) != 1): - url = addURLParameters(url, {'page':str(page)}) + url = SharedCodeService.PHCommon.AddURLParameters(url, {'page':str(page)}) # Get list of channels channels = SharedCodeService.PHChannels.GetChannels(url) @@ -51,7 +51,7 @@ def ListChannels(title, url = PH_CHANNELS_URL, page=1): def SearchChannels(query): # Format the query for use in PornHub's search - formattedQuery = formatStringForSearch(query, "+") + formattedQuery = SharedCodeService.PHCommon.FormatStringForSearch(query, "+") try: return ListChannels(title='Search Results for ' + query, url=PH_CHANNEL_SEARCH_URL % query) diff --git a/Contents/Code/PHCommon.py b/Contents/Code/PHCommon.py index 742665e..14c72d0 100644 --- a/Contents/Code/PHCommon.py +++ b/Contents/Code/PHCommon.py @@ -1,5 +1,3 @@ -import urllib -import urlparse from collections import OrderedDict ROUTE_PREFIX = '/video/pornhub' @@ -65,7 +63,7 @@ def BrowseVideos(title=L("DefaultBrowseVideosTitle"), url = PH_VIDEO_URL, sortOr for sortTitle, urlParams in sortOrders.items(): # Add a menu item for the category - browseVideosMenuItems[sortTitle] = {'function':ListVideos, 'functionArgs':{'url':addURLParameters(url, urlParams)}} + browseVideosMenuItems[sortTitle] = {'function':ListVideos, 'functionArgs':{'url':SharedCodeService.PHCommon.AddURLParameters(url, urlParams)}} return GenerateMenu(title, browseVideosMenuItems) @@ -77,7 +75,7 @@ def ListVideos(title=L("DefaultListVideosTitle"), url=PH_VIDEO_URL, page=1, page # Add the page number into the query string if (int(page) != 1): - url = addURLParameters(url, {'page':str(page)}) + url = SharedCodeService.PHCommon.AddURLParameters(url, {'page':str(page)}) # This could definitely be handled more gracefully. But it works for now if ("/video/search" in url): @@ -256,7 +254,7 @@ def VideoMenu(url, title=L("DefaultVideoMenuTitle"), duration=0): def SearchVideos(query): # Format the query for use in PornHub's search - formattedQuery = formatStringForSearch(query, "+") + formattedQuery = SharedCodeService.PHCommon.FormatStringForSearch(query, "+") try: return ListVideos(title='Search Results For ' + query, url=PH_VIDEO_SEARCH_URL % formattedQuery) @@ -418,35 +416,4 @@ def GenerateMenu(title, menuItems, no_cache=False): # Add the Directory Object to the Object Container oc.add(directoryObject) - return oc - -# I stole this function from http://stackoverflow.com/questions/2506379/add-params-to-given-url-in-python. It works. -def addURLParameters (url, params): - - urlParts = list(urlparse.urlparse(url)) - - urlQuery = dict(urlparse.parse_qsl(urlParts[4])) - urlQuery.update(params) - - # So... PornHub requires that it's query string parameters are set in the right order... for some reason. This piece of code handles that. It's retarded, but it has to be done - urlQueryOrder = ['c', 'channelSearch', 'search', 'username', 'o', 't', 'page'] - - urlQueryOrdered = OrderedDict() - - for i in urlQueryOrder: - if i in urlQuery: - urlQueryOrdered[i] = urlQuery[i] - - urlParts[4] = urllib.urlencode(urlQueryOrdered) - - return urlparse.urlunparse(urlParts) - -# I stole this function (and everything I did for search basically) from the RedTube Plex Plugin, this file specifically https://github.com/flownex/RedTube.bundle/blob/master/Contents/Code/PCbfSearch.py -def formatStringForSearch(query, delimiter): - query = String.StripTags(str(query)) - query = query.replace('%20',' ') - query = query.replace(' ',' ') - query = query.strip(' \t\n\r') - query = delimiter.join(query.split()) - - return query \ No newline at end of file + return oc \ No newline at end of file diff --git a/Contents/Code/PHMembers.py b/Contents/Code/PHMembers.py index 434ea46..a948a2a 100644 --- a/Contents/Code/PHMembers.py +++ b/Contents/Code/PHMembers.py @@ -40,7 +40,7 @@ def ListMembers(title, url=PH_DISCOVER_MEMBERS_URL, page=1, pageLimit=PH_MAX_MEM # Add the page number into the query string if (int(page) != 1): - url = addURLParameters(url, {'page':str(page)}) + url = SharedCodeService.PHCommon.AddURLParameters(url, {'page':str(page)}) # Get list of members members = SharedCodeService.PHMembers.GetMembers(url) @@ -65,7 +65,7 @@ def ListMembers(title, url=PH_DISCOVER_MEMBERS_URL, page=1, pageLimit=PH_MAX_MEM def SearchMembers(query): # Format the query for use in PornHub's search - formattedQuery = formatStringForSearch(query, "+") + formattedQuery = SharedCodeService.PHCommon.FormatStringForSearch(query, "+") try: return ListMembers(title='Search Results for ' + query, url=PH_SEARCH_MEMBERS_URL % formattedQuery) @@ -209,7 +209,7 @@ def ListMemberChannels(url, title="Member Channels", page=1): # Add the page number into the query string if (int(page) != 1): - url = addURLParameters(url, {'page':str(page)}) + url = SharedCodeService.PHCommon.AddURLParameters(url, {'page':str(page)}) # Get list of channels channels = SharedCodeService.PHMembers.GetMemberChannels(url) diff --git a/Contents/Code/PHPlaylists.py b/Contents/Code/PHPlaylists.py index 83c5db3..e9113a5 100644 --- a/Contents/Code/PHPlaylists.py +++ b/Contents/Code/PHPlaylists.py @@ -10,16 +10,16 @@ def BrowsePlaylists(title=L("DefaultBrowsePlaylistsTitle")): # Create a dictionary of menu items browsePlaylistsMenuItems = OrderedDict([ - ('Most Recent', {'function':ListPlaylists, 'functionArgs':{'url':addURLParameters(PH_PLAYLISTS_URL, {'o':'mr'})}}), - ('Top Rated - All Time', {'function':ListPlaylists, 'functionArgs':{'url':addURLParameters(PH_PLAYLISTS_URL, {'o':'tr', 't':'a'})}}), - ('Top Rated - Monthly', {'function':ListPlaylists, 'functionArgs':{'url':addURLParameters(PH_PLAYLISTS_URL, {'o':'tr', 't':'m'})}}), - ('Top Rated - Weekly', {'function':ListPlaylists, 'functionArgs':{'url':addURLParameters(PH_PLAYLISTS_URL, {'o':'tr', 't':'w'})}}), - ('Top Rated - Daily', {'function':ListPlaylists, 'functionArgs':{'url':addURLParameters(PH_PLAYLISTS_URL, {'o':'tr', 't':'t'})}}), - ('Most Viewed - All Time', {'function':ListPlaylists, 'functionArgs':{'url':addURLParameters(PH_PLAYLISTS_URL, {'o':'mv', 't':'a'})}}), - ('Most Viewed - Monthly', {'function':ListPlaylists, 'functionArgs':{'url':addURLParameters(PH_PLAYLISTS_URL, {'o':'mv', 't':'m'})}}), - ('Most Viewed - Weekly', {'function':ListPlaylists, 'functionArgs':{'url':addURLParameters(PH_PLAYLISTS_URL, {'o':'mv', 't':'w'})}}), - ('Most Viewed - Daily', {'function':ListPlaylists, 'functionArgs':{'url':addURLParameters(PH_PLAYLISTS_URL, {'o':'mv', 't':'d'})}}), - ('Most Favorited', {'function':ListPlaylists, 'functionArgs':{'url':addURLParameters(PH_PLAYLISTS_URL, {'o':'mf'})}}) + ('Most Recent', {'function':ListPlaylists, 'functionArgs':{'url':SharedCodeService.PHCommon.AddURLParameters(PH_PLAYLISTS_URL, {'o':'mr'})}}), + ('Top Rated - All Time', {'function':ListPlaylists, 'functionArgs':{'url':SharedCodeService.PHCommon.AddURLParameters(PH_PLAYLISTS_URL, {'o':'tr', 't':'a'})}}), + ('Top Rated - Monthly', {'function':ListPlaylists, 'functionArgs':{'url':SharedCodeService.PHCommon.AddURLParameters(PH_PLAYLISTS_URL, {'o':'tr', 't':'m'})}}), + ('Top Rated - Weekly', {'function':ListPlaylists, 'functionArgs':{'url':SharedCodeService.PHCommon.AddURLParameters(PH_PLAYLISTS_URL, {'o':'tr', 't':'w'})}}), + ('Top Rated - Daily', {'function':ListPlaylists, 'functionArgs':{'url':SharedCodeService.PHCommon.AddURLParameters(PH_PLAYLISTS_URL, {'o':'tr', 't':'t'})}}), + ('Most Viewed - All Time', {'function':ListPlaylists, 'functionArgs':{'url':SharedCodeService.PHCommon.AddURLParameters(PH_PLAYLISTS_URL, {'o':'mv', 't':'a'})}}), + ('Most Viewed - Monthly', {'function':ListPlaylists, 'functionArgs':{'url':SharedCodeService.PHCommon.AddURLParameters(PH_PLAYLISTS_URL, {'o':'mv', 't':'m'})}}), + ('Most Viewed - Weekly', {'function':ListPlaylists, 'functionArgs':{'url':SharedCodeService.PHCommon.AddURLParameters(PH_PLAYLISTS_URL, {'o':'mv', 't':'w'})}}), + ('Most Viewed - Daily', {'function':ListPlaylists, 'functionArgs':{'url':SharedCodeService.PHCommon.AddURLParameters(PH_PLAYLISTS_URL, {'o':'mv', 't':'d'})}}), + ('Most Favorited', {'function':ListPlaylists, 'functionArgs':{'url':SharedCodeService.PHCommon.AddURLParameters(PH_PLAYLISTS_URL, {'o':'mf'})}}) ]) return GenerateMenu(title, browsePlaylistsMenuItems) @@ -32,7 +32,7 @@ def ListPlaylists(title, url = PH_PLAYLISTS_URL, page=1): # Add the page number into the query string if (int(page) != 1): - url = addURLParameters(url, {'page':str(page)}) + url = SharedCodeService.PHCommon.AddURLParameters(url, {'page':str(page)}) # Get list of playlists playlists = SharedCodeService.PHPlaylists.GetPlaylists(url) diff --git a/Contents/Code/PHPornStars.py b/Contents/Code/PHPornStars.py index f1ebf91..38fcf15 100644 --- a/Contents/Code/PHPornStars.py +++ b/Contents/Code/PHPornStars.py @@ -11,17 +11,17 @@ def BrowsePornStars(title=L("DefaultBrowsePornStarsTitle")): # Create a dictionary of menu items browsePornStarsMenuItems = OrderedDict([ ('Search Porn Stars', {'function':SearchPornStars, 'search':True, 'directoryObjectArgs':{'prompt':'Search for...','summary':'Enter Porn Star Search Terms'}}), - ('Most Popular - All Time', {'function':ListPornStars, 'functionArgs':{'url':addURLParameters(PH_PORNSTARS_URL, {'t':'a'})}}), - ('Most Popular - Monthly', {'function':ListPornStars, 'functionArgs':{'url':addURLParameters(PH_PORNSTARS_URL, {'t':'m'})}}), - ('Most Popular - Weekly', {'function':ListPornStars, 'functionArgs':{'url':addURLParameters(PH_PORNSTARS_URL, {'t':'w'})}}), - ('Most Viewed - All Time', {'function':ListPornStars, 'functionArgs':{'url':addURLParameters(PH_PORNSTARS_URL, {'o':'mv', 't':'a'})}}), - ('Most Viewed - Monthly', {'function':ListPornStars, 'functionArgs':{'url':addURLParameters(PH_PORNSTARS_URL, {'o':'mv', 't':'m'})}}), - ('Most Viewed - Weekly', {'function':ListPornStars, 'functionArgs':{'url':addURLParameters(PH_PORNSTARS_URL, {'o':'mv', 't':'w'})}}), - ('Most Viewed - Daily', {'function':ListPornStars, 'functionArgs':{'url':addURLParameters(PH_PORNSTARS_URL, {'o':'mv', 't':'t'})}}), - ('Top Trending', {'function':ListPornStars, 'functionArgs':{'url':addURLParameters(PH_PORNSTARS_URL, {'o':'t'})}}), - ('Most Subscribed', {'function':ListPornStars, 'functionArgs':{'url':addURLParameters(PH_PORNSTARS_URL, {'o':'ms'})}}), - ('Alphabetical', {'function':ListPornStars, 'functionArgs':{'url':addURLParameters(PH_PORNSTARS_URL, {'o':'a'})}}), - ('Number of Videos', {'function':ListPornStars, 'functionArgs':{'url':addURLParameters(PH_PORNSTARS_URL, {'o':'nv'})}}) + ('Most Popular - All Time', {'function':ListPornStars, 'functionArgs':{'url':SharedCodeService.PHCommon.AddURLParameters(PH_PORNSTARS_URL, {'t':'a'})}}), + ('Most Popular - Monthly', {'function':ListPornStars, 'functionArgs':{'url':SharedCodeService.PHCommon.AddURLParameters(PH_PORNSTARS_URL, {'t':'m'})}}), + ('Most Popular - Weekly', {'function':ListPornStars, 'functionArgs':{'url':SharedCodeService.PHCommon.AddURLParameters(PH_PORNSTARS_URL, {'t':'w'})}}), + ('Most Viewed - All Time', {'function':ListPornStars, 'functionArgs':{'url':SharedCodeService.PHCommon.AddURLParameters(PH_PORNSTARS_URL, {'o':'mv', 't':'a'})}}), + ('Most Viewed - Monthly', {'function':ListPornStars, 'functionArgs':{'url':SharedCodeService.PHCommon.AddURLParameters(PH_PORNSTARS_URL, {'o':'mv', 't':'m'})}}), + ('Most Viewed - Weekly', {'function':ListPornStars, 'functionArgs':{'url':SharedCodeService.PHCommon.AddURLParameters(PH_PORNSTARS_URL, {'o':'mv', 't':'w'})}}), + ('Most Viewed - Daily', {'function':ListPornStars, 'functionArgs':{'url':SharedCodeService.PHCommon.AddURLParameters(PH_PORNSTARS_URL, {'o':'mv', 't':'t'})}}), + ('Top Trending', {'function':ListPornStars, 'functionArgs':{'url':SharedCodeService.PHCommon.AddURLParameters(PH_PORNSTARS_URL, {'o':'t'})}}), + ('Most Subscribed', {'function':ListPornStars, 'functionArgs':{'url':SharedCodeService.PHCommon.AddURLParameters(PH_PORNSTARS_URL, {'o':'ms'})}}), + ('Alphabetical', {'function':ListPornStars, 'functionArgs':{'url':SharedCodeService.PHCommon.AddURLParameters(PH_PORNSTARS_URL, {'o':'a'})}}), + ('Number of Videos', {'function':ListPornStars, 'functionArgs':{'url':SharedCodeService.PHCommon.AddURLParameters(PH_PORNSTARS_URL, {'o':'nv'})}}) ]) return GenerateMenu(title, browsePornStarsMenuItems) @@ -34,7 +34,7 @@ def ListPornStars(title, url = PH_PORNSTARS_URL, page=1): # Add the page number into the query string if (int(page) != 1): - url = addURLParameters(url, {'page':str(page)}) + url = SharedCodeService.PHCommon.AddURLParameters(url, {'page':str(page)}) # Get list of porn stars pornStars = SharedCodeService.PHPornStars.GetPornStars(url) @@ -59,7 +59,7 @@ def ListPornStars(title, url = PH_PORNSTARS_URL, page=1): def SearchPornStars(query): # Format the query for use in PornHub's search - formattedQuery = formatStringForSearch(query, "+") + formattedQuery = SharedCodeService.PHCommon.FormatStringForSearch(query, "+") try: return ListPornStars(title='Search Results for ' + query, url=PH_PORNSTARS_SEARCH_URL % formattedQuery) diff --git a/Contents/Services/Shared Code/PHCommon.pys b/Contents/Services/Shared Code/PHCommon.pys index d893e9e..46d4eed 100644 --- a/Contents/Services/Shared Code/PHCommon.pys +++ b/Contents/Services/Shared Code/PHCommon.pys @@ -1,5 +1,8 @@ import json import time +import urllib +import urlparse +from collections import OrderedDict PH_VIDEO_METADATA_JSON_REGEX = "var flashvars_\d+ = ({[\S\s]+?});" @@ -148,4 +151,35 @@ def GetVideoActions(url): 'timestamp': time.strftime('%H:%M:%S', time.gmtime(int(actionSegments[1]))) }) - return actions \ No newline at end of file + return actions + +# I stole this function from http://stackoverflow.com/questions/2506379/add-params-to-given-url-in-python. It works. +def AddURLParameters (url, params): + + urlParts = list(urlparse.urlparse(url)) + + urlQuery = dict(urlparse.parse_qsl(urlParts[4])) + urlQuery.update(params) + + # So... PornHub requires that it's query string parameters are set in the right order... for some reason. This piece of code handles that. It's retarded, but it has to be done + urlQueryOrder = ['c', 'channelSearch', 'search', 'username', 'o', 't', 'page'] + + urlQueryOrdered = OrderedDict() + + for i in urlQueryOrder: + if i in urlQuery: + urlQueryOrdered[i] = urlQuery[i] + + urlParts[4] = urllib.urlencode(urlQueryOrdered) + + return urlparse.urlunparse(urlParts) + +# I stole this function (and everything I did for search basically) from the RedTube Plex Plugin, this file specifically https://github.com/flownex/RedTube.bundle/blob/master/Contents/Code/PCbfSearch.py +def FormatStringForSearch(query, delimiter): + query = String.StripTags(str(query)) + query = query.replace('%20',' ') + query = query.replace(' ',' ') + query = query.strip(' \t\n\r') + query = delimiter.join(query.split()) + + return query \ No newline at end of file From a75eee4f5797078899c98a0e6622a12cd8d6de19 Mon Sep 17 00:00:00 2001 From: NotVinny Date: Tue, 2 Aug 2016 17:53:52 -0400 Subject: [PATCH 37/48] A couple minor tweaks The "Playlists - Most Viewed Daily" menu was broken, I have fixed the URL parameters. Also found that the Member Menu was making two extra HTTP requests, those have been removed. --- Contents/Code/PHMembers.py | 2 -- Contents/Code/PHPlaylists.py | 2 +- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/Contents/Code/PHMembers.py b/Contents/Code/PHMembers.py index a948a2a..0e85d8e 100644 --- a/Contents/Code/PHMembers.py +++ b/Contents/Code/PHMembers.py @@ -77,8 +77,6 @@ def MemberMenu(title, url, username): # Get the HTML of the Member's spash page, as well as their Video and Playlist pages memberHTML = HTML.ElementFromURL(url) - memberVideosHTML = HTML.ElementFromURL(url + '/videos') - memberPlaylistsHTML = HTML.ElementFromURL(url + '/playlists') # Create a dictionary of menu items memberMenuItems = OrderedDict([ diff --git a/Contents/Code/PHPlaylists.py b/Contents/Code/PHPlaylists.py index e9113a5..2735623 100644 --- a/Contents/Code/PHPlaylists.py +++ b/Contents/Code/PHPlaylists.py @@ -18,7 +18,7 @@ def BrowsePlaylists(title=L("DefaultBrowsePlaylistsTitle")): ('Most Viewed - All Time', {'function':ListPlaylists, 'functionArgs':{'url':SharedCodeService.PHCommon.AddURLParameters(PH_PLAYLISTS_URL, {'o':'mv', 't':'a'})}}), ('Most Viewed - Monthly', {'function':ListPlaylists, 'functionArgs':{'url':SharedCodeService.PHCommon.AddURLParameters(PH_PLAYLISTS_URL, {'o':'mv', 't':'m'})}}), ('Most Viewed - Weekly', {'function':ListPlaylists, 'functionArgs':{'url':SharedCodeService.PHCommon.AddURLParameters(PH_PLAYLISTS_URL, {'o':'mv', 't':'w'})}}), - ('Most Viewed - Daily', {'function':ListPlaylists, 'functionArgs':{'url':SharedCodeService.PHCommon.AddURLParameters(PH_PLAYLISTS_URL, {'o':'mv', 't':'d'})}}), + ('Most Viewed - Daily', {'function':ListPlaylists, 'functionArgs':{'url':SharedCodeService.PHCommon.AddURLParameters(PH_PLAYLISTS_URL, {'o':'mv', 't':'t'})}}), ('Most Favorited', {'function':ListPlaylists, 'functionArgs':{'url':SharedCodeService.PHCommon.AddURLParameters(PH_PLAYLISTS_URL, {'o':'mf'})}}) ]) From 527e1816ed15bc259cb60becf548e5bb114e28ac Mon Sep 17 00:00:00 2001 From: NotVinny Date: Sat, 17 Sep 2016 17:30:20 -0400 Subject: [PATCH 38/48] Created GetMemberHoverMetaData function Although this is not in use yet, this function returns the metadata about the member who uploaded the video. This will be used eventually. --- Contents/Services/Shared Code/PHMembers.pys | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/Contents/Services/Shared Code/PHMembers.pys b/Contents/Services/Shared Code/PHMembers.pys index 1c39a61..a9e627a 100644 --- a/Contents/Services/Shared Code/PHMembers.pys +++ b/Contents/Services/Shared Code/PHMembers.pys @@ -1,3 +1,5 @@ +PH_MEMBER_HOVER_URL = 'http://pornhub.com' + '/user/hover?id=%s' + def GetMemberSortOrders(url): # Create an empty list to hold the sort orders sortOrders = [] @@ -99,4 +101,14 @@ def GetMemberSubscribedPornStars(url): 'thumbnail': pornStarElement.xpath("./img/@src")[0] }) - return pornStars \ No newline at end of file + return pornStars + +def GetMemberHoverMetaData(memberID): + # Fetch the porn star hover HTML + memberHoverHTML = HTML.ElementFromURL(PH_MEMBER_HOVER_URL % memberID) + + return { + 'name': memberHoverHTML.xpath("//div[contains(@class, 'avatarUserInfo')]/a[contains(@class,'username')]/text()")[0], + 'url': memberHoverHTML.xpath("//div[contains(@class, 'avatarUserInfo')]/a[contains(@class,'username')]/@href")[0], + 'thumbnail': memberHoverHTML.xpath("//div[contains(@class, 'avatarIcon')]/a/img/@src")[0] + } \ No newline at end of file From 9dd7725567ab0af8a31832ec32de8aa4e439ffaf Mon Sep 17 00:00:00 2001 From: Veronika Date: Sun, 11 Dec 2016 18:36:46 +0100 Subject: [PATCH 39/48] Simplified XPath selectors for video listing, added error routine The new layout of the website broke the plugin because the XPath selectors in function GetVideos were too specific. I have simplified those so that they should work even with newer versions of the website. I have also added error-handling to said function so that a single malformed video-section does not make the whole plugin crash. --- Contents/Services/Shared Code/PHCommon.pys | 70 +++++++++++----------- 1 file changed, 36 insertions(+), 34 deletions(-) diff --git a/Contents/Services/Shared Code/PHCommon.pys b/Contents/Services/Shared Code/PHCommon.pys index 46d4eed..2f30e6a 100644 --- a/Contents/Services/Shared Code/PHCommon.pys +++ b/Contents/Services/Shared Code/PHCommon.pys @@ -38,40 +38,42 @@ def GetVideos(url): # Loop through the videos in the page for videoElement in videoElements: - - # Use xPath to extract video details - video = { - 'title': videoElement.xpath("./div/div/a/div[contains(@class, 'thumbnail-info-wrapper')]/span[@class='title']/a/text()")[0], - 'url': videoElement.xpath("./div/div/a/@href")[0], - 'thumbnail': videoElement.xpath("./div/div/a/div[@class='img']/img/@data-mediumthumb")[0] - } - - # Get the duration of the video - durationString = videoElement.xpath("./div/div/a/div[@class='img']/div[@class='marker-overlays']/var[@class='duration']/text()")[0] - - # Split it into a list separated by colon - durationArray = durationString.split(":") - - if (len(durationArray) == 2): - # Dealing with MM:SS - minutes = int(durationArray[0]) - seconds = int(durationArray[1]) - - video["duration"] = (minutes*60 + seconds) * 1000 - - elif (len(durationArray) == 3): - # Dealing with HH:MM:SS... PornHub doesn't do this, but I'll keep it as a backup anyways - hours = int(durationArray[0]) - minutes = int(durationArray[1]) - seconds = int(durationArray[2]) - - video["duration"] = (hours*3600 + minutes * 60 + seconds) * 1000 - else: - # Set a default duration of 0 - video["duration"] = 0 - - videos.append(video) - + try: + # Use xPath to extract video details + video = { + 'title': videoElement.xpath(".//span[@class='title']/a/text()")[0], + 'url': videoElement.xpath(".//a/@href")[0], + 'thumbnail': videoElement.xpath(".//img/@data-mediumthumb")[0] + } + + # Get the duration of the video + durationString = videoElement.xpath(".//var[@class='duration']/text()")[0] + + # Split it into a list separated by colon + durationArray = durationString.split(":") + + if (len(durationArray) == 2): + # Dealing with MM:SS + minutes = int(durationArray[0]) + seconds = int(durationArray[1]) + + video["duration"] = (minutes*60 + seconds) * 1000 + + elif (len(durationArray) == 3): + # Dealing with HH:MM:SS... PornHub doesn't do this, but I'll keep it as a backup anyways + hours = int(durationArray[0]) + minutes = int(durationArray[1]) + seconds = int(durationArray[2]) + + video["duration"] = (hours*3600 + minutes * 60 + seconds) * 1000 + else: + # Set a default duration of 0 + video["duration"] = 0 + + videos.append(video) + except: + Log("Error encountered with one of the videos... skipping.") + pass return videos def GetVideoThumbnailURLs(url): From 7414873312e9445b865414054b8e830b5681ce40 Mon Sep 17 00:00:00 2001 From: NotVinny Date: Sat, 13 May 2017 15:40:34 -0400 Subject: [PATCH 40/48] Fixed related videos xpath Messed up xpath was crashing plugin, fixed the string. --- Contents/Code/PHCommon.py | 154 ++++++++++----------- Contents/Services/Shared Code/PHCommon.pys | 70 +++++----- 2 files changed, 112 insertions(+), 112 deletions(-) diff --git a/Contents/Code/PHCommon.py b/Contents/Code/PHCommon.py index 14c72d0..7288320 100644 --- a/Contents/Code/PHCommon.py +++ b/Contents/Code/PHCommon.py @@ -49,34 +49,34 @@ @route(ROUTE_PREFIX + '/videos/browse') def BrowseVideos(title=L("DefaultBrowseVideosTitle"), url = PH_VIDEO_URL, sortOrders = SORT_ORDERS): - + # If sorting channels, use a different dictionary of sort orders if ("/channels/" in url): sortOrders = CHANNEL_VIDEOS_SORT_ORDERS elif ("/pornstar/" in url): sortOrders = PORNSTAR_VIDEOS_SORT_ORDERS - + # Create a dictionary of menu items browseVideosMenuItems = OrderedDict() - + # Add the sorting options for sortTitle, urlParams in sortOrders.items(): - + # Add a menu item for the category browseVideosMenuItems[sortTitle] = {'function':ListVideos, 'functionArgs':{'url':SharedCodeService.PHCommon.AddURLParameters(url, urlParams)}} - + return GenerateMenu(title, browseVideosMenuItems) @route(ROUTE_PREFIX + '/videos/list') def ListVideos(title=L("DefaultListVideosTitle"), url=PH_VIDEO_URL, page=1, pageLimit = MAX_VIDEOS_PER_PAGE_PAGE_ONE): - + # Create the object to contain all of the videos oc = ObjectContainer(title2 = title) - + # Add the page number into the query string if (int(page) != 1): url = SharedCodeService.PHCommon.AddURLParameters(url, {'page':str(page)}) - + # This could definitely be handled more gracefully. But it works for now if ("/video/search" in url): pageLimit = MAX_VIDEOS_PER_SEARCH_PAGE @@ -89,20 +89,20 @@ def ListVideos(title=L("DefaultListVideosTitle"), url=PH_VIDEO_URL, page=1, page elif ("/video" in url and page > 1): # In the Browse All Videos and Categories menus, they display MAX_VIDEOS_PER_PAGE_PAGE_ONE on page one, and MAX_VIDEOS_PER_PAGE from page two onward pageLimit = MAX_VIDEOS_PER_PAGE - + # Get list of categories videos = SharedCodeService.PHCommon.GetVideos(url) - + # Loop through the videos in the page for video in videos: - + # Check for relative URLs if (video["url"].startswith('/')): video["url"] = BASE_URL + video["url"] - + # Make sure the last step went smoothly (this is probably redundant but oh well) if (video["url"].startswith(BASE_URL)): - + # Add a Directory Object for the video to the Object Container oc.add(DirectoryObject( key = Callback(VideoMenu, url=video["url"], title=video["title"], duration=video["duration"]), @@ -110,7 +110,7 @@ def ListVideos(title=L("DefaultListVideosTitle"), url=PH_VIDEO_URL, page=1, page thumb = video["thumbnail"], duration = video["duration"] )) - + # There is a slight change that this will break... If the number of videos returned in total is divisible by MAX_VIDEOS_PER_PAGE with no remainder, there could possibly be no additional page after. This is unlikely though and I'm too lazy to handle it. if (len(videos) == int(pageLimit)): oc.add(NextPageObject( @@ -124,28 +124,28 @@ def ListVideos(title=L("DefaultListVideosTitle"), url=PH_VIDEO_URL, page=1, page def VideoMenu(url, title=L("DefaultVideoMenuTitle"), duration=0): # Create the object to contain all of the videos options oc = ObjectContainer(title2 = title, no_cache=True) - + # Create the Video Clip Object vco = URLService.MetadataObjectForURL(url) - + # As I am calling MetadataObjectForURL from the URL Service, it only returns the metadata, it doesn't contain the URL vco.url = url - + # Overide the title vco.title = "Play Video" - + if (int(duration) > 0): vco.duration = int(duration) - + # Add the Video Clip Object oc.add(vco) - + # Get the HTML of the site html = HTML.ElementFromURL(url) - + # Get the video meta data videoMetaData = SharedCodeService.PHCommon.GetVideoMetaDataJSON(htmlElement=html) - + # Check to see if Thumbnails are enabled in the video sub menu in the Preferences, and also if the Thumbnail metadata exists if (Prefs["videoMenuShowThumbnails"] and videoMetaData["thumbs"] and videoMetaData["thumbs"]["urlPattern"]): oc.add(PhotoAlbumObject( @@ -154,31 +154,31 @@ def VideoMenu(url, title=L("DefaultVideoMenuTitle"), duration=0): title = "Thumbnails", summary = "Tiled thumbnails from this video" )) - + # Check to see if Uploaders are enabled in the video sub menu in the Preferences if (Prefs["videoMenuShowUploader"]): # Use xPath to extract the uploader of the video uploader = html.xpath("//div[contains(@class, 'video-info-row')]/div[contains(@class, 'usernameWrap')]") - + # Make sure one is returned if (len(uploader) > 0): # Get the link within uploaderLink = uploader[0].xpath("./a") - + # Make sure it exists if (len(uploaderLink) > 0): uploaderURL = BASE_URL + uploaderLink[0].xpath("./@href")[0] uploaderName = uploaderLink[0].xpath("./text()")[0] - + uploaderType = uploader[0].xpath("./@data-type")[0] - + # Check to see if the video is listed under a channel or a user if (uploaderType == "channel"): channelID = uploader[0].xpath("./@data-channelid")[0] - + # Get the porn star hover meta data channelHoverMetaData = SharedCodeService.PHChannels.GetChannelHoverMetaData(channelID) - + oc.add(DirectoryObject( key = Callback(BrowseVideos, url=uploaderURL + '/videos', title=uploaderName), title = uploaderName, @@ -187,17 +187,17 @@ def VideoMenu(url, title=L("DefaultVideoMenuTitle"), duration=0): )) elif (uploaderType == "user"): pass - + # Check to see if Porn Stars are enabled in the video sub menu in the Preferences if (Prefs["videoMenuShowPornStars"]): # Use xPath to extract a list of porn stars in the video pornStars = html.xpath("//div[contains(@class, 'pornstarsWrapper')]/a[contains(@class, 'pstar-list-btn')]") - + # Check how any porn stars are returned. # If just one, then display a Directory Object pointing to the porn star if (len(pornStars) == 1): oc.add(GenerateVideoPornStarDirectoryObject(pornStars[0])) - + # If more than one, create a Directory Object to another menu where all porn stars will be listed elif (len(pornStars) > 1): oc.add(DirectoryObject( @@ -205,16 +205,16 @@ def VideoMenu(url, title=L("DefaultVideoMenuTitle"), duration=0): title = "Porn Stars", summary = "Porn Stars that appear in this video" )) - - + + # Check to see if Related Videos are enabled in the video sub menu in the Preferences if (Prefs["videoMenuShowRelatedVideos"]): # Use xPath to extract the related videos - relatedVideos = html.xpath("//div[contains(@class, 'wrap')]/div[contains(@class, 'phimage')]") - + relatedVideos = html.xpath("//ul[@id='relatedVideosCenter' or @id='relateRecommendedItems']//li[contains(@class, 'videoblock')]/div[contains(@class, 'wrap')]/div[contains(@class, 'phimage')]") + if (len(relatedVideos) > 0): relatedVideosThumb = relatedVideos[0].xpath("./a/div[contains(@class, 'img')]/img/@data-mediumthumb")[0] - + # Add the Related Videos Directory Object oc.add(DirectoryObject( key = Callback(RelatedVideos, url=url), @@ -222,23 +222,23 @@ def VideoMenu(url, title=L("DefaultVideoMenuTitle"), duration=0): summary = "Videos related to this video", thumb = relatedVideosThumb )) - - + + # Check to see if Playlists are enabled in the video sub menu in the Preferences if (Prefs["videoMenuShowPlaylists"]): # Fetch playlists containing the video (if any) playlists = html.xpath("//ul[contains(@class, 'playlist-listingSmall')]/li/div[contains(@class, 'wrap')]") - + if (len(playlists) > 0): playlistsThumb = playlists[0].xpath("./div[contains(@class, 'linkWrapper')]/img/@data-mediumthumb")[0] - + oc.add(DirectoryObject( key = Callback(PlaylistsContainingVideo, url=url), title = "Playlists", summary = "Playlists that contain this video", thumb = playlistsThumb )) - + # Check to see if Action is enabled in the video sub menu in the Preferences if (Prefs["videoMenuShowAction"]): if (videoMetaData["actionTags"]): @@ -247,15 +247,15 @@ def VideoMenu(url, title=L("DefaultVideoMenuTitle"), duration=0): title = "Action", summary = "Timestamps of when actions (e.g. different positions) happen in this video" )) - + return oc @route(ROUTE_PREFIX + '/search') def SearchVideos(query): - + # Format the query for use in PornHub's search formattedQuery = SharedCodeService.PHCommon.FormatStringForSearch(query, "+") - + try: return ListVideos(title='Search Results For ' + query, url=PH_VIDEO_SEARCH_URL % formattedQuery) except: @@ -265,17 +265,17 @@ def SearchVideos(query): def GenerateVideoPornStarMenu(url, title="Porn Stars"): # Create the object to contain all of the porn stars in the video oc = ObjectContainer(title2 = title) - + # Get the HTML of the site html = HTML.ElementFromURL(url) - + # Use xPath to extract a list of porn stars in the video pornStars = html.xpath("//div[contains(@class, 'pornstarsWrapper')]/a[contains(@class, 'pstar-list-btn')]") - + if (len(pornStars) > 0): for pornStar in pornStars: oc.add(GenerateVideoPornStarDirectoryObject(pornStar)) - + return oc # This function takes markup of a porn star from a video page and creates a Directory Object for it @@ -283,10 +283,10 @@ def GenerateVideoPornStarDirectoryObject(pornStarElement): pornStarID = pornStarElement.xpath("./@data-id")[0] pornStarURL = BASE_URL + pornStarElement.xpath("./@href")[0] pornStarName = pornStarElement.xpath("./text()")[0] - + # Get the porn star hover meta data pornStarHoverMetaData = SharedCodeService.PHPornStars.GetPornStarHoverMetaData(pornStarID) - + return DirectoryObject( key = Callback(BrowseVideos, url=pornStarURL, title=pornStarName), title = pornStarName, @@ -298,102 +298,102 @@ def GenerateVideoPornStarDirectoryObject(pornStarElement): def VideoThumbnails(url, title="Thumbnails"): # Create the object to contain the thumbnails oc = ObjectContainer(title2=title) - + # Get the video thumbnail URLs thumbnailURLs = SharedCodeService.PHCommon.GetVideoThumbnailURLs(url) - + for i, thumbnailURL in enumerate(thumbnailURLs): - + oc.add(PhotoObject( key = thumbnailURL, rating_key = thumbnailURL, title = "Thumbnail #" + str(i + 1), thumb = thumbnailURL )) - + return oc @route(ROUTE_PREFIX + '/video/related') def RelatedVideos(url, title="Related Videos"): # Create the object to contain the related videos oc = ObjectContainer(title2=title) - + # Get the video thumbnail URLs relatedVideos = SharedCodeService.PHCommon.GetRelatedVideos(url) - + # Loop through related videos for relatedVideo in relatedVideos: - + oc.add(DirectoryObject( key = Callback(VideoMenu, url=BASE_URL + relatedVideo["url"], title=relatedVideo["title"]), title = relatedVideo["title"], summary = relatedVideo["title"], thumb = relatedVideo["thumbnail"] )) - + return oc @route(ROUTE_PREFIX + '/video/playlists') def PlaylistsContainingVideo(url, title="Playlists Containing Video"): # Create the object to contain the playlists oc = ObjectContainer(title2=title) - + # Get the playlists containing the video playlists = SharedCodeService.PHCommon.GetPlaylistsContainingVideo(url) - + # Loop through playlists for playlist in playlists: - + oc.add(DirectoryObject( key = Callback(BrowseVideos, url=BASE_URL + playlist["url"], title=playlist["title"]), title = playlist["title"], thumb = playlist["thumbnail"] )) - + return oc @route(ROUTE_PREFIX + '/video/actions') def VideoActions(url, title="Actions", header=None, message=None, replace_parent=None): # Create the object to contain the actions oc = ObjectContainer(title2=title) - + if (header): oc.header = header if (message): oc.message = message if (replace_parent): oc.replace_parent = replace_parent - + # Get the playlists containing the video actions = SharedCodeService.PHCommon.GetVideoActions(url) - + for action in actions: - + actionSummary = action["title"] + " starts at " + action["timestamp"] - + oc.add(DirectoryObject( key = Callback(VideoActions, url=url, title=title, header=action["title"], message=actionSummary, replace_parent=True), title = action["timestamp"] + ": " + action["title"], summary = actionSummary )) - + return oc def GenerateMenu(title, menuItems, no_cache=False): # Create the object to contain the menu items oc = ObjectContainer(title2=title, no_cache=no_cache) - + # Loop through the menuItems dictionary for menuTitle, menuData in menuItems.items(): # Create empty dictionaries to hold the arguments for the Directory Object and the Function directoryObjectArgs = {} functionArgs = {} - + # See if any Directory Object arguments are present in the menu data if ('directoryObjectArgs' in menuData): # Merge dictionaries directoryObjectArgs.update(menuData['directoryObjectArgs']) - + # Check to see if the menu item is a search menu item if ('search' in menuData and menuData['search'] == True): directoryObject = InputDirectoryObject(title=menuTitle, **directoryObjectArgs) @@ -404,16 +404,16 @@ def GenerateMenu(title, menuItems, no_cache=False): else: directoryObject = DirectoryObject(title=menuTitle, **directoryObjectArgs) functionArgs['title'] = menuTitle - + # See if any Function arguments are present in the menu data if ('functionArgs' in menuData): # Merge dictionaries functionArgs.update(menuData['functionArgs']) - + # Set the Directory Object key to the function from the menu data, passing along any additional function arguments directoryObject.key = Callback(menuData['function'], **functionArgs) - + # Add the Directory Object to the Object Container oc.add(directoryObject) - - return oc \ No newline at end of file + + return oc diff --git a/Contents/Services/Shared Code/PHCommon.pys b/Contents/Services/Shared Code/PHCommon.pys index 2f30e6a..f6388e0 100644 --- a/Contents/Services/Shared Code/PHCommon.pys +++ b/Contents/Services/Shared Code/PHCommon.pys @@ -10,12 +10,12 @@ def GetVideoMetaDataJSON(htmlElement = None, url = None): # Get the HTML of the site if (htmlElement is None): htmlElement = HTML.ElementFromURL(url) - + htmlString = HTML.StringFromElement(htmlElement) - + # Search for the video metadata JSON string videoMetaDataString = Regex(PH_VIDEO_METADATA_JSON_REGEX).search(htmlString) - + if (videoMetaDataString): # If found, convert the JSON string to an object return json.loads(videoMetaDataString.group(1)) @@ -25,17 +25,17 @@ def GetVideoMetaDataJSON(htmlElement = None, url = None): def GetVideos(url): # Create an empty list to hold the categories videos = [] - + # Get the HTML of the site html = HTML.ElementFromURL(url) - + # Use xPath to extract a list of divs that contain videos videoElements = html.xpath("//li[contains(@class,'videoblock')]") - + # This piece of code is ridiculous. From the best I can gether, the poorly formed HTML on PornHub makes xPath choke at 123 videos. So I rounded it down to 120 and limited the videos to that. This should only affect playlists, but it is a really ridiculous problem if (len(videoElements) >= 120): videoElements = videoElements[0:120] - + # Loop through the videos in the page for videoElement in videoElements: try: @@ -79,32 +79,32 @@ def GetVideos(url): def GetVideoThumbnailURLs(url): # Create an empty list to hold the thumbnail URLs thumbnailURLs = [] - + # Get the video meta data videoMetaData = SharedCodeService.PHCommon.GetVideoMetaDataJSON(url=url) - + if (videoMetaData["thumbs"] and videoMetaData["thumbs"]["urlPattern"] != False): - + videoThumbnailsCount = Regex("/S{(\d+)}.jpg").search(videoMetaData["thumbs"]["urlPattern"]) - + if (videoThumbnailsCount): videoThumbnailsCountString = videoThumbnailsCount.group(1) - + for i in range(int(videoThumbnailsCountString) + 1): thumbnailURLs.append(videoMetaData["thumbs"]["urlPattern"].replace("/S{" + videoThumbnailsCountString + "}.jpg", "/S" + str(i) + ".jpg")) - + return thumbnailURLs def GetRelatedVideos(url): # Create an empty list to hold the relatedVideos relatedVideos = [] - + # Get the HTML of the site html = HTML.ElementFromURL(url) - + # Use xPath to extract the related videos - relatedVideoElements = html.xpath("//div[contains(@class, 'wrap')]/div[contains(@class, 'phimage')]") - + relatedVideoElements = html.xpath("//ul[@id='relatedVideosCenter' or @id='relateRecommendedItems']//li[contains(@class, 'videoblock')]/div[contains(@class, 'wrap')]/div[contains(@class, 'phimage')]") + # Loop through related videos for relatedVideoElement in relatedVideoElements: relatedVideos.append({ @@ -112,19 +112,19 @@ def GetRelatedVideos(url): 'url': relatedVideoElement.xpath("./a/div[contains(@class, 'thumbnail-info-wrapper')]/span[contains(@class,'title')]/a/@href")[0], 'thumbnail': relatedVideoElement.xpath("./a/div[contains(@class, 'img')]/img/@data-mediumthumb")[0] }) - + return relatedVideos def GetPlaylistsContainingVideo(url): # Create an empty list to hold the playlists playlists = [] - + # Get the HTML of the site html = HTML.ElementFromURL(url) - + # Use xPath to extract the playlists playlistElements = html.xpath("//ul[contains(@class, 'playlist-listingSmall')]/li/div[contains(@class, 'wrap')]") - + # Loop through playlists for playlistElement in playlistElements: playlists.append({ @@ -132,45 +132,45 @@ def GetPlaylistsContainingVideo(url): 'url': playlistElement.xpath("./div[contains(@class, 'thumbnail-info-wrapper')]/span[contains(@class, 'title')]/a/@href")[0], 'thumbnail': playlistElement.xpath("./div[contains(@class, 'linkWrapper')]/img/@data-mediumthumb")[0] }) - + return playlists def GetVideoActions(url): # Create an empty list to hold the actions actions = [] - + # Get the video meta data videoMetaData = SharedCodeService.PHCommon.GetVideoMetaDataJSON(url=url) - + if (videoMetaData and videoMetaData["actionTags"]): actionTags = videoMetaData["actionTags"].split(",") - + for actionTag in actionTags: actionSegments = actionTag.split(":") - + actions.append({ 'title': actionSegments[0], 'timestamp': time.strftime('%H:%M:%S', time.gmtime(int(actionSegments[1]))) }) - + return actions # I stole this function from http://stackoverflow.com/questions/2506379/add-params-to-given-url-in-python. It works. def AddURLParameters (url, params): - + urlParts = list(urlparse.urlparse(url)) - + urlQuery = dict(urlparse.parse_qsl(urlParts[4])) urlQuery.update(params) - + # So... PornHub requires that it's query string parameters are set in the right order... for some reason. This piece of code handles that. It's retarded, but it has to be done urlQueryOrder = ['c', 'channelSearch', 'search', 'username', 'o', 't', 'page'] - + urlQueryOrdered = OrderedDict() - + for i in urlQueryOrder: if i in urlQuery: - urlQueryOrdered[i] = urlQuery[i] + urlQueryOrdered[i] = urlQuery[i] urlParts[4] = urllib.urlencode(urlQueryOrdered) @@ -183,5 +183,5 @@ def FormatStringForSearch(query, delimiter): query = query.replace(' ',' ') query = query.strip(' \t\n\r') query = delimiter.join(query.split()) - - return query \ No newline at end of file + + return query From 65aed7a10da46b57c0db29cac86b1a7d59360c38 Mon Sep 17 00:00:00 2001 From: NotVinny Date: Sat, 20 May 2017 00:54:49 -0400 Subject: [PATCH 41/48] Fixed video file parsing The format to find the video files changed, now they can be found again. --- Contents/Services/URL/pornhub/ServiceCode.pys | 34 +++++++++---------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/Contents/Services/URL/pornhub/ServiceCode.pys b/Contents/Services/URL/pornhub/ServiceCode.pys index d85d39c..6f24906 100644 --- a/Contents/Services/URL/pornhub/ServiceCode.pys +++ b/Contents/Services/URL/pornhub/ServiceCode.pys @@ -2,22 +2,22 @@ import PHCommon PH_POTENTIAL_RESOLUTIONS = ["1080", "720", "480", "240", "180"] -PH_VIDEO_URL_REGEX = "var player_quality_%sp = '([^']+)'" +PH_VIDEO_URL_REGEX = '"quality":"%s","videoUrl":"([^\"]+)"' def NormalizeURL(url): return url def MetadataObjectForURL(url): - + # Get the HTML string from the given URL html = HTML.ElementFromURL(url) - + # Get the video meta data videoMetaData = PHCommon.GetVideoMetaDataJSON(htmlElement=html) - + if (videoMetaData): - + return VideoClipObject( title = videoMetaData["video_title"], summary = videoMetaData["video_title"], @@ -41,22 +41,22 @@ def MetadataObjectForURL(url): @deferred def MediaObjectsForURL(url): - + # The list of MediaObjects to be returned mediaObjects = [] - + # Get the HTML string from the given URL html = HTML.ElementFromURL(url) htmlString = HTML.StringFromElement(html) - + # Get the video meta data videoMetaData = PHCommon.GetVideoMetaDataJSON(htmlElement=html) - + # Loop through all potential resolutions for resolution in PH_POTENTIAL_RESOLUTIONS: # Search for the video URL string video = Regex(PH_VIDEO_URL_REGEX % resolution).search(htmlString) - + # If video with the given resolution is found, add it to the list if video: @@ -69,18 +69,18 @@ def MediaObjectsForURL(url): optimized_for_streaming = True if Client.Product not in ['Plex Web'] else False, parts = [ PartObject( - key = video.group(1) + key = video.group(1).replace('\/', '/') ) ] ) - + # Check to see if extra metadata is available if videoMetaData: mediaObject.duration = int(videoMetaData["video_duration"]) * 1000 - + mediaObjects.append(mediaObject) - - + + return mediaObjects - - raise Ex.MediaNotAvailable \ No newline at end of file + + raise Ex.MediaNotAvailable From e5baa486b77b643ae3d5604414d1cb6056a63a19 Mon Sep 17 00:00:00 2001 From: NotVinny Date: Sun, 19 Aug 2018 15:18:00 -0400 Subject: [PATCH 42/48] Fixed xPath for Related Videos. --- Contents/Code/PHCommon.py | 2 +- Contents/Services/Shared Code/PHCommon.pys | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/Contents/Code/PHCommon.py b/Contents/Code/PHCommon.py index 7288320..8d40a7d 100644 --- a/Contents/Code/PHCommon.py +++ b/Contents/Code/PHCommon.py @@ -213,7 +213,7 @@ def VideoMenu(url, title=L("DefaultVideoMenuTitle"), duration=0): relatedVideos = html.xpath("//ul[@id='relatedVideosCenter' or @id='relateRecommendedItems']//li[contains(@class, 'videoblock')]/div[contains(@class, 'wrap')]/div[contains(@class, 'phimage')]") if (len(relatedVideos) > 0): - relatedVideosThumb = relatedVideos[0].xpath("./a/div[contains(@class, 'img')]/img/@data-mediumthumb")[0] + relatedVideosThumb = relatedVideos[0].xpath("./div[contains(@class, 'img')]/a/img/@data-mediumthumb")[0] # Add the Related Videos Directory Object oc.add(DirectoryObject( diff --git a/Contents/Services/Shared Code/PHCommon.pys b/Contents/Services/Shared Code/PHCommon.pys index f6388e0..da5b84f 100644 --- a/Contents/Services/Shared Code/PHCommon.pys +++ b/Contents/Services/Shared Code/PHCommon.pys @@ -103,14 +103,14 @@ def GetRelatedVideos(url): html = HTML.ElementFromURL(url) # Use xPath to extract the related videos - relatedVideoElements = html.xpath("//ul[@id='relatedVideosCenter' or @id='relateRecommendedItems']//li[contains(@class, 'videoblock')]/div[contains(@class, 'wrap')]/div[contains(@class, 'phimage')]") + relatedVideoElements = html.xpath("//ul[@id='relatedVideosCenter' or @id='relateRecommendedItems']//li[contains(@class, 'videoblock')]/div[contains(@class, 'wrap')]") # Loop through related videos for relatedVideoElement in relatedVideoElements: relatedVideos.append({ - 'title': relatedVideoElement.xpath("./a/div[contains(@class, 'thumbnail-info-wrapper')]/span[contains(@class,'title')]/a/text()")[0], - 'url': relatedVideoElement.xpath("./a/div[contains(@class, 'thumbnail-info-wrapper')]/span[contains(@class,'title')]/a/@href")[0], - 'thumbnail': relatedVideoElement.xpath("./a/div[contains(@class, 'img')]/img/@data-mediumthumb")[0] + 'title': relatedVideoElement.xpath("./div[contains(@class, 'thumbnail-info-wrapper')]/span[contains(@class,'title')]/a/text()")[0], + 'url': relatedVideoElement.xpath("./div[contains(@class, 'thumbnail-info-wrapper')]/span[contains(@class,'title')]/a/@href")[0], + 'thumbnail': relatedVideoElement.xpath("./div[contains(@class, 'phimage')]/div[contains(@class, 'img')]/a/img/@data-mediumthumb")[0] }) return relatedVideos From 06970bb5316168dbe2811f1a27c984725f44b34d Mon Sep 17 00:00:00 2001 From: NotVinny Date: Sun, 19 Aug 2018 15:37:30 -0400 Subject: [PATCH 43/48] Fixed thumbnail URL pattern. --- Contents/Services/Shared Code/PHCommon.pys | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Contents/Services/Shared Code/PHCommon.pys b/Contents/Services/Shared Code/PHCommon.pys index da5b84f..14ec68a 100644 --- a/Contents/Services/Shared Code/PHCommon.pys +++ b/Contents/Services/Shared Code/PHCommon.pys @@ -85,13 +85,13 @@ def GetVideoThumbnailURLs(url): if (videoMetaData["thumbs"] and videoMetaData["thumbs"]["urlPattern"] != False): - videoThumbnailsCount = Regex("/S{(\d+)}.jpg").search(videoMetaData["thumbs"]["urlPattern"]) + videoThumbnailsCount = Regex("S{(\d+)}.jpg$").search(videoMetaData["thumbs"]["urlPattern"]) if (videoThumbnailsCount): videoThumbnailsCountString = videoThumbnailsCount.group(1) for i in range(int(videoThumbnailsCountString) + 1): - thumbnailURLs.append(videoMetaData["thumbs"]["urlPattern"].replace("/S{" + videoThumbnailsCountString + "}.jpg", "/S" + str(i) + ".jpg")) + thumbnailURLs.append(videoMetaData["thumbs"]["urlPattern"].replace("S{" + videoThumbnailsCountString + "}.jpg", "S" + str(i) + ".jpg")) return thumbnailURLs From 2140ffa6dc185403ae8902dcc4250b440f2f4e3d Mon Sep 17 00:00:00 2001 From: NotVinny Date: Sun, 19 Aug 2018 16:09:18 -0400 Subject: [PATCH 44/48] Fixed porn star xPath. --- Contents/Services/Shared Code/PHPornStars.pys | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Contents/Services/Shared Code/PHPornStars.pys b/Contents/Services/Shared Code/PHPornStars.pys index 732e42e..1440b40 100644 --- a/Contents/Services/Shared Code/PHPornStars.pys +++ b/Contents/Services/Shared Code/PHPornStars.pys @@ -8,7 +8,7 @@ def GetPornStars(url): html = HTML.ElementFromURL(url) # Use xPath to extract a list of porn stars - pornStarElements = html.xpath("//ul[contains(@class, 'pornstarIndex')]/li") + pornStarElements = html.xpath("//ul[contains(@class, 'popular-pornstar')]/li") # Loop through all channels for pornStarElement in pornStarElements: @@ -17,7 +17,7 @@ def GetPornStars(url): pornStars.append({ 'name': pornStarElement.xpath("./div/div[contains(@class, 'thumbnail-info-wrapper')]/a/text()")[0], 'url': pornStarElement.xpath("./div/div[contains(@class, 'thumbnail-info-wrapper')]/a/@href")[0], - 'thumbnail': pornStarElement.xpath("./div/a/img/@src")[0] + 'thumbnail': pornStarElement.xpath("./div/a/img/@data-thumb_url")[0] }) return pornStars From 372157e716b3ab51609f7d03dc296c37df90d940 Mon Sep 17 00:00:00 2001 From: NotVinny Date: Sun, 19 Aug 2018 16:27:07 -0400 Subject: [PATCH 45/48] Fixed xPath for playlists. --- Contents/Services/Shared Code/PHPlaylists.pys | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Contents/Services/Shared Code/PHPlaylists.pys b/Contents/Services/Shared Code/PHPlaylists.pys index cfcdf37..9b7baed 100644 --- a/Contents/Services/Shared Code/PHPlaylists.pys +++ b/Contents/Services/Shared Code/PHPlaylists.pys @@ -6,7 +6,7 @@ def GetPlaylists(url): html = HTML.ElementFromURL(url) # Use xPath to extract a list of playlists - playlistElements = html.xpath("//ul[contains(@class, 'user-playlist')]/li[contains(@id, 'playlist')]") + playlistElements = html.xpath("//ul[contains(@class, 'playlist-listing')]/li[contains(@id, 'playlist')]") # Loop through all playlists for playlistElement in playlistElements: From 8a18525921466794a629c141d34df72c46fa8f26 Mon Sep 17 00:00:00 2001 From: NotVinny Date: Sun, 19 Aug 2018 17:08:34 -0400 Subject: [PATCH 46/48] Fixed xPath for members. It's awful, but it's PornHub's fault, not mine. Works though. --- Contents/Services/Shared Code/PHMembers.pys | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/Contents/Services/Shared Code/PHMembers.pys b/Contents/Services/Shared Code/PHMembers.pys index a9e627a..c02d11e 100644 --- a/Contents/Services/Shared Code/PHMembers.pys +++ b/Contents/Services/Shared Code/PHMembers.pys @@ -1,4 +1,5 @@ PH_MEMBER_HOVER_URL = 'http://pornhub.com' + '/user/hover?id=%s' +PH_MEMBER_URL = '/users/%s' def GetMemberSortOrders(url): # Create an empty list to hold the sort orders @@ -29,16 +30,16 @@ def GetMembers(url): html = HTML.ElementFromURL(url) # Use xPath to extract a list of members - memberElements = html.xpath("//ul[contains(@class, 'userWidgetWrapperGrid')]/li") + memberElements = html.xpath("//ul[contains(@class, 'userWidgetWrapperGrid')]/li/div[contains(@class, 'large-avatar')]/*[contains(@class, 'userLink')]/img") # Loop through all members for memberElement in memberElements: # Use xPath to extract member details, and add the member to the list members.append({ - 'title': memberElement.xpath("./div[contains(@class, 'usernameWrap')]/a[contains(@class, 'usernameLink')]/text()")[0], - 'url': memberElement.xpath("./div[contains(@class, 'usernameWrap')]/a[contains(@class, 'usernameLink')]/@href")[0], - 'thumbnail': memberElement.xpath("./div[contains(@class, 'large-avatar')]/a[contains(@class, 'userLink')]/img/@src")[0] + 'title': memberElement.xpath("./@title")[0], + 'url': PH_MEMBER_URL % memberElement.xpath("./@title")[0], + 'thumbnail': memberElement.xpath("./@src")[0] }) return members From baeea49c443013343285c5408bae99b8441e6973 Mon Sep 17 00:00:00 2001 From: NotVinny Date: Sun, 19 Aug 2018 17:47:13 -0400 Subject: [PATCH 47/48] Fixed xPath for category thumbnails. --- Contents/Services/Shared Code/PHCategories.pys | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Contents/Services/Shared Code/PHCategories.pys b/Contents/Services/Shared Code/PHCategories.pys index f0be077..198984b 100644 --- a/Contents/Services/Shared Code/PHCategories.pys +++ b/Contents/Services/Shared Code/PHCategories.pys @@ -15,7 +15,7 @@ def GetCategories(url): categories.append({ 'title': categoryElement.xpath("./h5/a/strong/text()")[0], 'url': categoryElement.xpath("./h5/a/@href")[0], - 'thumbnail': categoryElement.xpath("./a/img/@src")[0] + 'thumbnail': categoryElement.xpath("./a/img/@data-thumb_url")[0] }); return categories \ No newline at end of file From b68decf0d22b62738d610b21ac149096d43f1b5e Mon Sep 17 00:00:00 2001 From: NotVinny Date: Sun, 19 Aug 2018 21:25:33 -0400 Subject: [PATCH 48/48] Fixed whitespace issues. Thanks to @mnemouse for pointing this out. --- Contents/Services/Shared Code/PHCommon.pys | 72 +++++++++++----------- 1 file changed, 36 insertions(+), 36 deletions(-) diff --git a/Contents/Services/Shared Code/PHCommon.pys b/Contents/Services/Shared Code/PHCommon.pys index 14ec68a..fde24ea 100644 --- a/Contents/Services/Shared Code/PHCommon.pys +++ b/Contents/Services/Shared Code/PHCommon.pys @@ -38,42 +38,42 @@ def GetVideos(url): # Loop through the videos in the page for videoElement in videoElements: - try: - # Use xPath to extract video details - video = { - 'title': videoElement.xpath(".//span[@class='title']/a/text()")[0], - 'url': videoElement.xpath(".//a/@href")[0], - 'thumbnail': videoElement.xpath(".//img/@data-mediumthumb")[0] - } - - # Get the duration of the video - durationString = videoElement.xpath(".//var[@class='duration']/text()")[0] - - # Split it into a list separated by colon - durationArray = durationString.split(":") - - if (len(durationArray) == 2): - # Dealing with MM:SS - minutes = int(durationArray[0]) - seconds = int(durationArray[1]) - - video["duration"] = (minutes*60 + seconds) * 1000 - - elif (len(durationArray) == 3): - # Dealing with HH:MM:SS... PornHub doesn't do this, but I'll keep it as a backup anyways - hours = int(durationArray[0]) - minutes = int(durationArray[1]) - seconds = int(durationArray[2]) - - video["duration"] = (hours*3600 + minutes * 60 + seconds) * 1000 - else: - # Set a default duration of 0 - video["duration"] = 0 - - videos.append(video) - except: - Log("Error encountered with one of the videos... skipping.") - pass + try: + # Use xPath to extract video details + video = { + 'title': videoElement.xpath(".//span[@class='title']/a/text()")[0], + 'url': videoElement.xpath(".//a/@href")[0], + 'thumbnail': videoElement.xpath(".//img/@data-mediumthumb")[0] + } + + # Get the duration of the video + durationString = videoElement.xpath(".//var[@class='duration']/text()")[0] + + # Split it into a list separated by colon + durationArray = durationString.split(":") + + if (len(durationArray) == 2): + # Dealing with MM:SS + minutes = int(durationArray[0]) + seconds = int(durationArray[1]) + + video["duration"] = (minutes*60 + seconds) * 1000 + + elif (len(durationArray) == 3): + # Dealing with HH:MM:SS... PornHub doesn't do this, but I'll keep it as a backup anyways + hours = int(durationArray[0]) + minutes = int(durationArray[1]) + seconds = int(durationArray[2]) + + video["duration"] = (hours*3600 + minutes * 60 + seconds) * 1000 + else: + # Set a default duration of 0 + video["duration"] = 0 + + videos.append(video) + except: + Log("Error encountered with one of the videos... skipping.") + pass return videos def GetVideoThumbnailURLs(url):