Example #1
0
    def getSeasonArtByTheTvDbId(self, info):
        url = self.apiSeriesByID
        url = re.sub("<seriesid>", info.TheTvDbId, url)
        url = re.sub("<lang>", u"banners", url)
        xml = WebGrabber.getXml(url, cache=False)

        if xml is None:
            WebGrabber.removeFromCache(url)
            printl(" <- None (xml is None)", self)
            return None

        movieList = xml.getElementsByTagName("Banners")
        seasonsFound = []
        info.SeasonPoster.clear()
        for eMovie in movieList:
            for p in eMovie.getElementsByTagName("Banner"):
                bannerType = p.getElementsByTagName(
                    "BannerType")[0].childNodes[0].data
                bannerType2 = p.getElementsByTagName(
                    "BannerType2")[0].childNodes[0].data
                bannerPath = p.getElementsByTagName(
                    "BannerPath")[0].childNodes[0].data
                if bannerType == "season" and bannerType2 == "season":
                    season = p.getElementsByTagName(
                        "Season")[0].childNodes[0].data
                    if season not in seasonsFound:
                        seasonsFound.append(season)
                        info.SeasonPoster[str(
                            season)] = self.apiArt + bannerPath
        if len(info.SeasonPoster.values()) > 0:
            return info

        return None
	def getSeasonArtByTheTvDbId(self, info):
		url = self.apiSeriesByID;
		url = re.sub("<seriesid>", info.TheTvDbId, url)
		url = re.sub("<lang>", u"banners", url)
		xml = WebGrabber.getXml(url, cache=False);
		
		if xml is None:
			WebGrabber.removeFromCache(url)
			printl(" <- None (xml is None)", self)
			return None
		
		movieList = xml.getElementsByTagName("Banners")
		seasonsFound = []
		info.SeasonPoster.clear()
		for eMovie in movieList:
			for p in eMovie.getElementsByTagName("Banner"):
				bannerType = p.getElementsByTagName("BannerType")[0].childNodes[0].data
				bannerType2 = p.getElementsByTagName("BannerType2")[0].childNodes[0].data
				bannerPath = p.getElementsByTagName("BannerPath")[0].childNodes[0].data
				if bannerType == "season" and bannerType2 == "season":
					season = p.getElementsByTagName("Season")[0].childNodes[0].data
					if season not in seasonsFound:
						seasonsFound.append(season)
						info.SeasonPoster[str(season)] = self.apiArt + bannerPath
		if len(info.SeasonPoster.values()) > 0:
			return info
		
		return None
Example #3
0
    def getSerie(self, info, lang):

        if info.TheTvDbId == info.TheTvDbIdNull:
            printl(" <- None (info.TheTvDbId == info.TheTvDbIdNull)", self)
            return None

        lang = lang.lower()

        #if lang == u"en":
        #	return info #en already parsed using getSerieByImdbID()

        url = self.apiSeriesByID
        url = re.sub("<seriesid>", info.TheTvDbId, url)
        url = re.sub("<lang>", lang, url)
        xml = WebGrabber.getXml(url)

        if xml is None:
            WebGrabber.removeFromCache(url)
            printl(" <- None (xml is None)", self)
            return None

        movieList = xml.getElementsByTagName("Series")
        for eMovie in movieList:

            entryLang = self.getLanguage(eMovie).lower()
            if entryLang != lang:
                continue

            #tmp = self.getTvdbId(info, eMovie)
            #if tmp is not None:
            #	info = tmp
            #tmp = self.getImdbId(info, eMovie)
            #if tmp is not None:
            #	info = tmp
            tmp = self.getSeriesName(info, eMovie)
            if tmp is not None:
                info = tmp
            tmp = self.getOverview(info, eMovie)
            if tmp is not None:
                info = tmp
            tmp = self.getFirstAired(info, eMovie)
            if tmp is not None:
                info = tmp
            tmp = self.getRuntime(info, eMovie)
            if tmp is not None:
                info = tmp
            tmp = self.getRating(info, eMovie)
            if tmp is not None:
                info = tmp
            tmp = self.getGenre(info, eMovie)
            if tmp is not None:
                info = tmp
            return info

        WebGrabber.removeFromCache(url)
        printl(" <- None (eof)", self)
        return None
	def getSerie(self, info, lang):
		
		if info.TheTvDbId == info.TheTvDbIdNull:
			printl(" <- None (info.TheTvDbId == info.TheTvDbIdNull)", self)
			return None
		
		lang = lang.lower()
		
		#if lang == u"en":
		#	return info #en already parsed using getSerieByImdbID()
		
		url = self.apiSeriesByID
		url = re.sub("<seriesid>", info.TheTvDbId, url)
		url = re.sub("<lang>", lang, url)
		xml = WebGrabber.getXml(url)
		
		if xml is None:
			WebGrabber.removeFromCache(url)
			printl(" <- None (xml is None)", self)
			return None
		
		movieList = xml.getElementsByTagName("Series")
		for eMovie in movieList:
			
			entryLang = self.getLanguage(eMovie).lower()
			if entryLang != lang:
				continue
			
			#tmp = self.getTvdbId(info, eMovie)
			#if tmp is not None:
			#	info = tmp
			#tmp = self.getImdbId(info, eMovie)
			#if tmp is not None:
			#	info = tmp
			tmp = self.getSeriesName(info, eMovie)
			if tmp is not None:
				info = tmp
			tmp = self.getOverview(info, eMovie)
			if tmp is not None:
				info = tmp
			tmp = self.getFirstAired(info, eMovie)
			if tmp is not None:
				info = tmp
			tmp = self.getRuntime(info, eMovie)
			if tmp is not None:
				info = tmp
			tmp = self.getRating(info, eMovie)
			if tmp is not None:
				info = tmp
			tmp = self.getGenre(info, eMovie)
			if tmp is not None:
				info = tmp
			return info
		
		WebGrabber.removeFromCache(url)
		printl(" <- None (eof)", self)
		return None
	def checkPathXml(self):
		printl(" -> ", "checkPathXml", "S")
		DEFAULTURL = "http://project-valerie.googlecode.com/svn/trunk/default/"
		try:
			printl("Check " + config.plugins.pvmc.configfolderpath.value + "paths.xml", __name__)
			if os.path.isfile(config.plugins.pvmc.configfolderpath.value + "paths.xml") is False:
				printl("Check paths.xml - Missing -> Downloading", __name__)
				WebGrabber.getFile(DEFAULTURL+"paths.xml", config.plugins.pvmc.configfolderpath.value + "paths.xml")
				printl("\t- Created", __name__)
			else:
				printl("\t- OK", __name__)
		except Exception, ex:
			printl("Exception: " + str(ex), __name__)
	def getArtByImdbId(self, info):
		printl ("", self, "S")
		
		if info.ImdbId == info.ImdbIdNull:
			printl("None (info.ImdbId == info.ImdbIdNull)", self, "D")
			
			printl ("", self, "C")
			return None
		
		url = self.apiImdbLookup
		url = re.sub("<imdbid>", info.ImdbId, url)
		url = re.sub("<lang>",   u"en",	   url)
		result = WebGrabber.getJson(url)
		
		if result is None:
			printl("None (result is None)", self, "D") 
			
			printl ("", self, "C")
			return None
		
		eMovie = json.loads(result)
		try:
			info.Poster = "http://d3gtl9l2a4fn1j.cloudfront.net/t/p/w300" + eMovie['poster_path']
		except Exception, ex:
			printl("Exception: " + str(ex), self)
			info.Poster = ""
	def getMovie(self, info, lang):
		printl ("", self, "S")
		
		if info.TmDbId == info.TmDbIdNull:
			printl("None (info.TmDbId == info.TmDbIdNull)", self, "I") 
			
			printl ("", self, "C")
			return None
		
		lang = lang.lower()
		
		if lang == u"en":
			printl("en already parsed using getSerieByImdbID()", self, "I")
			
			printl ("", self, "C")
			return info
		
		url = self.apiImdbLookup
		url = re.sub("<imdbid>", info.ImdbId, url)
		url = re.sub("<lang>",   lang,		url)
		result = WebGrabber.getJson(url)
		
		if result is None:
			printl("None (result is None)", self, "I") 
			
			printl ("", self, "C")
			return None
		
		eMovie = json.loads(result)
		
		#if self.getTranslated(eMovie) is False:
		#	continue
		
		#tmp = self.getTmdbId(info, eMovie)
		#if tmp is not None:
		#	info = tmp
		#tmp = self.getImdbId(info, eMovie)
		#if tmp is not None:
		#	info = tmp
		tmp = self.getName(info, eMovie)
		if tmp is not None:
			info = tmp
		tmp = self.getOverview(info, eMovie)
		if tmp is not None:
			info = tmp
		tmp = self.getReleased(info, eMovie)
		if tmp is not None:
			info = tmp
		tmp = self.getRating(info, eMovie)
		if tmp is not None:
			info = tmp
		tmp = self.getRuntime(info, eMovie)
		if tmp is not None:
			info = tmp
		tmp = self.getGenre(info, eMovie)
		if tmp is not None:
			info = tmp
		
		printl ("", self, "C")		
		return info
