Example #1
0
 def is_valid_genre(self, genres):
     valid = False
     if common.get_setting('mg_all') == 'true':
         valid = True
     else:
         for genre in genres:
             genre = re.sub('\s-\.', '_', genre.strip())
             if common.get_setting('mg_' + genre.lower()) == 'true':
                 valid = True
                 break
     return valid
Example #2
0
    def sources_dictionary(self):
        if common.get_setting('s_genesis') == "true":
            try:
                xbmcaddon.Addon('plugin.video.genesis').getAddonInfo('name')
                self.sources.append(['Genesis', 'plugin.video.genesis'])
            except:
                pass

        if common.get_setting('s_pulsar') == "true":
            try:
                xbmcaddon.Addon('plugin.video.pulsar').getAddonInfo('name')
                self.sources.append(['Pulsar', 'plugin.video.pulsar'])
            except:
                pass

        if common.get_setting('s_salts') == "true":
            try:
                xbmcaddon.Addon('plugin.video.salts').getAddonInfo('name')
                self.sources.append(['SALTS', 'plugin.video.salts'])
            except:
                pass
Example #3
0
    def thread(self):
        try:
            import xbmc
            from resources.lib.indexers import ktuvit

            update_rate = common.get_setting("movie_update_rate")
            update_rate_hours = 24 # every day
            if update_rate == 1:
                update_rate_hours *= 7  # once a week
            elif update_rate == 2:
                update_rate_hours *= 30  # once a month

            # Check last run for each service
            last_run = self.last_run()

            try:
                common.window.setProperty(self.property, last_run)
            except:
                return

            service_property = common.window.getProperty(self.property)
            import datetime
            t1 = datetime.timedelta(hours=update_rate_hours)
            t2 = datetime.datetime.strptime(service_property, '%Y-%m-%d %H:%M:%S.%f')
            t3 = datetime.datetime.now()

            check = abs(t3 - t2) > t1
            if check is not False:
                log.info("libra: starting movies service")
                service_property = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S.%f')
                common.window.setProperty(self.property, service_property)

                try:
                    dbcon = database.connect(common.libraDbFile)
                    dbcur = dbcon.cursor()
                    dbcur.execute("CREATE TABLE IF NOT EXISTS service (""setting TEXT, ""value TEXT, ""UNIQUE(setting)"");")
                    dbcur.execute("DELETE FROM service WHERE setting = 'last_run__movies'")
                    dbcur.execute("INSERT INTO service Values (?, ?)", ('last_run__movies', service_property))
                    dbcon.commit()
                    dbcon.close()
                except:
                    try:
                        dbcon.close()
                    except:
                        pass

                ktuvit = ktuvit.Ktuvit()
                page = 1
                added = 0
                while page <= ktuvit.ktuvit_total_pages or added < 32: # need to be replace with setting
                    if xbmc.abortRequested:
                        return sys.exit()

                    movies = ktuvit.get_movies(page=page)
                    if movies:
                        for movie in movies:
                            if not self.is_valid_year(movie['year']):
                                continue
                            if not self.is_valid_genre(movie['genres']):
                                continue
                            if not self.is_valid_rating(movie['rating']):
                                continue
                            success = Movies().add(re.sub("#039;", "", movie['name']), movie['title'], movie['year'], movie['imdbid'])
                            if success is True:
                                added += 1

                    if added > 32 or page > 32:
                        break;
                    page += 1
            common.execute('UpdateLibrary(video)')
        except:
            return
Example #4
0
 def __init__(self):
     self.library_folder = os.path.join(common.transPath(common.get_setting('movie_library')),'')
Example #5
0
 def is_valid_rating(self, rating):
     return float(common.get_setting('movie_rating_from')) <= float(rating) <= float(common.get_setting('movie_rating_to'))
Example #6
0
 def is_valid_year(self, year):
     return int(common.get_setting('movie_year_from')) <= int(year) <= int(common.get_setting('movie_year_to'))