def query_items(self, event_types, free_events):
     assert self._parser, 'Calling before parse'
     if not event_types and not free_events:
         return self._items
     elif free_events and not event_types:
         return self._model2view(tool.free_events(self._parser.items))
     stypes = u';'.join([et for et in event_types])
     vkey = u' '.join([stypes, str(free_events)])        
     print 'vkey %s' % vkey.encode('ascii', 'replace')
     result = self._items_view.get(vkey, None)
     if not result:
         items = tool.search(self._parser, event_types)
         if free_events:
             items = tool.free_events(items)
         result = self._model2view(items)
         self._items_view[vkey] = result
     return result
Exemplo n.º 2
0
if __name__ == '__main__':
##    p = _StripHTMLParser()
##    result = p.strip(u"""<div>
##<img src="http://example.com/img.jpg"/>
##<h1>ORC</h1>
##<br />
##<span>0123456789</span><span>ABCDEFGHIJ</span></div>""", 10)
##    print result
##    sys.exit(0)

    data = tool.read_data('http://www.itsatrip.org/api/xmlfeed.ashx')
    p = Parser()
    p.parse(data)
    print u'Events count: %s' % len(p.events)
    #result = tool.search(p, [u'Art, History & Museums'])
    result = tool.free_events(p.items)
    print 'len(result):%s' % len(result)
    i = 0
    for item in result:
        id, name = item.id, item.name.encode('ascii', 'replace')
        print 'id:%s name:%s' % (id, name)
        desc = item.description.encode('ascii', 'replace')
        summary = item.summary.encode('ascii', 'replace')
        print 'description(%s):%s' % (len(desc), desc)
        print 'summary(%s):%s' % (len(summary), summary)
        i += 1
        if i > 0:
            break
##    for i in p.items:
##        name, description = (i.name.encode('ascii', 'replace'),
##            i.description.encode('ascii', 'replace'))