Example #8
0
    def getMoviesByImdbID(self, info):
        #print "getMoviesByImdbID", info.ImdbId
        url = self.apiDetails
        url = re.sub("<imdbid>", info.ImdbId, url)
        html = WebGrabber.getHtml(url)

        if html is None:
            #	print "if html is None"
            return None

        tmp = self.getTag(info, html)
        if tmp is not None:
            info = tmp

        tmp = self.getVotes(info, html)
        if tmp is not None:
            info = tmp

        tmp = self.getTitle(info, html)
        if tmp is not None:
            info = tmp

        tmp = self.getPlot(info, html)
        if tmp is not None:
            info = tmp

        tmp = self.getRuntime(info, html)
        if tmp is not None:
            info = tmp

        tmp = self.getGenre(info, html)
        if tmp is not None:
            info = tmp

        return info
	def getMoviesByImdbID(self, info):
		#print "getMoviesByImdbID", info.ImdbId
		url = self.apiDetails
		url = re.sub("<imdbid>", info.ImdbId, url)
		html = WebGrabber.getHtml(url)
		
		if html is None:
		#	print "if html is None"
			return None;
		
		tmp = self.getTag(info, html)
		if tmp is not None:
			info = tmp  
		
		tmp = self.getVotes(info, html)
		if tmp is not None:
			info = tmp  
		
		tmp = self.getTitle(info, html)
		if tmp is not None:
			info = tmp  
		
		tmp = self.getPlot(info, html)
		if tmp is not None:
			info = tmp  
		
		tmp = self.getRuntime(info, html)
		if tmp is not None:
			info = tmp  
		
		tmp = self.getGenre(info, html)
		if tmp is not None:
			info = tmp  
		
		return info;
Example #10
0
	def getSeasonAndEpisodeFromEpisodeName(self, info):
		if info.SearchString is None or len(info.SearchString) == 0:
			printl(" <- None (info.SearchString is None or len(info.SearchString) == 0)", self) 
			return (False, None)
		
		url = self.apiSearch
		url = re.sub("<search>", info.SearchString, url)
		printl("Google-query: " + info.SearchString, self, "I")
		html = WebGrabber.getHtml(url)
		
		if html is None:
			printl(" <- None (html is None)", self) 
			return (False, None)
		
		# well there seems to be a problem with detecting tvshows,
		#so lets build in a workaround, you will need at least 2 time the same
		#season and episode before acepting it
		
		count = 0
		s = 0
		e = 0
		
		# Issue #205, efo => use only result tag
		# htmlSplitted = html.split(self.DIV_RESULT_START)
		htmlSplitted = html.split(self.DIV_RESULT_FLAG)
		lobSkipEntry = True
		for htmlSplitter in htmlSplitted:
			# Skip first entry, since this mostly contain script stuff...
			if lobSkipEntry == True:
				lobSkipEntry = False
				continue
			
			htmlSplitter = htmlSplitter.strip()
			
			# Issue #205, efo => don't split again, since we now already have a single line which can be checked...
			#if htmlSplitter.startswith(self.DIV_RESULT_FLAG) is False:
			#	continue
			
			#pos = htmlSplitter.find(self.DIV_RESULT_END)
			#if pos < 0:
			#	continue
			
			tmp = self.searchForSeasonAndEpisode(info, htmlSplitter.lower())
			if tmp is not None:
				info = tmp
				
				if s == 0 or e == 0:
					s = info.Season
					e = info.Episode

				if s == info.Season and e == info.Episode:
					count = count + 1
					if count == 2:
						return (True, info)
			else:
				continue
		
		printl(" <- None (eof)", self) 
		return (True, None)
	def getSeasonAndEpisodeFromEpisodeName(self, info):
		if info.SearchString is None or len(info.SearchString) == 0:
			printl(" <- None (info.SearchString is None or len(info.SearchString) == 0)", self) 
			return (False, None)
		
		url = self.apiSearch
		url = re.sub("<search>", info.SearchString, url)
		printl("Google-query: " + info.SearchString, self, "I")
		html = WebGrabber.getHtml(url)
		
		if html is None:
			printl(" <- None (html is None)", self) 
			return (False, None)
		
		# well there seems to be a problem with detecting tvshows,
		#so lets build in a workaround, you will need at least 2 time the same
		#season and episode before acepting it
		
		count = 0
		s = 0
		e = 0
		
		# Issue #205, efo => use only result tag
		# htmlSplitted = html.split(self.DIV_RESULT_START)
		htmlSplitted = html.split(self.DIV_RESULT_FLAG)
		lobSkipEntry = True
		for htmlSplitter in htmlSplitted:
			# Skip first entry, since this mostly contain script stuff...
			if lobSkipEntry == True:
				lobSkipEntry = False
				continue
			
			htmlSplitter = htmlSplitter.strip()
			
			# Issue #205, efo => don't split again, since we now already have a single line which can be checked...
			#if htmlSplitter.startswith(self.DIV_RESULT_FLAG) is False:
			#	continue
			
			#pos = htmlSplitter.find(self.DIV_RESULT_END)
			#if pos < 0:
			#	continue
			
			tmp = self.searchForSeasonAndEpisode(info, htmlSplitter.lower())
			if tmp is not None:
				info = tmp
				
				if s == 0 or e == 0:
					s = info.Season
					e = info.Episode

				if s == info.Season and e == info.Episode:
					count = count + 1
					if count == 2:
						return (True, info)
			else:
				continue
		
		printl(" <- None (eof)", self) 
		return (True, None)
