Adding profile walker to okc
This commit is contained in:
parent
641bbf7a7a
commit
bf4300e9be
3 changed files with 18 additions and 18 deletions
|
|
@ -36,6 +36,7 @@ from weboob.tools.misc import local2utc
|
|||
from .browser import OkCBrowser
|
||||
from .optim.visibility import Visibility
|
||||
from .optim.queries_queue import QueriesQueue
|
||||
from .optim.profiles_walker import ProfilesWalker
|
||||
|
||||
|
||||
__all__ = ['OkCBackend']
|
||||
|
|
@ -75,7 +76,8 @@ class OkCBackend(BaseBackend, ICapMessages, ICapContact, ICapMessagesPost, ICapD
|
|||
DESCRIPTION = u'OkCupid dating website'
|
||||
CONFIG = BackendConfig(Value('username', label='Username'),
|
||||
ValueBackendPassword('password', label='Password'))
|
||||
STORAGE = {'queries_queue': {'queue': []},
|
||||
STORAGE = {'profiles_walker': {'viewed': []},
|
||||
'queries_queue': {'queue': []},
|
||||
'sluts': {},
|
||||
#'notes': {},
|
||||
}
|
||||
|
|
@ -88,6 +90,7 @@ class OkCBackend(BaseBackend, ICapMessages, ICapContact, ICapMessagesPost, ICapD
|
|||
def init_optimizations(self):
|
||||
self.add_optimization('VISIBILITY', Visibility(self.weboob.scheduler, self.browser))
|
||||
self.add_optimization('QUERIES_QUEUE', QueriesQueue(self.weboob.scheduler, self.storage, self.browser))
|
||||
self.add_optimization('PROFILE_WALKER', ProfilesWalker(self.weboob.scheduler, self.storage, self.browser))
|
||||
|
||||
def iter_events(self):
|
||||
all_events = {}
|
||||
|
|
|
|||
|
|
@ -22,7 +22,7 @@ import urllib
|
|||
from weboob.tools.browser import BaseBrowser, BasePage
|
||||
from weboob.tools.ordereddict import OrderedDict
|
||||
|
||||
from .pages import LoginPage, ThreadPage, MessagesPage, PostMessagePage, ProfilePage, PhotosPage, VisitsPage
|
||||
from .pages import LoginPage, ThreadPage, MessagesPage, PostMessagePage, ProfilePage, PhotosPage, VisitsPage, QuickMatchPage
|
||||
|
||||
__all__ = ['OkCBrowser']
|
||||
|
||||
|
|
@ -43,7 +43,8 @@ class OkCBrowser(BaseBrowser):
|
|||
('http://%s/messages\?.*' % DOMAIN, MessagesPage),
|
||||
('http://%s/profile/.*/photos' % DOMAIN, PhotosPage),
|
||||
('http://%s/profile/[^/]*' % DOMAIN, ProfilePage),
|
||||
('http://%s/visitors' % DOMAIN, VisitsPage)
|
||||
('http://%s/visitors' % DOMAIN, VisitsPage),
|
||||
('http://%s/quickmatch' % DOMAIN, QuickMatchPage)
|
||||
))
|
||||
|
||||
logged_in = False
|
||||
|
|
@ -182,21 +183,11 @@ class OkCBrowser(BaseBrowser):
|
|||
# else:
|
||||
# return True
|
||||
|
||||
#def search_profiles(self, **kwargs):
|
||||
# if self.search_query is None:
|
||||
# r = self.api_request('searchs', '[default]')
|
||||
# self.search_query = r['result']['search']['query']
|
||||
|
||||
# params = {}
|
||||
# for key, value in json.loads(self.search_query).iteritems():
|
||||
# if isinstance(value, dict):
|
||||
# for k, v in value.iteritems():
|
||||
# params['%s%s' % (key, k.capitalize())] = v
|
||||
# else:
|
||||
# params[key] = value or ''
|
||||
# r = self.api_request('searchs', 'advanced', '30,0', params)
|
||||
# ids = [s['id'] for s in r['result']['search']]
|
||||
# return set(ids)
|
||||
@check_login
|
||||
def search_profiles(self, **kwargs):
|
||||
self.location(self.absurl('/quickmatch'))
|
||||
user_id = self.page.get_id()
|
||||
return set([user_id])
|
||||
|
||||
@check_login
|
||||
def get_profile(self, id):
|
||||
|
|
|
|||
|
|
@ -204,4 +204,10 @@ class VisitsPage(BasePage):
|
|||
'date': visitor_timestamp
|
||||
})
|
||||
return visitors
|
||||
|
||||
class QuickMatchPage(BasePage):
|
||||
def get_id(self):
|
||||
element = self.parser.select(self.document.getroot(), '//*[@id="sn"]', method='xpath')[0]
|
||||
visitor_id = unicode(element.get('value'))
|
||||
return visitor_id
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue