def testBGetItemMetadata(self): _log.info("Get feed items metadata ------------") if not TestMetaGenerator.run_test: _log.debug("Test avoided.") return metagdn = Feed() metaradio4 = Feed() feeds = {"http://www.rtvslo.si/podcasts/gori_doli_naokoli.xml": metagdn, "http://downloads.bbc.co.uk/podcasts/radio4/today/rss.xml": metaradio4} for f, m in feeds.items(): pf = feedparser.parse(f) for i in pf.entries: item = Item() for k in settings.MMM_ITEM.keys(): # Split enables lookup in more complex feedparser # structures, like media_content:type, for # example. Not used at the moment. split = k.split(":") try: v = getattr(i, split[0]) if len(split) > 1: name = k.replace(":", "_") if split[1].startswith("-"): name = name.replace("-", "") setattr(item, name, v[split[1].replace("-", "")]) else: setattr(item, name, v[0][split[1]]) else: setattr(item, k, v) except: pass m._items.append(item) _log.debug(metagdn.toString()) _log.debug(metaradio4.toString())
def testAGetFeedMetadata(self): _log.info("Get feed metadata ------------") if not TestMetaGenerator.run_test: _log.debug("Test avoided.") return metagdn = Feed() metaradio4 = Feed() feeds = {"http://www.rtvslo.si/podcasts/gori_doli_naokoli.xml": metagdn, "http://downloads.bbc.co.uk/podcasts/radio4/today/rss.xml": metaradio4} for f, m in feeds.items(): pf = feedparser.parse(f) for k in settings.MMM_FEED.keys(): # Split enables lookup in more complex feedparser # structures, like image:href, for example. split = k.split(":") # Mark : for settings? try: v = getattr(pf.feed, split[0]) if len(split) > 1: name = k.replace(":", "_") if split[1].startswith("-"): name = name.replace("-", "") setattr(m, name, v[split[1].replace("-", "")]) else: setattr(m, name, v[split[1]]) else: setattr(m, k, v) except: pass _log.debug(metagdn.toString()) _log.debug(metaradio4.toString())