Example #12
0
    def getSerieByImdbID(self, info):

        if info.ImdbId == info.ImdbIdNull:
            printl(" <- None (info.ImdbId == info.ImdbIdNull)", self)
            return None

        url = self.apiSeriesByImdbID + info.ImdbId
        xml = WebGrabber.getXml(url)

        if xml is None:
            WebGrabber.removeFromCache(url)
            printl(" <- None (xml is None)", self)
            return None

        movieList = xml.getElementsByTagName("Series")
        for eMovie in movieList:
            tmp = self.getTvdbId(info, eMovie)
            if tmp is not None:
                info = tmp
            #tmp = self.getImdbId(info, eMovie)
            #if tmp is not None:
            #	info = tmp
            tmp = self.getSeriesName(info, eMovie)
            if tmp is not None:
                info = tmp
            tmp = self.getOverview(info, eMovie)
            if tmp is not None:
                info = tmp
            tmp = self.getFirstAired(info, eMovie)
            if tmp is not None:
                info = tmp
            #tmp = self.getRuntime(info, eMovie)
            #if tmp is not None:
            #	info = tmp
            tmp = self.getRating(info, eMovie)
            if tmp is not None:
                info = tmp
            tmp = self.getGenre(info, eMovie)
            if tmp is not None:
                info = tmp
            return info

        WebGrabber.removeFromCache(url)
        printl(" <- None (eof)", self)
        return None
	def getSerieByImdbID(self, info):
		
		if info.ImdbId == info.ImdbIdNull:
			printl(" <- None (info.ImdbId == info.ImdbIdNull)", self)
			return None
		
		url = self.apiSeriesByImdbID + info.ImdbId
		xml = WebGrabber.getXml(url)
		
		if xml is None:
			WebGrabber.removeFromCache(url)
			printl(" <- None (xml is None)", self)
			return None
		
		movieList = xml.getElementsByTagName("Series")
		for eMovie in movieList:
			tmp = self.getTvdbId(info, eMovie)
			if tmp is not None:
				info = tmp
			#tmp = self.getImdbId(info, eMovie)
			#if tmp is not None:
			#	info = tmp
			tmp = self.getSeriesName(info, eMovie)
			if tmp is not None:
				info = tmp
			tmp = self.getOverview(info, eMovie)
			if tmp is not None:
				info = tmp
			tmp = self.getFirstAired(info, eMovie)
			if tmp is not None:
				info = tmp
			#tmp = self.getRuntime(info, eMovie)
			#if tmp is not None:
			#	info = tmp
			tmp = self.getRating(info, eMovie)
			if tmp is not None:
				info = tmp
			tmp = self.getGenre(info, eMovie)
			if tmp is not None:
				info = tmp
			return info
		
		WebGrabber.removeFromCache(url)
		printl(" <- None (eof)", self)
		return None
	def getMoviesByTitle(self, info):
		if info.ImdbId != info.ImdbIdNull:
			printl("IMDb-ID already set to '" + str(info.ImdbId) + "' - get movie by ID instead... ", self, "I")
			info2 = self.getMoviesByImdbID(info)
			if info2 is not None:
				printl("Get movie by ID succeeded. ", self, "I")
				return info2
		
		url = self.apiSearch
		url = re.sub("<search>", info.SearchString, url)
		html = WebGrabber.getHtml(url)
		
		if html is None:
			printl("<- None (html is None)", self)
			return None
		
		if self.testNoResults in html:
			printl("<- None (self.testNoResults in html)", self)
			return None
		
		#print "MIMDB seraches for ", info.is_Movie, info.is_Episode, info.is_Serie
		
		year = info.Year		
		
		results = self.getResults(html)
		printl("Results are: ", self)
		
		for result in results:
			printl("\t" + str(result), self)
		
		for result in results:
			if info.isTypeEpisode() or info.isTypeSerie():
				if not result.IsTVSeries:
					printl("Searched media is a TV-show - but result seems to be a movie => skip...", self, "I")
					continue
			else: # is_Movie
				if result.IsTVSeries:
					printl("Searched media is a movie - but result seems to be a TV-show => skip...", self, "I")
					continue
			
			# We check if year +-1, cause sometimes the year is wrong by one year
			if year is None or year <= 0 or year == result.Year or (year+1) == result.Year or (year-1) == result.Year:
				info.ImdbId = result.ImdbId
				info.Title = result.Title
				info.Year = result.Year
				
				printl("Get movie by ID '" + str(info.ImdbId) + "'", self, "I")
				tmp = self.getMoviesByImdbID(info)
				if tmp is not None:
					info = tmp
					printl("Get movie by ID succeeded: " + str(info.ImdbId) + "'", self, "I")
					return info
		

		
		printl("<- None (eof)", self)
		return None
