Пример #1
0
def cli(config, log_path, log_level):
    import seplis
    seplis.config_load(config)
    if log_path != None:
        seplis.config['logging']['path'] = log_path
    if log_level:
        seplis.config['logging']['level'] = log_level
Пример #2
0
def cli(config, log_path, log_level):
    import seplis
    seplis.config_load(config)
    if log_path != None:
        seplis.config['logging']['path'] = log_path
    if log_level:
        seplis.config['logging']['level'] = log_level
Пример #3
0
 def setUp(self):
     super(Testbase, self).setUp()
     config_load()
     config['logging']['path'] = None
     logger = logging.getLogger('raven')
     logger.setLevel(logging.ERROR)
     logger = logging.getLogger('elasticsearch')
     logger.setLevel(logging.ERROR)
     logger = logging.getLogger('urllib3')
     logger.setLevel(logging.ERROR)
     # recreate the database connection
     # with params from the loaded config.
     database.__init__()
     connection = database.engine.connect()
     self.trans = connection.begin()
     database.setup_sqlalchemy_session(connection)
     database.redis.flushdb()
     elasticcreate.create_indices()
Пример #4
0
 def setUp(self):
     super().setUp()
     config_load()
     config['debug'] = False
     config['logging']['path'] = None
     logger = logging.getLogger('raven')
     logger.setLevel(logging.ERROR)
     logger = logging.getLogger('elasticsearch')
     logger.setLevel(logging.ERROR)
     logger = logging.getLogger('urllib3')
     logger.setLevel(logging.ERROR)
     # recreate the database connection
     # with params from the loaded config.
     database.__init__()
     connection = database.engine.connect()
     self.trans = connection.begin()
     database.setup_sqlalchemy_session(connection)
     database.redis.flushdb()
     elasticcreate.create_indices()
Пример #5
0
 def setUp(self):
     super(Testbase, self).setUp()
     config_load()
     config['logging']['path'] = None
     logger.set_logger('test-api.log')
     engine = create_engine(
         config['api']['database'], 
         convert_unicode=True, 
         echo=False, 
         connect_args={'charset': 'utf8'},
     )
     connection = engine.connect()
     self.trans = connection.begin()
     database.session = sessionmaker(bind=connection)
     database.redis = redis.StrictRedis(
         config['api']['redis']['ip'], 
         port=config['api']['redis']['port'], 
         db=10,
         decode_responses=True,
     )
     database.redis.flushdb()
     database.es = Elasticsearch(config['api']['elasticsearch'])
     elasticcreate.create_indices()
import seplis
import requests
import logging
seplis.config_load()

logging.basicConfig(level=logging.DEBUG)

client = seplis.Client(
    url=seplis.config['client']['api_url'], 
    access_token=seplis.config['client']['access_token']
)
for show in requests.get('https://api.seplis.net/1/users/2/fan-of?per_page=500').json():
    logging.info('seplis.net id: {}'.format(show['id']))
    try:    
        if 'tvmaze' not in show['externals'] or 'imdb' not in show['externals']:
            continue
        if not show['externals']['tvmaze'] or not show['externals']['imdb']:
            continue
        logging.info('Creating show: {}'.format(show['externals']['imdb']))
        show = client.post('/shows', {
            'externals': {
                'imdb': show['externals']['imdb'],
                'tvmaze': show['externals']['tvmaze'],
            },
            'importers': {
                'info': 'tvmaze',
                'episodes': 'tvmaze',
            },
        })
        client.put('/users/1/fan-of/{}'.format(show['id']))
    except Exception:
Пример #7
0
import json
import logging
from seplis import Client, API_error, config, config_load
config_load()

with open('/home/te/oldseplis.json', 'r') as f:
    oldids = json.loads(f.read())

client = Client(
    url=config['client']['api_url'], 
    access_token=config['client']['access_token'],
)
i = 0
shows = client.get('/shows?per_page=1000').all()
lookup = {show['externals']['imdb']: show['externals'].get('seplis-v2') for show in shows if 'imdb' in show['externals']}
for old in oldids:
    try:
        if not old['imdb']:
            continue
        if old['imdb'] not in lookup:
            externals = {
                'imdb': str(old['imdb']),
                'seplis-v2': str(old['sid']),
            }
            importers = {}
            if old['tvrage']:
                externals['tvrage'] = str(old['tvrage'])            
                importers = {
                    'info': 'tvrage',
                    'episodes': 'tvrage',
                }
Пример #8
0
import seplis
import logging
seplis.config_load()

client = seplis.Client(url=seplis.config['client']['api_url'],
                       access_token=seplis.config['client']['access_token'])

shows = client.get(
    '/shows', {
        'sort': 'id',
        'per_page': 500,
        'q': '_missing_:importers.image AND _exists_:externals.thetvdb',
    })
for show in shows.all():
    client.patch('/shows/{}'.format(show['id']),
                 {'importers': {
                     'images': 'thetvdb',
                 }},
                 timeout=100)
    print('Show {} done'.format(show['id']))
Пример #9
0
from seplis import config_load, config
from rq import Connection, Queue, Worker


def main():
    from seplis.api.connections import database
    with Connection(connection=database.queue_redis):
        w = Worker(database.queue)
        if config['sentry_dsn']:
            from raven import Client
            from rq.contrib.sentry import register_sentry
            client = Client('sync+' + config['sentry_dsn'])
            register_sentry(client, w)
        w.work()


if __name__ == '__main__':
    config_load()
    main()