diff --git a/modules/aum/module.py b/modules/aum/module.py index d189939b..947e2bf4 100644 --- a/modules/aum/module.py +++ b/modules/aum/module.py @@ -472,10 +472,10 @@ class AuMModule(Module, CapMessages, CapMessagesPost, CapDating, CapChat, CapCon def get_account_status(self): with self.browser: return ( - StatusField('myname', 'My name', self.browser.get_my_name()), - StatusField('score', 'Score', self.browser.score()), - StatusField('avcharms', 'Available charms', self.browser.nb_available_charms()), - StatusField('newvisits', 'New visits', self.browser.nb_new_visites()), + StatusField(u'myname', u'My name', unicode(self.browser.get_my_name())), + StatusField(u'score', u'Score', unicode(self.browser.score())), + StatusField(u'avcharms', u'Available charms', unicode(self.browser.nb_available_charms())), + StatusField(u'newvisits', u'New visits', unicode(self.browser.nb_new_visites())), ) OBJECTS = {Thread: fill_thread, diff --git a/modules/aum/optim/profiles_walker.py b/modules/aum/optim/profiles_walker.py index 8b877332..a4c2ed3d 100644 --- a/modules/aum/optim/profiles_walker.py +++ b/modules/aum/optim/profiles_walker.py @@ -26,42 +26,43 @@ from weboob.tools.log import getLogger class ProfilesWalker(Optimization): def __init__(self, sched, storage, browser): - self.sched = sched - self.storage = storage - self.browser = browser - self.logger = getLogger('walker', browser.logger) + super(ProfilesWalker, self).__init__() + self._sched = sched + self._storage = storage + self._browser = browser + self._logger = getLogger('walker', browser.logger) - self.walk_cron = None - self.view_cron = None - self.visited_profiles = set(storage.get('profiles_walker', 'viewed')) - self.logger.info(u'Loaded %d already visited profiles from storage.' % len(self.visited_profiles)) - self.profiles_queue = set() + self._walk_cron = None + self._view_cron = None + self._visited_profiles = set(storage.get('profiles_walker', 'viewed')) + self._logger.info(u'Loaded %d already visited profiles from storage.' % len(self._visited_profiles)) + self._profiles_queue = set() def save(self): - self.storage.set('profiles_walker', 'viewed', list(self.visited_profiles)) - self.storage.save() + self._storage.set('profiles_walker', 'viewed', list(self._visited_profiles)) + self._storage.save() def start(self): - self.walk_cron = self.sched.repeat(60, self.enqueue_profiles) - self.view_cron = self.sched.schedule(randint(5, 10), self.view_profile) + self._walk_cron = self._sched.repeat(60, self.enqueue_profiles) + self._view_cron = self._sched.schedule(randint(5, 10), self.view_profile) return True def stop(self): - self.sched.cancel(self.walk_cron) - self.sched.cancel(self.view_cron) - self.walk_cron = None - self.view_cron = None + self._sched.cancel(self._walk_cron) + self._sched.cancel(self._view_cron) + self._walk_cron = None + self._view_cron = None return True def is_running(self): - return self.walk_cron is not None + return self._walk_cron is not None def enqueue_profiles(self): try: - with self.browser: - profiles_to_visit = self.browser.search_profiles().difference(self.visited_profiles) - self.logger.info(u'Enqueuing profiles to visit: %s' % profiles_to_visit) - self.profiles_queue = set(profiles_to_visit) + with self._browser: + profiles_to_visit = self._browser.search_profiles().difference(self._visited_profiles) + self._logger.info(u'Enqueuing profiles to visit: %s' % profiles_to_visit) + self._profiles_queue = set(profiles_to_visit) self.save() except BrowserUnavailable: return @@ -69,14 +70,14 @@ class ProfilesWalker(Optimization): def view_profile(self): try: try: - id = self.profiles_queue.pop() + id = self._profiles_queue.pop() except KeyError: return # empty queue try: - with self.browser: - profile = self.browser.get_profile(id) - self.logger.info(u'Visited profile %s (%s)' % (profile['pseudo'], id)) + with self._browser: + profile = self._browser.get_profile(id) + self._logger.info(u'Visited profile %s (%s)' % (profile['pseudo'], id)) # Get score from the aum_score module #d = self.nucentral_core.callService(context.Context.fromComponent(self), 'aum_score', 'score', profile) @@ -84,15 +85,15 @@ class ProfilesWalker(Optimization): # deferredlist.append(d) # do not forget that we visited this profile, to avoid re-visiting it. - self.visited_profiles.add(id) + self._visited_profiles.add(id) self.save() except BrowserUnavailable: # We consider this profil hasn't been [correctly] analysed - self.profiles_queue.add(id) + self._profiles_queue.add(id) return except Exception as e: - self.logger.exception(e) + self._logger.exception(e) finally: - if self.view_cron is not None: - self.view_cron = self.sched.schedule(randint(5, 10), self.view_profile) + if self._view_cron is not None: + self._view_cron = self._sched.schedule(randint(5, 10), self.view_profile) diff --git a/modules/aum/optim/queries_queue.py b/modules/aum/optim/queries_queue.py index 357d8fa1..f6204fda 100644 --- a/modules/aum/optim/queries_queue.py +++ b/modules/aum/optim/queries_queue.py @@ -26,66 +26,67 @@ from weboob.tools.log import getLogger class QueriesQueue(Optimization): def __init__(self, sched, storage, browser): - self.sched = sched - self.storage = storage - self.browser = browser - self.logger = getLogger('queriesqueue', browser.logger) + super(QueriesQueue, self).__init__() + self._sched = sched + self._storage = storage + self._browser = browser + self._logger = getLogger('queriesqueue', browser.logger) - self.queue = storage.get('queries_queue', 'queue', default=[]) + self._queue = storage.get('queries_queue', 'queue', default=[]) - self.check_cron = None + self._check_cron = None def save(self): - self.storage.set('queries_queue', 'queue', self.queue) - self.storage.save() + self._storage.set('queries_queue', 'queue', self._queue) + self._storage.save() def start(self): - self.check_cron = self.sched.repeat(3600, self.flush_queue) + self._check_cron = self._sched.repeat(3600, self.flush_queue) return True def stop(self): - self.sched.cancel(self.check_cron) - self.check_cron = None + self._sched.cancel(self._check_cron) + self._check_cron = None return True def is_running(self): - return self.check_cron is not None + return self._check_cron is not None def enqueue_query(self, id, priority=999): - id_queue = [_id[1] for _id in self.queue] + id_queue = [_id[1] for _id in self._queue] if int(id) in id_queue: raise QueryError('This id is already queued') - self.queue.append((int(priority), int(id))) + self._queue.append((int(priority), int(id))) self.save() # Try to flush queue to send it now. self.flush_queue() # Check if the enqueued query has been sent - for p, i in self.queue: + for _, i in self._queue: if i == int(id): return False return True def flush_queue(self): - self.queue.sort() + self._queue.sort() priority = 0 id = None try: try: - while len(self.queue) > 0: - priority, id = self.queue.pop() + while len(self._queue) > 0: + priority, id = self._queue.pop() if not id: continue - with self.browser: - if self.browser.send_charm(id): - self.logger.info('Charm sent to %s' % id) + with self._browser: + if self._browser.send_charm(id): + self._logger.info('Charm sent to %s', id) else: - self.queue.append((priority, id)) - self.logger.info("Charm can't be send to %s" % id) + self._queue.append((priority, id)) + self._logger.info("Charm can't be send to %s", id) break # As the charm has been correctly sent (no exception raised), @@ -97,6 +98,6 @@ class QueriesQueue(Optimization): except BrowserUnavailable: # We consider this profil hasn't been [correctly] analysed if id is not None: - self.queue.append((priority, id)) + self._queue.append((priority, id)) finally: self.save() diff --git a/modules/aum/optim/visibility.py b/modules/aum/optim/visibility.py index 9fb4692e..414e32fa 100644 --- a/modules/aum/optim/visibility.py +++ b/modules/aum/optim/visibility.py @@ -24,25 +24,26 @@ from weboob.capabilities.dating import Optimization class Visibility(Optimization): def __init__(self, sched, browser): - self.sched = sched - self.browser = browser - self.cron = None + super(Visibility, self).__init__() + self._sched = sched + self._browser = browser + self._cron = None def start(self): - self.cron = self.sched.repeat(60*5, self.reconnect) + self._cron = self._sched.repeat(60*5, self.reconnect) return True def stop(self): - self.sched.cancel(self.cron) - self.cron = None + self._sched.cancel(self._cron) + self._cron = None return True def is_running(self): - return self.cron is not None + return self._cron is not None def reconnect(self): try: - with self.browser: - self.browser.login() + with self._browser: + self._browser.login() except BrowserUnavailable: pass diff --git a/modules/playme/module.py b/modules/playme/module.py index dfce6ad6..8d4d197b 100644 --- a/modules/playme/module.py +++ b/modules/playme/module.py @@ -36,6 +36,7 @@ __all__ = ['PlayMeModule'] class ProfilesWalker(Optimization): def __init__(self, sched, storage, browser): + super(ProfilesWalker, self).__init__() self._sched = sched self._storage = storage self._browser = browser @@ -70,9 +71,9 @@ class ProfilesWalker(Optimization): self._browser.challenge(user['id']) except NoCredits as e: delay = int(str(e)) - self._logger.info('No more credits (next try in %d minutes)' % (delay/60)) + self._logger.info('No more credits (next try in %d minutes)', (delay/60)) else: - self._logger.info('Challenged %s' % user['name']) + self._logger.info('Challenged %s', user['name']) challenged.append(user['id']) self._storage.set('challenged', challenged) self._storage.save() @@ -195,8 +196,7 @@ class PlayMeModule(Module, CapMessages, CapMessagesPost, CapDating, CapAccount): # ---- CapAccount methods --------------------- def get_account_status(self): - return ( - StatusField(u'myname', u'My name', unicode(self.browser.my_name)), + return (StatusField(u'myname', u'My name', unicode(self.browser.my_name)), StatusField(u'credits', u'Credits', unicode(self.browser.credits)), ) diff --git a/modules/tinder/module.py b/modules/tinder/module.py index 6be18fea..0ec6ca36 100644 --- a/modules/tinder/module.py +++ b/modules/tinder/module.py @@ -35,34 +35,34 @@ __all__ = ['TinderModule'] class ProfilesWalker(Optimization): def __init__(self, sched, storage, browser): - self.sched = sched - self.storage = storage - self.browser = browser - self.logger = getLogger('walker', browser.logger) + self._sched = sched + self._storage = storage + self._browser = browser + self._logger = getLogger('walker', browser.logger) - self.view_cron = None + self._view_cron = None def start(self): - self.view_cron = self.sched.schedule(1, self.view_profile) + self._view_cron = self._sched.schedule(1, self.view_profile) return True def stop(self): - self.sched.cancel(self.view_cron) - self.view_cron = None + self._sched.cancel(self._view_cron) + self._view_cron = None return True def set_config(self, params): pass def is_running(self): - return self.view_cron is not None + return self._view_cron is not None def view_profile(self): try: - self.browser.like_profile() + self._browser.like_profile() finally: - if self.view_cron is not None: - self.view_cron = self.sched.schedule(1, self.view_profile) + if self._view_cron is not None: + self._view_cron = self._sched.schedule(1, self.view_profile) class TinderModule(Module, CapMessages, CapMessagesPost, CapDating):