Example #15
0
 def checkPathXml(self):
     printl(" -> ", "checkPathXml", "S")
     DEFAULTURL = "http://project-valerie.googlecode.com/svn/trunk/default/"
     try:
         printl(
             "Check " + config.plugins.pvmc.configfolderpath.value +
             "paths.xml", __name__)
         if os.path.isfile(config.plugins.pvmc.configfolderpath.value +
                           "paths.xml") is False:
             printl("Check paths.xml - Missing -> Downloading", __name__)
             WebGrabber.getFile(
                 DEFAULTURL + "paths.xml",
                 config.plugins.pvmc.configfolderpath.value + "paths.xml")
             printl("\t- Created", __name__)
         else:
             printl("\t- OK", __name__)
     except Exception, ex:
         printl("Exception: " + str(ex), __name__)
Example #16
0
	def save(self, url, file=None, overwrite=False, useDuck=False):
		if useDuck is False:
			urlresponse = WebGrabber.getText(url, cache=False)
		else:
			try:
				urlresponse = DuckboxAPI.sendFile(url, file, ())
			except:
				urlresponse = ""
				printl("EXCEPTION ON DUCKAPI")
		printl("urlresponse=" + str(urlresponse), self, "D")
		if urlresponse is not None and urlresponse != "NONE":
			urlresponse = urlresponse.strip().split("<br />")
			for file in urlresponse:
				fileInfo = file.strip().split('|')
				printl("fileInfo=" + str(fileInfo), self, "D")
				if len(fileInfo) == 2:
					printl("overwrite => " + str(overwrite), self, "I")
					WebGrabber.getFile(self.URL + fileInfo[1], fileInfo[0], retry=3, fixurl=True, overwrite=overwrite)
	def getMovie(self, info, lang):
		if info.TmDbId == info.TmDbIdNull:
			printl(" <- None (info.TmDbId == info.TmDbIdNull)", self) 
			return None
		
		lang = lang.lower()
		
		if lang == u"en":
			return info #en already parsed using getSerieByImdbID()
		
		url = self.apiImdbLookup
		url = re.sub("<imdbid>", info.ImdbId, url)
		url = re.sub("<lang>",   lang,		url)
		xml = WebGrabber.getXml(url)
		
		if xml is None:
			printl(" <- None (xml is None)", self) 
			return None
		
		movieList = xml.getElementsByTagName("movie")
		for eMovie in movieList:
			
			if self.getTranslated(eMovie) is False:
				continue
			
			#tmp = self.getTmdbId(info, eMovie)
			#if tmp is not None:
			#	info = tmp
			#tmp = self.getImdbId(info, eMovie)
			#if tmp is not None:
			#	info = tmp
			tmp = self.getName(info, eMovie)
			if tmp is not None:
				info = tmp
			tmp = self.getOverview(info, eMovie)
			if tmp is not None:
				info = tmp
			tmp = self.getReleased(info, eMovie)
			if tmp is not None:
				info = tmp
			tmp = self.getRating(info, eMovie)
			if tmp is not None:
				info = tmp
			tmp = self.getRuntime(info, eMovie)
			if tmp is not None:
				info = tmp
			tmp = self.getGenre(info, eMovie)
			if tmp is not None:
				info = tmp
			
			return info
		
		printl(" <- None (eof)", self)
		return None
Example #18
0
    def getArtByTheTvDbId(self, info):
        if info.TheTvDbId == info.TheTvDbIdNull:
            printl(" <- None (info.TheTvDbId == info.TheTvDbIdNull)", self)
            return None

        url = self.apiSeriesByID
        url = re.sub("<seriesid>", info.TheTvDbId, url)
        url = re.sub("<lang>", u"en", url)
        xml = WebGrabber.getXml(url)

        if xml is None:
            WebGrabber.removeFromCache(url)
            printl(" <- None (xml is None)", self)
            return None

        movieList = xml.getElementsByTagName("Series")
        for eMovie in movieList:
            for p in eMovie.getElementsByTagName("poster"):
                if len(p.childNodes) > 0:
                    info.Poster = self.apiArt + p.childNodes[0].data
                    break
            for p in eMovie.getElementsByTagName("fanart"):
                if len(p.childNodes) > 0:
                    info.Backdrop = self.apiArt + p.childNodes[0].data
                    break

        if info.isTypeSerie():
            tmp = self.getSeasonArtByTheTvDbId(info)
            if tmp is not None and len(tmp.SeasonPoster.values()) > 0:
                info = tmp
            else:
                info.SeasonPoster.clear()

        if len(info.Poster) > 0 or len(info.Backdrop) > 0:
            return info

        WebGrabber.removeFromCache(url)
        printl(" <- None (eof)", self)
        return None
Example #19
0
 def save(self, url, file=None, overwrite=False, useDuck=False):
     if useDuck is False:
         urlresponse = WebGrabber.getText(url, cache=False)
     else:
         try:
             urlresponse = DuckboxAPI.sendFile(url, file, ())
         except:
             urlresponse = ""
             printl("EXCEPTION ON DUCKAPI")
     printl("urlresponse=" + str(urlresponse), self, "D")
     if urlresponse is not None and urlresponse != "NONE":
         urlresponse = urlresponse.strip().split("<br />")
         for file in urlresponse:
             fileInfo = file.strip().split('|')
             printl("fileInfo=" + str(fileInfo), self, "D")
             if len(fileInfo) == 2:
                 printl("overwrite => " + str(overwrite), self, "I")
                 WebGrabber.getFile(self.URL + fileInfo[1],
                                    fileInfo[0],
                                    retry=3,
                                    fixurl=True,
                                    overwrite=overwrite)
	def getArtByTheTvDbId(self, info):
		if info.TheTvDbId == info.TheTvDbIdNull:
			printl(" <- None (info.TheTvDbId == info.TheTvDbIdNull)", self)
			return None
		
		url = self.apiSeriesByID;
		url = re.sub("<seriesid>", info.TheTvDbId, url)
		url = re.sub("<lang>", u"en", url)
		xml = WebGrabber.getXml(url);
		
		if xml is None:
			WebGrabber.removeFromCache(url)
			printl(" <- None (xml is None)", self)
			return None
		
		movieList = xml.getElementsByTagName("Series")
		for eMovie in movieList:
			for p in eMovie.getElementsByTagName("poster"):
				if len(p.childNodes) > 0:
					info.Poster = self.apiArt + p.childNodes[0].data
					break
			for p in eMovie.getElementsByTagName("fanart"):
				if len(p.childNodes) > 0:
					info.Backdrop = self.apiArt + p.childNodes[0].data
					break
		
		if info.isTypeSerie():
			tmp = self.getSeasonArtByTheTvDbId(info)
			if tmp is not None and len(tmp.SeasonPoster.values()) > 0:
				info = tmp
			else:
				info.SeasonPoster.clear()
		
		if len(info.Poster) > 0 or len(info.Backdrop) > 0:
			return info

		WebGrabber.removeFromCache(url)
		printl(" <- None (eof)", self)
		return None
