From d2fb7787da8110b58da499794c638987761fa63a Mon Sep 17 00:00:00 2001 From: Roger Philibert Date: Sat, 11 Apr 2015 12:31:33 +0200 Subject: [PATCH] now update position randomly in Paris --- modules/happn/browser.py | 6 ++++++ modules/happn/module.py | 23 ++++++++++++++++------- 2 files changed, 22 insertions(+), 7 deletions(-) diff --git a/modules/happn/browser.py b/modules/happn/browser.py index b0637442..39509cc4 100644 --- a/modules/happn/browser.py +++ b/modules/happn/browser.py @@ -98,6 +98,9 @@ class HappnBrowser(DomainBrowser): me = self.request('/api/users/me') self.my_name = me['data']['name'] + def load_state(self, *args, **kwargs): + return + def request(self, *args, **kwargs): r = self.location(*args, **kwargs) return r.json() @@ -120,3 +123,6 @@ class HappnBrowser(DomainBrowser): def accept(self, id): self.request('/api/users/me/accepted/%s' % id, method='POST') + + def set_position(self, lat, lng): + self.request('/api/users/me/position', data={'latitude': lat, 'longitude': lng, 'altitude': 0.0}) diff --git a/modules/happn/module.py b/modules/happn/module.py index a56d7acf..2cbb312c 100644 --- a/modules/happn/module.py +++ b/modules/happn/module.py @@ -21,11 +21,13 @@ import datetime from dateutil.parser import parse as parse_date from dateutil.tz import tzlocal +from random import randint from weboob.capabilities.base import NotAvailable from weboob.capabilities.messages import CapMessages, CapMessagesPost, Thread, Message from weboob.capabilities.dating import CapDating, Optimization from weboob.capabilities.contact import CapContact, Contact, ProfileNode +from weboob.exceptions import BrowserHTTPError from weboob.tools.backend import Module, BackendConfig from weboob.tools.date import local2utc from weboob.tools.value import Value, ValueBackendPassword @@ -63,24 +65,32 @@ class ProfilesWalker(Optimization): def is_running(self): return self._view_cron is not None + INTERVALS = [(48896403, 2303976), + (48820992, 2414698)] def view_profile(self): try: - liked = self._storage.get('liked', default=[]) - n = 0 for user in self._browser.find_users(): - if user['notifier']['id'] in liked: + if user['notifier']['my_relation'] > 0: continue self._browser.accept(user['notifier']['id']) - liked.append(user['notifier']['id']) - self._storage.set('liked', liked) - self._storage.save() self._logger.info('Liked %s %s (%s at %s)', user['notifier']['first_name'], user['notifier']['last_name'], user['notifier']['job'], user['notifier']['workplace']) n += 1 if n > 10: break + if n == 0: + self._logger.info('Updating position...') + lat = randint(self.INTERVALS[1][0], self.INTERVALS[0][0])/1000000.0 + lng = randint(self.INTERVALS[0][1], self.INTERVALS[1][1])/1000000.0 + try: + self._browser.set_position(lat, lng) + except BrowserHTTPError: + self._logger.warning('Unable to update position') + else: + self._logger.info('You are now here: https://www.google.com/maps/place//@%s,%s,17z', lat, lng) + finally: if self._view_cron is not None: self._view_cron = self._sched.schedule(60, self.view_profile) @@ -158,7 +168,6 @@ class HappnModule(Module, CapMessages, CapMessagesPost, CapDating, CapContact): BROWSER = HappnBrowser STORAGE = {'contacts': {}, - 'liked': [], } def create_default_browser(self):