diff --git a/epydial/audio_screen.py b/epydial/audio_screen.py index d4d0218..4630441 100644 --- a/epydial/audio_screen.py +++ b/epydial/audio_screen.py @@ -5,7 +5,12 @@ __version__ = "prototype" __copyright__ = "Copyright (c) 2008" __license__ = "GPL3" +LICENSE_KEY = "18C3VZN9HCECM5G3HQG2" +ASSOCIATE = "webservices-20" + from epydial import * +import urllib +from xml.dom import minidom class AudioScreen(EdjeGroup): toggle = 0 @@ -21,6 +26,28 @@ class AudioScreen(EdjeGroup): def on_get_mp3_tags(self, status): self.part_text_set("mp3_tags", "artist: %s
album: %s
title: %s" % (status['artist'], status['album'], status['title'])) + print 'cover url: ', self.get_amazon_cover(status['artist'] + " "+ status['album']) + + def getText(self, nodelist): + rc = "" + for node in nodelist: + if node.nodeType == node.TEXT_NODE: + rc = rc + node.data + return rc + + def get_amazon_cover(self, album): + AMAZON_URL = "http://ecs.amazonaws.de/onca/xml"\ + "?Service=AWSECommerceService"\ + "&AWSAccessKeyId=" + LICENSE_KEY +\ + "&AssociateTag=" + ASSOCIATE +\ + "&ResponseGroup=Images,ItemAttributes"\ + "&Operation=ItemSearch"\ + "&ItemSearch.Shared.SearchIndex=Music"\ + "&ItemSearch.1.Keywords=%s" + + url = AMAZON_URL % (album) + dom = minidom.parse(urllib.urlopen(url)) + return self.getText(dom.getElementsByTagName("URL")[1].childNodes) @edje.decorators.signal_callback("music_player_send", "*") def on_edje_signal_audio_screen_triggered(self, emission, source): diff --git a/epydial/epydial.py b/epydial/epydial.py index 73f2dd5..296aad1 100755 --- a/epydial/epydial.py +++ b/epydial/epydial.py @@ -457,39 +457,34 @@ class PyneoController(object): class_.notify_callbacks("on_get_mp3_tags", newmap) @classmethod - def check_new_sms(class_, newmap,): - def InsertSms(status, from_msisdn, time, text): - connection = connect(DB_FILE_PATH) - cursor = connection.cursor() - cursor.execute('INSERT INTO sms (status, from_msisdn, time, sms_text) VALUES (?, ?, ?, ?)', (status, from_msisdn, time, text,)) - connection.commit() + def insert_new_sms(class_, status, from_msisdn, time, text): + connection = connect(DB_FILE_PATH) + cursor = connection.cursor() + cursor.execute('INSERT INTO sms (status, from_msisdn, time, sms_text) VALUES (?, ?, ?, ?)', (status, from_msisdn, time, text,)) + connection.commit() + @classmethod + def check_new_sms(class_, newmap,): res = dedbusmap(newmap) for n in res: sm = object_by_url(n) content = dedbusmap(sm.GetContent(dbus_interface=DIN_ENTRY)) - InsertSms('REC UNREAD', content['from_msisdn'], content['time'], content['text'].encode('utf-8')) + PyneoController.insert_new_sms('REC UNREAD', content['from_msisdn'], content['time'], content['text'].encode('utf-8')) print '--- NEW SMS:', content['from_msisdn'], content['time'], content['text'].encode('utf-8') class_.gsm_sms.DeleteAll(dbus_interface=DIN_STORAGE) @classmethod def first_check_new_sms(class_): - def InsertSms(status, from_msisdn, time, text): - connection = connect(DB_FILE_PATH) - cursor = connection.cursor() - cursor.execute('INSERT INTO sms (status, from_msisdn, time, sms_text) VALUES (?, ?, ?, ?)', (status, from_msisdn, time, text,)) - connection.commit() - try: res = class_.gsm_sms.ListAll(dbus_interface=DIN_STORAGE) for n in res: sm = object_by_url(n) content = dedbusmap(sm.GetContent(dbus_interface=DIN_ENTRY)) - InsertSms('REC UNREAD', content['from_msisdn'], content['time'], content['text'].encode('utf-8')) + PyneoController.insert_new_sms('REC UNREAD', content['from_msisdn'], content['time'], content['text'].encode('utf-8')) except: print '--- NULL new sms' class_.gsm_sms.DeleteAll(dbus_interface=DIN_STORAGE) - PyneoController.stop_ringtone() + PyneoController.stop_ringtone() #TODO: not the optimal break for the startup sound ;) @classmethod def show_sms_screen(class_): @@ -563,9 +558,8 @@ class PyneoController(object): def db_check(class_): if not os.path.exists(DB_FILE_PATH): os.mkdir(DB_PATH) - print '--- Add db path: ', DB_PATH os.system('cp %s %s' % ('./data/db/epydial.sqlite', DB_PATH)) - print '--- Add sqlite' + print '--- Add db path and a empty sqlite db' from dialer_screen import * from incall_screen import * @@ -621,8 +615,6 @@ class Dialer(object): PyneoController.db_check() PyneoController.set_playlist_from_dir() - PyneoController.set_ringtone(RINGTONE_FILE) - PyneoController.play_ringtone() PyneoController.power_up_gsm() PyneoController.get_gsm_keyring()