Example #21
0
    def getMovieByTitle(self, mediaInfo):
        if mediaInfo.isTypeSerie():
            urlTitle = mediaInfo.SearchString
            urlTitle = re.sub(" ", "+", urlTitle)

            pageHtml = WebGrabber.getHtml(
                re.sub("<title>", urlTitle, self.apiSearchTV))

            if not pageHtml:
                return mediaInfo

            m = re.search(r'Most Popular TV Series With Title Matching',
                          pageHtml)
            if m and m.group():
                mediaInfo = self.parseAdvancedSearchResultScreen(
                    mediaInfo, pageHtml)
                mediaInfo = self.getMoviesByImdbId(mediaInfo)
                if mediaInfo.ImdbId != "tt0000000":
                    return mediaInfo

        urlTitle = mediaInfo.SearchString
        urlTitle = re.sub(" ", "+", urlTitle)

        pageHtml = WebGrabber().grab(self.apiSearch + urlTitle)

        if not pageHtml:
            return mediaInfo

        pageHtml = decode_htmlentities(pageHtml)

        m = re.search(r'<title>IMDb Title Search</title>', pageHtml)
        if m and m.group():
            mediaInfo = self.parseSearchResultScreen(mediaInfo, pageHtml)
            mediaInfo = self.getMoviesByImdbId(mediaInfo)
        else:
            #m = re.search(r'<title>.+?\(?P<year>\d{4}[\/IVX]*\).*?</title>', pageHtml)
            #if m and m.group():
            mediaInfo = self.parseDetailsScreen(mediaInfo, pageHtml)
        return mediaInfo
	def getPlot(self, mediaInfo):
		if mediaInfo.ImdbId == mediaInfo.ImdbIdNull:
			return mediaInfo
		
		pageHtml = WebGrabber.getHtml(self.apiImdbLookup + mediaInfo.ImdbId + "/plotsummary")
		
		if not pageHtml:
			return mediaInfo
		
		m = re.search(r'<p class=\"plotpar\">\s*(?P<plot>[^<]+?)<i>', pageHtml)
		if m and m.group("plot"):
			mediaInfo.Plot = unicode(m.group("plot").strip())
		return mediaInfo
Example #23
0
    def getMoviesByImdbId(self, mediaInfo):
        if mediaInfo.ImdbId == mediaInfo.ImdbIdNull:
            return mediaInfo

        pageHtml = WebGrabber.getHtml(self.apiImdbLookup + mediaInfo.ImdbId)

        if not pageHtml:
            return mediaInfo

        m = re.search(r'<title>.+?\(\d{4}[\/IVX]*\).*?</title>', pageHtml)
        if m and m.group():
            mediaInfo = self.parseDetailsScreen(mediaInfo, pageHtml)

        return mediaInfo
Example #24
0
    def getPlot(self, mediaInfo):
        if mediaInfo.ImdbId == mediaInfo.ImdbIdNull:
            return mediaInfo

        pageHtml = WebGrabber.getHtml(self.apiImdbLookup + mediaInfo.ImdbId +
                                      "/plotsummary")

        if not pageHtml:
            return mediaInfo

        m = re.search(r'<p class=\"plotpar\">\s*(?P<plot>[^<]+?)<i>', pageHtml)
        if m and m.group("plot"):
            mediaInfo.Plot = unicode(m.group("plot").strip())
        return mediaInfo
	def getMoviesByImdbId(self, mediaInfo):
		if mediaInfo.ImdbId == mediaInfo.ImdbIdNull:
			return mediaInfo
		
		pageHtml = WebGrabber.getHtml(self.apiImdbLookup + mediaInfo.ImdbId)
		
		if not pageHtml:
			return mediaInfo
		
		m = re.search(r'<title>.+?\(\d{4}[\/IVX]*\).*?</title>', pageHtml)
		if m and m.group():
			mediaInfo = self.parseDetailsScreen(mediaInfo, pageHtml)
		
		return mediaInfo
Example #26
0
    def getAlternatives(self, info):
        url = self.apiSearch
        url = re.sub("<search>", info.SearchString, url)
        html = WebGrabber.getHtml(url)

        if html is None:
            #print "MobileImdbComProvider::getAlternatives() <- html is None"
            return None

        if self.testNoResults in html:
            #print "MobileImdbComProvider::getAlternatives() <- self.testNoResults in html"
            return None

        results = self.getResults(html)
        return results
	def getAlternatives(self, info):		
		url = self.apiSearch
		url = re.sub("<search>", info.SearchString, url)
		html = WebGrabber.getHtml(url)
		
		if html is None:
			#print "MobileImdbComProvider::getAlternatives() <- html is None" 
			return None
		
		if self.testNoResults in html:
			#print "MobileImdbComProvider::getAlternatives() <- self.testNoResults in html" 
			return None
		
		results = self.getResults(html)
		return results
	def getMovieByImdbID(self, info):
		printl ("", self, "S")
		
		if info.ImdbId == info.ImdbIdNull:
			printl("None (info.ImdbId == info.ImdbIdNull)", self, "I") 
			
			printl ("", self, "C")
			return None
		
		url = self.apiImdbLookup
		url = re.sub("<imdbid>", info.ImdbId, url)
		url = re.sub("<lang>",   u"en",	   url)
		result = WebGrabber.getJson(url)
		
		if result is None:
			printl("None (result is None)", self, "I") 
			
			printl ("", self, "C")
			return None
		
		eMovie = json.loads(result)
		tmp = self.getTmdbId(info, eMovie)
		if tmp is not None:
			info = tmp
		#tmp = self.getImdbId(info, eMovie)
		#if tmp is not None:
		#	info = tmp
		tmp = self.getName(info, eMovie)
		if tmp is not None:
			info = tmp
		tmp = self.getOverview(info, eMovie)
		if tmp is not None:
			info = tmp
		tmp = self.getReleased(info, eMovie)
		if tmp is not None:
			info = tmp
		tmp = self.getRating(info, eMovie)
		if tmp is not None:
			info = tmp
		tmp = self.getRuntime(info, eMovie)
		if tmp is not None:
			info = tmp
		tmp = self.getGenre(info, eMovie)
		if tmp is not None:
			info = tmp

		printl ("", self, "C")		
		return info
	def getMovieByImdbID(self, info):
		if info.ImdbId == info.ImdbIdNull:
			printl(" <- None (info.ImdbId == info.ImdbIdNull)", self) 
			return None
		
		url = self.apiImdbLookup
		url = re.sub("<imdbid>", info.ImdbId, url)
		url = re.sub("<lang>",   u"en",	   url)
		xml = WebGrabber.getXml(url)
		
		if xml is None:
			printl(" <- None (xml is None)", self) 
			return None
		
		movieList = xml.getElementsByTagName("movie")
		for eMovie in movieList:
			tmp = self.getTmdbId(info, eMovie)
			if tmp is not None:
				info = tmp
			#tmp = self.getImdbId(info, eMovie)
			#if tmp is not None:
			#	info = tmp
			tmp = self.getName(info, eMovie)
			if tmp is not None:
				info = tmp
			tmp = self.getOverview(info, eMovie)
			if tmp is not None:
				info = tmp
			tmp = self.getReleased(info, eMovie)
			if tmp is not None:
				info = tmp
			tmp = self.getRating(info, eMovie)
			if tmp is not None:
				info = tmp
			tmp = self.getRuntime(info, eMovie)
			if tmp is not None:
				info = tmp
			tmp = self.getGenre(info, eMovie)
			if tmp is not None:
				info = tmp
			
			return info
		
		printl(" <- None (eof)", self) 
		return None
