def add_item_show(soup, provider, count, title): #Scrape items from a show-style HTML page info = tools.defaultinfo() info["Studio"] = provider bold = soup.find('b') if bold: link = bold.find("a", attrs={"href": re.compile(tv3_urls["FEEDBURNER_RE"])}) if link: urltype = "other" else: link = bold.find("a", attrs={"href": re.compile(base_url("tv3"))}) if link: urltype = "tv3" if link: if link.string: plot = link.string.strip() if plot <> "": info["PlotOutline"] = plot info["TVShowTitle"] = title image = soup.find("img", attrs={"src": re.compile(tv3_urls["IMG_RE"])}) if image: info.update(tools.imageinfo(image)) info.update(seasonepisode(link)) info["Title"] = tools.itemtitle(info["TVShowTitle"], info["PlotOutline"]) info["Count"] = count if urltype == "tv3": href = re.search("%s/(.*?)/%s/([0-9]+)/%s/([0-9]+)/%s/([0-9]+)/" % (base_url("tv3"), tv3_urls["VIDEO1"], tv3_urls["VIDEO2"], tv3_urls["VIDEO3"]), link['href']) if href: info["FileName"] = "%s?ch=TV3&id=%s&info=%s" % (sys.argv[0], "%s,%s,%s,%s" % (href.group(1), href.group(2), href.group(3), href.group(4)), urllib.quote(str(info))) elif urltype == "other": info["FileName"] = "%s?ch=TV3&id=%s&info=%s" % (sys.argv[0], urllib.quote(link["href"]), urllib.quote(str(info))) tools.addlistitem(int(sys.argv[1]), info, tv3_urls["Fanart"], 0)
def add_item_atoz(soup, provider, count): #Scrape items from an AtoZ-style HTML page baseurl = base_url(provider) info = tools.defaultinfo() info["Studio"] = provider if soup.find('h5'): link = soup.h5.find("a", attrs={"href": re.compile(baseurl)}) if link: infoitems = {} href = re.match("%s/(.*?)/%s/([0-9]+)/%s/([0-9]+)/%s/([0-9]+)/" % (baseurl, tv3_urls["VIDEO1"], tv3_urls["VIDEO2"], tv3_urls["VIDEO3"]), link['href']) if href: if link.string: title = link.string.strip() if title <> "": info["TVShowTitle"] = title image = soup.find("img", attrs={"src": re.compile(tv3_urls["IMG_RE2"]), "title": True}) if image: info.update(tools.imageinfo(image)) info.update(seasonepisode(soup.contents[4])) info["Title"] = tools.itemtitle(info["TVShowTitle"], info["PlotOutline"]) plot = soup.find("span", attrs={"class": "lite"}) if plot.string: cleanedplot = plot.string.strip() if cleanedplot: info["Plot"] = tools.unescape(cleanedplot) info["Count"] = count info["FileName"] = "%s?ch=TV3&id=%s&info=%s" % (sys.argv[0], "%s,%s,%s,%s" % (href.group(1), href.group(2), href.group(3), href.group(4)), urllib.quote(str(info))) infoitems[info["Title"]] = info #tools.addlistitem(int(sys.argv[1]), info, tv3_urls["Fanart"], 0) tools.addlistitems(infoitems, tv3_urls["Fanart"], 0)
def add_item_div(soup, provider, count): #Scrape items from a div-style HTML page baseurl = base_url(provider) info = tools.defaultinfo() info["Studio"] = provider sys.stderr.write(baseurl) link = soup.find("a", attrs={"href": re.compile(baseurl)}) if link: href = re.match("%s/(.*?)/%s/([0-9]+)/%s/([0-9]+)/%s/([0-9]+)/" % (baseurl, tv3_urls["VIDEO1"], tv3_urls["VIDEO2"], tv3_urls["VIDEO3"]), link['href']) if href: if link.string: title = link.string.strip() if title <> "": info["TVShowTitle"] = title image = soup.find("img", attrs={"src": re.compile(tv3_urls["IMG_RE"]), "title": True}) if image: info.update(tools.imageinfo(image)) se = soup.find("span", attrs={"class": "title"}) if se: info.update(seasonepisode(se)) date = soup.find("span", attrs={"class": "dateAdded"}) if date: info.update(dateduration(date)) info["Title"] = tools.itemtitle(info["TVShowTitle"], info["PlotOutline"]) info["Count"] = count plot = soup.find("div", attrs={"class": "left"}).string if plot: if plot.strip() <> "": info["Plot"] = tools.unescape(plot.strip()) info["FileName"] = "%s?ch=TV3&id=%s&info=%s" % (sys.argv[0], "%s,%s,%s,%s" % (href.group(1), href.group(2), href.group(3), href.group(4)), urllib.quote(str(info))) tools.addlistitem(int(sys.argv[1]), info, tv3_urls["Fanart"], 0)
def add_item_search(soup, provider, count): #Scrape items from a table-style HTML page baseurl = base_url(provider) info = tools.defaultinfo() info["Studio"] = provider title = soup.find("div", attrs={"class": 'catTitle'}) if title: info["TVShowTitle"] = title.a.string.strip() href = re.match("%s/(.*?)/%s/([0-9]+)/%s/([0-9]+)/%s/([0-9]+)/" % (baseurl, tv3_urls["VIDEO1"], tv3_urls["VIDEO2"], tv3_urls["VIDEO3"]), title.a['href']) image = soup.find("img") if image: info.update(tools.imageinfo(image)) ep = soup.find("div", attrs={"class": 'epTitle'}) if ep: if ep.a: info.update(seasonepisode(ep.a)) date = soup.find("div", attrs={"class": 'epDate'}) # if date: # sys.stderr.write(date.span[1].string.strip()) info["Title"] = tools.itemtitle(info["TVShowTitle"], info["PlotOutline"]) info["Count"] = count info["FileName"] = "%s?ch=TV3&id=%s&info=%s" % (sys.argv[0], "%s,%s,%s,%s" % (href.group(1), href.group(2), href.group(3), href.group(4)), urllib.quote(str(info))) tools.addlistitem(int(sys.argv[1]), info, tv3_urls["Fanart"], 0)