def as_blosxom(self): f = xmlbuilder.builder(version=None) self.content(f) return u'\n'.join([self.title, 'meta-tags: ' + ', '.join(self.tags), '', unicode(f) ]).encode('utf-8')
def write_feed(self): if not self.loved: return '' f = xmlbuilder.builder() with f.feed(xmlns=ATOM_NS): f.title(u"last.fm loved tracks") f.link(None, href=self.url) f.id('tag:drbeat.li,2013:lastfmloved:%s' % self.user) for entry in self.loved: with f.entry: f.title('') d = datetime.datetime.fromtimestamp(int(entry.date('uts'))) f.updated(d.isoformat()) f.id(str(entry.mbid)) f.link('') # an empty link makes it a text post for term in ('loved', 'music', 'last.fm'): f.category(None, term=term) with nested(f.content(type='xhtml'), f.div(xmlns=XHTML_NS), f.p): f[u"Favorite track:"] f.a(u"%s – %s" % (entry.artist.name, entry.name), href=str(entry.url)) return str(f)
def as_atom(self): f = xmlbuilder.builder() with f.feed(xmlns=ATOM_NS): lastfm = 'http://www.last.fm/user/%s' % self.who f.title(u"Meine last.fm-Hitparade") with f.author: f.name(self.who) f.link(None, href=lastfm) f.updated(self.when) f.id('tag:drbeat.li,2010:lastfmcharts:%s' % self.who) f.link(None, rel='self', href='http://%s%s' % (DOMAIN, PATH)) with f.entry: f.title(u"Meist gespielte Bands vom %s" % self.when[:10]) f.updated(self.when) f.id('tag:%s,%s:%s:%s' % (DOMAIN, self.when[:10], PATH, self.who)) f.link(None, rel='alternate', type='text/html', href=lastfm + '/library/artists?date_preset=LAST_7_DAYS' ) for term in self.tags: f.category(None, term=term) with nested(f.content(type='xhtml'), f.div(xmlns=XHTML_NS)): self.content(f) return str(f)