Example #30
0
def run():
    enrollmentSummaryHTML = WebGrabber.grab()
    CS = CourseScraper.CourseScraper(enrollmentSummaryHTML)
    courseList = CS.getCourses()
    print "The following courses were found:"
    for course in courseList:
        print(course)

    calMaker = iCalMaker.iCalMaker(courseList)
    ics = calMaker.getICS()

    # write the .ics file to the disk
    f = open("Spring2015Courses.ics", "w")
    f.write(ics)
    f.close()

    print ("""\nCalendarization successful! A file called "Spring2015Courses.ics" """ +
          """has been created for you to import into your Google Calendar.""")
    def getEpisodeByImdbID(self, info, lang):

        if info.Episode == -1 or info.Season == -1:
            printl(" <- None (info.Episode == -1 or info.Season == -1)", self)
            return None

        url = self.apiEpisodeList
        url = re.sub("<imdbid>", info.ImdbId, url)
        url = re.sub("<lang>", lang, url)
        html = WebGrabber.getHtml(url)

        if html is None:
            printl(" <- None (html is None)", self)
            return None

        results = self.getResults(html, lang)
        for result in results:
            if result.Season == info.Season and result.Episode == info.Episode:
                return self.getMoviesByImdbID(info, lang, result.ImdbId)

        printl(" <- None (eof)", self)
        return None
	def getEpisodeByImdbID(self, info, lang):
		
		if info.Episode == -1 or info.Season == -1:
			printl(" <- None (info.Episode == -1 or info.Season == -1)", self)
			return None
		
		url = self.apiEpisodeList
		url = re.sub("<imdbid>", info.ImdbId, url)
		url = re.sub("<lang>", lang, url)
		html = WebGrabber.getHtml(url)
		
		if html is None:
			printl(" <- None (html is None)", self)
			return None
		
		results = self.getResults(html, lang)
		for result in results:
			if result.Season == info.Season and result.Episode == info.Episode:
				return self.getMoviesByImdbID(info, lang, result.ImdbId)
		
		printl(" <- None (eof)", self)
		return None	
	def getMoviesByImdbID(self, info, lang, imdbid=None):
		
		url = self.apiPlot
		if imdbid is not None:
			url = re.sub("<imdbid>", imdbid, url)
		else:
			url = re.sub("<imdbid>", info.ImdbId, url)
		url = re.sub("<lang>", lang, url)
		html = WebGrabber.getHtml(url)
		
		if html is None:
			printl(" <- None (html is None)", self)
			return None;
		
		tmp = self.getTitle(info, html)
		if tmp is not None:
			info = tmp
		
		tmp = self.getPlot(info, html)
		if tmp is not None:
			info = tmp
		
		return info;
    def getMoviesByImdbID(self, info, lang, imdbid=None):

        url = self.apiPlot
        if imdbid is not None:
            url = re.sub("<imdbid>", imdbid, url)
        else:
            url = re.sub("<imdbid>", info.ImdbId, url)
        url = re.sub("<lang>", lang, url)
        html = WebGrabber.getHtml(url)

        if html is None:
            printl(" <- None (html is None)", self)
            return None

        tmp = self.getTitle(info, html)
        if tmp is not None:
            info = tmp

        tmp = self.getPlot(info, html)
        if tmp is not None:
            info = tmp

        return info
	def getMovieByTitle(self, mediaInfo):
		if mediaInfo.isTypeSerie():
			urlTitle = mediaInfo.SearchString
			urlTitle = re.sub(" ", "+", urlTitle)
			
			pageHtml = WebGrabber.getHtml(re.sub("<title>", urlTitle, self.apiSearchTV))
			
			if not pageHtml:
				return mediaInfo
			
			m = re.search(r'Most Popular TV Series With Title Matching', pageHtml)
			if m and m.group():
				mediaInfo = self.parseAdvancedSearchResultScreen(mediaInfo, pageHtml)
				mediaInfo = self.getMoviesByImdbId(mediaInfo)
				if mediaInfo.ImdbId != "tt0000000":
					return mediaInfo
		
		urlTitle = mediaInfo.SearchString
		urlTitle = re.sub(" ", "+", urlTitle)
		
		pageHtml = WebGrabber().grab(self.apiSearch + urlTitle)
		
		if not pageHtml:
			return mediaInfo
		
		pageHtml = decode_htmlentities(pageHtml)
		
		m = re.search(r'<title>IMDb Title Search</title>', pageHtml)
		if m and m.group():
			mediaInfo = self.parseSearchResultScreen(mediaInfo, pageHtml)
			mediaInfo = self.getMoviesByImdbId(mediaInfo)
		else:
			#m = re.search(r'<title>.+?\(?P<year>\d{4}[\/IVX]*\).*?</title>', pageHtml)
			#if m and m.group():
			mediaInfo = self.parseDetailsScreen(mediaInfo, pageHtml)
		return mediaInfo
	def getArtByImdbId(self, info):
		if info.ImdbId == info.ImdbIdNull:
			printl(" <- None (info.ImdbId == info.ImdbIdNull)", self)
			return None
		
		url = self.apiImdbLookup
		url = re.sub("<imdbid>", info.ImdbId, url)
		url = re.sub("<lang>",   u"en",	   url)
		xml = WebGrabber.getXml(url)
		
		if xml is None:
			printl(" <- None (xml is None)", self)
			return None
		
		movieList = xml.getElementsByTagName("movie")
		
		# The best picture is always the first, we may need to check addidonal languages
		for eMovie in movieList:
			for p in eMovie.getElementsByTagName("image"):
				if p.getAttribute("type") == "poster" and p.getAttribute("size") == "original":
					info.Poster = p.getAttribute("url")
					if len(info.Poster) > 0:
						break
		
		for eMovie in movieList:
			for p in eMovie.getElementsByTagName("image"):
				if p.getAttribute("type") == "backdrop" and p.getAttribute("size") == "original":
					info.Backdrop = p.getAttribute("url")
					if len(info.Backdrop) > 0:
						break
		
		if len(info.Poster) > 0 or len(info.Backdrop) > 0:
			return info
		
		printl(" <- None (eof)", self)
		return None
Example #37
0
	
	try: 
		printl("Check " + config.plugins.pvmc.mediafolderpath.value, __name__, "I")
		os.makedirs(config.plugins.pvmc.mediafolderpath.value)
	except OSError, e:
		printl("\t- OK", __name__, "I")
	else:
		printl("\t- Created", __name__, "I")
	
	DEFAULTURL = "http://project-valerie.googlecode.com/svn/trunk/default/"
	
	printl("Check " + config.plugins.pvmc.mediafolderpath.value + "*", __name__, "I")
	
	if os.access(config.plugins.pvmc.mediafolderpath.value + "defaultbackdrop.m1v", os.F_OK) is False:
		printl("Check defaultbackdrop.m1v - Missing -> Downloading", __name__, "I")
		WebGrabber.getFile(DEFAULTURL+"defaultbackdrop.m1v", "defaultbackdrop.m1v")
	
	if os.access(config.plugins.pvmc.mediafolderpath.value + "defaultposter.png", os.F_OK) is False:
		printl("Check defaultposter.png - Missing -> Downloading", __name__, "I")
		WebGrabber.getFile(DEFAULTURL+"defaultposter.png", "defaultposter.png")
	
	if os.access(config.plugins.pvmc.mediafolderpath.value + "defaultposter_110x214.png", os.F_OK) is False:
		printl("Check defaultposter_110x214.png - Missing -> Downloading", __name__, "I")
		WebGrabber.getFile(DEFAULTURL+"defaultposter_110x214.png", "defaultposter_110x214.png")
	
	if os.access(config.plugins.pvmc.mediafolderpath.value + "defaultposter_156x214.png", os.F_OK) is False:
		printl("Check defaultposter_156x214.png - Missing -> Downloading", __name__, "I")
		WebGrabber.getFile(DEFAULTURL+"defaultposter_156x214.png", "defaultposter_156x214.png")
	
	if os.access(config.plugins.pvmc.mediafolderpath.value + "defaultposter_195x267.png", os.F_OK) is False:
		printl("Check defaultposter_195x267.png - Missing -> Downloading", __name__, "I")
Example #38
0
    def getMoviesByTitle(self, info):
        if info.ImdbId != info.ImdbIdNull:
            printl(
                "IMDb-ID already set to '" + str(info.ImdbId) +
                "' - get movie by ID instead... ", self, "I")
            info2 = self.getMoviesByImdbID(info)
            if info2 is not None:
                printl("Get movie by ID succeeded. ", self, "I")
                return info2

        url = self.apiSearch
        url = re.sub("<search>", info.SearchString, url)
        html = WebGrabber.getHtml(url)

        if html is None:
            printl("<- None (html is None)", self)
            return None

        if self.testNoResults in html:
            printl("<- None (self.testNoResults in html)", self)
            return None

        #print "MIMDB seraches for ", info.is_Movie, info.is_Episode, info.is_Serie

        year = info.Year

        results = self.getResults(html)
        printl("Results are: ", self)

        for result in results:
            printl("\t" + str(result), self)

        for result in results:
            if info.isTypeEpisode() or info.isTypeSerie():
                if not result.IsTVSeries:
                    printl(
                        "Searched media is a TV-show - but result seems to be a movie => skip...",
                        self, "I")
                    continue
            else:  # is_Movie
                if result.IsTVSeries:
                    printl(
                        "Searched media is a movie - but result seems to be a TV-show => skip...",
                        self, "I")
                    continue

            # We check if year +-1, cause sometimes the year is wrong by one year
            if year is None or year <= 0 or year == result.Year or (
                    year + 1) == result.Year or (year - 1) == result.Year:
                info.ImdbId = result.ImdbId
                info.Title = result.Title
                info.Year = result.Year

                printl("Get movie by ID '" + str(info.ImdbId) + "'", self, "I")
                tmp = self.getMoviesByImdbID(info)
                if tmp is not None:
                    info = tmp
                    printl(
                        "Get movie by ID succeeded: " + str(info.ImdbId) + "'",
                        self, "I")
                    return info

        printl("<- None (eof)", self)
        return None
Example #39
0
                    printl("\t- Created", __name__)

                try:
                    printl(
                        "Check " + config.plugins.pvmc.configfolderpath.value,
                        __name__)
                    os.makedirs(config.plugins.pvmc.configfolderpath.value)
                except OSError, e:
                    printl("\t- OK", __name__)
                else:
                    printl("\t- Created", __name__)

                printl(
                    "Check sync.xml and valerie.conf - Missing -> Downloading",
                    __name__)
                WebGrabber.getFile(DEFAULTURL + self._name, self._nameAbs)
                printl("\t- Created", __name__)
                return self.load(downloadIfNotFound=False)

        # Its loaded so lets walk through the dict and fix errors
        print(self._dict)

        if save:
            self.save()

    def loadOldPathsConf(self):
        if os.path.isfile(config.plugins.pvmc.configfolderpath.value +
                          "valerie.conf") is False:
            return None

        _dict = {}
Example #40
0
					os.makedirs(config.plugins.pvmc.tmpfolderpath.value + "cache") 
				except OSError, e:
					printl("\t- OK", __name__)
				else:
					printl("\t- Created", __name__)
				
				try: 
					printl("Check " + config.plugins.pvmc.configfolderpath.value, __name__)
					os.makedirs(config.plugins.pvmc.configfolderpath.value) 
				except OSError, e:
					printl("\t- OK", __name__)
				else:
					printl("\t- Created", __name__)
			
				printl("Check sync.xml and valerie.conf - Missing -> Downloading", __name__)
				WebGrabber.getFile(DEFAULTURL+self._name, self._nameAbs)
				printl("\t- Created", __name__)
				return self.load(downloadIfNotFound=False)
		
		# Its loaded so lets walk through the dict and fix errors
		print(self._dict)
		
		if save:
			self.save()

	def loadOldPathsConf(self):
		if os.path.isfile(config.plugins.pvmc.configfolderpath.value + "valerie.conf") is False:
			return None
		
		_dict = {}
		_dict["xml"] = {}
Example #41
0
    def getEpisode(self, info, lang):

        if info.TheTvDbId == info.TheTvDbIdNull or info.Episode == -1 or info.Season == -1:
            printl(
                " <- None (info.TheTvDbId == info.TheTvDbIdNull or info.Episode == -1 or info.Season == -1)",
                self)
            return None

        lang = lang.lower()

        url = self.apiSearchEpisode  # self.apiSearchAllEpisodes
        url = re.sub("<seriesid>", info.TheTvDbId, url)
        url = re.sub("<lang>", lang, url)
        url = re.sub("<season>", unicode(info.Season), url)
        url = re.sub("<episode>", unicode(info.Episode), url)
        xml = WebGrabber.getXml(url)

        if xml is None:
            WebGrabber.removeFromCache(url)
            printl(" <- None (xml is None)", self)
            return None

        movieList = xml.getElementsByTagName("Episode")
        for eMovie in movieList:
            entryLang = self.getLanguage(eMovie).lower()
            if entryLang != lang:
                continue

            episode = info.Episode
            season = info.Season
            tmp = self.getEpisodeAndSeasonNumber(info, eMovie)
            if tmp is None:
                info.Episode = episode
                info.Season = season
                continue
            else:
                info = tmp

            if info.Episode != episode or info.Season != season:
                info.Episode = episode
                info.Season = season
                continue

            #tmp = self.getTvdbId(info, eMovie)
            #if tmp is not None:
            #	info = tmp
            #tmp = self.getImdbId(info, eMovie)
            #if tmp is not None:
            #	info = tmp
            tmp = self.getEpisodeName(info, eMovie)
            if tmp is not None:
                info = tmp
            tmp = self.getOverview(info, eMovie)
            if tmp is not None:
                info = tmp
            tmp = self.getFirstAired(info, eMovie)
            if tmp is not None:
                info = tmp

            tmp = self.getDirector(info, eMovie)
            if tmp is not None:
                info = tmp
            tmp = self.getWriter(info, eMovie)
            if tmp is not None:
                info = tmp
            tmp = self.getRuntime(info, eMovie)
            if tmp is not None:
                info = tmp
            tmp = self.getRating(info, eMovie)
            if tmp is not None:
                info = tmp
            tmp = self.getGenre(info, eMovie)
            if tmp is not None:
                info = tmp

            return info

        WebGrabber.removeFromCache(url)
        printl(" <- None (eof)", self)
        return None
	def getEpisode(self, info, lang):
		
		if info.TheTvDbId == info.TheTvDbIdNull or info.Episode == -1 or info.Season == -1:
			printl(" <- None (info.TheTvDbId == info.TheTvDbIdNull or info.Episode == -1 or info.Season == -1)", self)
			return None
		
		lang = lang.lower()
		
		url = self.apiSearchEpisode # self.apiSearchAllEpisodes
		url = re.sub("<seriesid>", info.TheTvDbId, url)
		url = re.sub("<lang>", lang, url)
		url = re.sub("<season>", unicode(info.Season), url)
		url = re.sub("<episode>", unicode(info.Episode), url)
		xml = WebGrabber.getXml(url)
		
		if xml is None:
			WebGrabber.removeFromCache(url)
			printl(" <- None (xml is None)", self)
			return None
		
		movieList = xml.getElementsByTagName("Episode")
		for eMovie in movieList:
			entryLang = self.getLanguage(eMovie).lower()
			if entryLang != lang:
				continue
			
			episode = info.Episode
			season  = info.Season
			tmp = self.getEpisodeAndSeasonNumber(info, eMovie)
			if tmp is None:
				info.Episode = episode
				info.Season  = season
				continue
			else:
				info = tmp
			
			if info.Episode != episode or info.Season != season:
				info.Episode = episode
				info.Season  = season
				continue
			
			#tmp = self.getTvdbId(info, eMovie)
			#if tmp is not None:
			#	info = tmp
			#tmp = self.getImdbId(info, eMovie)
			#if tmp is not None:
			#	info = tmp
			tmp = self.getEpisodeName(info, eMovie)
			if tmp is not None:
				info = tmp
			tmp = self.getOverview(info, eMovie)
			if tmp is not None:
				info = tmp
			tmp = self.getFirstAired(info, eMovie)
			if tmp is not None:
				info = tmp
			
			tmp = self.getDirector(info, eMovie)
			if tmp is not None:
				info = tmp
			tmp = self.getWriter(info, eMovie)
			if tmp is not None:
				info = tmp	
			tmp = self.getRuntime(info, eMovie)
			if tmp is not None:
				info = tmp
			tmp = self.getRating(info, eMovie)
			if tmp is not None:
				info = tmp
			tmp = self.getGenre(info, eMovie)
			if tmp is not None:
				info = tmp
			
			return info
		
		WebGrabber.removeFromCache(url)
		printl(" <- None (eof)", self)
		return None
Example #43
0
    except OSError, e:
        printl("\t- OK", __name__, "I")
    else:
        printl("\t- Created", __name__, "I")

    DEFAULTURL = "http://project-valerie.googlecode.com/svn/trunk/default/"

    printl("Check " + config.plugins.pvmc.mediafolderpath.value + "*",
           __name__, "I")

    if os.access(
            config.plugins.pvmc.mediafolderpath.value + "defaultbackdrop.m1v",
            os.F_OK) is False:
        printl("Check defaultbackdrop.m1v - Missing -> Downloading", __name__,
               "I")
        WebGrabber.getFile(DEFAULTURL + "defaultbackdrop.m1v",
                           "defaultbackdrop.m1v")

    if os.access(
            config.plugins.pvmc.mediafolderpath.value + "defaultposter.png",
            os.F_OK) is False:
        printl("Check defaultposter.png - Missing -> Downloading", __name__,
               "I")
        WebGrabber.getFile(DEFAULTURL + "defaultposter.png",
                           "defaultposter.png")

    if os.access(
            config.plugins.pvmc.mediafolderpath.value +
            "defaultposter_110x214.png", os.F_OK) is False:
        printl("Check defaultposter_110x214.png - Missing -> Downloading",
               __name__, "I")
        WebGrabber.getFile(DEFAULTURL + "defaultposter_110x214.png",