Kleines Skript, um den aktuellen Titel von Audacious in Twitter zu posten.
Kurze Version (leider länger als 140 Zeichen
:
import dbus, twitter
twitter.Api(username="u",password="p").PostUpdate(("Playing: %(artist)s - %(title)s [%(album)s]" % dbus.SessionBus().get_object('org.mpris.audacious', '/Player').GetMetadata())[:140])
Längere Version:
format = """Now Playing: %(artist)s - %(title)s [%(album)s]""" logging.basicConfig(level=logging.INFO, try: info_dict = player.GetMetadata() logging.info(format % info) tweet = twitter.Api(username=username,password=password) try:
import dbus
import logging
import sys
import twitter
username = "u"
password = "p"
bus=dbus.SessionBus()
format='%(asctime)s %(module)s %(levelname)s - %(message)s',
datefmt='%Y-%m-%d %H:%M:%S')
player = bus.get_object('org.mpris.audacious', '/Player')
except dbus.exceptions.DBusException, msg:
logging.error("Audacious is not running.")
sys.exit(1)
info = {'artist' : unicode(info_dict['artist']).encode('utf-8'),
'album' : unicode(info_dict['album']).encode('utf-8'),
'title' : unicode(info_dict['title']).encode('utf-8'),
'genre' : unicode(info_dict['genre']).encode('utf-8'),}
status = tweet.PostUpdate((format % info)[:140])
except twitter.TwitterError, msg:
logging.error(msg)
logging.debug(status)