[cci] add pattern management in basic search
This commit is contained in:
parent
8a774daaee
commit
9cf7f01dae
4 changed files with 11 additions and 9 deletions
|
|
@ -38,10 +38,9 @@ class CciBackend(BaseBackend, ICapJob):
|
|||
BROWSER = CciBrowser
|
||||
|
||||
def search_job(self, pattern=None):
|
||||
if not pattern:
|
||||
with self.browser:
|
||||
for job_advert in self.browser.search_job():
|
||||
yield job_advert
|
||||
with self.browser:
|
||||
for job_advert in self.browser.search_job(pattern):
|
||||
yield job_advert
|
||||
|
||||
def advanced_search_job(self):
|
||||
return []
|
||||
|
|
|
|||
|
|
@ -35,10 +35,10 @@ class CciBrowser(BaseBrowser):
|
|||
'%s://%s' % (PROTOCOL, DOMAIN): SearchPage,
|
||||
}
|
||||
|
||||
def search_job(self):
|
||||
def search_job(self, pattern):
|
||||
self.location('%s://%s' % (self.PROTOCOL, self.DOMAIN))
|
||||
assert self.is_on_page(SearchPage)
|
||||
return self.page.iter_job_adverts()
|
||||
return self.page.iter_job_adverts(pattern)
|
||||
|
||||
def get_job_advert(self, _id, advert):
|
||||
self.location('%s://%s' % (self.PROTOCOL, self.DOMAIN))
|
||||
|
|
|
|||
|
|
@ -26,7 +26,7 @@ __all__ = ['SearchPage']
|
|||
|
||||
|
||||
class SearchPage(BasePage):
|
||||
def iter_job_adverts(self):
|
||||
def iter_job_adverts(self, pattern):
|
||||
trs = self.document.getroot().xpath("//tr[@class='texteCol2TableauClair']") \
|
||||
+ self.document.getroot().xpath("//tr[@class='texteCol2TableauFonce']")
|
||||
|
||||
|
|
@ -38,7 +38,11 @@ class SearchPage(BasePage):
|
|||
advert.society_name = u'CCI %s' % tds[3].text
|
||||
advert.place = u'%s' % tds[0].text
|
||||
advert.job_name = u'%s' % tds[1].text
|
||||
yield advert
|
||||
if pattern is not None:
|
||||
if pattern in advert.title or pattern in advert.job_name:
|
||||
yield advert
|
||||
else:
|
||||
yield advert
|
||||
|
||||
def get_job_advert(self, _id, advert):
|
||||
if advert is None:
|
||||
|
|
|
|||
|
|
@ -29,4 +29,3 @@ class CciTest(BackendTest):
|
|||
assert len(l)
|
||||
advert = self.backend.get_job_advert(l[0].id, None)
|
||||
self.assertTrue(advert.url, 'URL for announce "%s" not found: %s' % (advert.id, advert.url))
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue