Exemplo n.º 1
0
 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())
Exemplo n.º 2
0
 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())