[hybride] fix: site changed

This commit is contained in:
Bezleputh 2014-10-23 14:07:27 +02:00
commit 604fbd1119
2 changed files with 8 additions and 29 deletions

View file

@ -25,7 +25,8 @@ import re
from weboob.browser.pages import HTMLPage from weboob.browser.pages import HTMLPage
from weboob.browser.elements import ItemElement, SkipItem, ListElement, method from weboob.browser.elements import ItemElement, SkipItem, ListElement, method
from weboob.browser.filters.standard import Filter, CleanText, Env from weboob.browser.filters.standard import Filter, CleanText, Env, Format, BrowserURL
from weboob.browser.filters.html import CleanHTML
from weboob.browser.filters.html import Link from weboob.browser.filters.html import Link
@ -45,23 +46,6 @@ class CombineDate(Filter):
return datetime.combine(format_date(text), time.max) return datetime.combine(format_date(text), time.max)
class Description(Filter):
def filter(self, el):
description = ''
description_intro = el[0].xpath("div[@class='itemIntroText']/table/tbody/tr/td")
if description_intro and len(description_intro) > 0:
description += u'%s' % description_intro[0].text_content()
description_content = el[0].xpath("div[@class='itemFullText']/table/tbody/tr/td")
if description_content and len(description_content) > 0:
description += u'%s' % description_content[0].text_content()
return u'%s' % description
class ProgramPage(HTMLPage): class ProgramPage(HTMLPage):
@method @method
@ -109,19 +93,13 @@ class EventPage(HTMLPage):
class get_event(ItemElement): class get_event(ItemElement):
klass = HybrideCalendarEvent klass = HybrideCalendarEvent
def parse(self, el):
if self.obj.id:
event = self.obj
event.url = self.page.url
event.description = Description('//div[@class="itemView"]/div[@class="itemBody"]')(self)
raise SkipItem()
self.env['url'] = self.page.url
obj_id = Env('_id') obj_id = Env('_id')
base = '//div[@class="itemView"]/div[@class="itemHeader"]' base = '//div[@class="itemView"]/div[@class="itemHeader"]'
obj_start_date = Date(CleanText('%s/span[@class="itemDateCreated"]' % base)) obj_start_date = Date(CleanText('%s/span[@class="itemDateCreated"]' % base))
obj_end_date = CombineDate(CleanText('%s/span[@class="itemDateCreated"]' % base)) obj_end_date = CombineDate(CleanText('%s/span[@class="itemDateCreated"]' % base))
obj_summary = CleanText('%s/h2[@class="itemTitle"]' % base) obj_summary = CleanText('%s/h2[@class="itemTitle"]' % base)
obj_url = Env('url') obj_url = Env('url')
obj_description = Description('//div[@class="itemView"]/div[@class="itemBody"]') obj_description = Format('%s\n%s',
CleanHTML('//div[@class="itemIntroText"]'),
CleanHTML('//div[@class="itemFullText"]'))
obj_url = BrowserURL('event_page', _id=Env('_id'))

View file

@ -26,7 +26,8 @@ class HybrideTest(BackendTest):
MODULE = 'hybride' MODULE = 'hybride'
def test_hybride_list(self): def test_hybride_list(self):
if datetime.now() > datetime(datetime.now().year, 6, 30) and datetime.now() < datetime(datetime.now().year, 9, 15): if datetime.now() > datetime(datetime.now().year, 6, 30) and\
datetime.now() < datetime(datetime.now().year, 9, 15):
raise SkipTest("Fermeture estivale") raise SkipTest("Fermeture estivale")
l = list(self.backend.list_events(datetime.now())) l = list(self.backend.list_events(datetime.now()))
assert len(l) assert len(l)