import hildon
import gtk
from eveapi import eveapi
+import fetchimg
+import apicache
# we will store our preferences in gconf
import gnome.gconf
def __init__(self):
self.program = hildon.Program()
self.program.__init__()
- self.config = None
self.gconf = gnome.gconf.client_get_default()
+ self.set_auth()
self.ui = ui.mEveMonUI(self)
-
def run(self):
gtk.main()
def set_uid(self, uid):
self.gconf.set_string("/apps/maemo/mevemon/eve_uid", uid)
- # really quick hack to get character list. doesn't handle errors well, and if it can't get the gconf settings it just returns the placeholders, when in reality it should tell the UI or something. basically half finished, just uploading to show ry... FIXME --danny
- def get_characters( self ):
- ui_char_list = []
- print 'get_characters() called.'
- placeholder_chars = [("Character 1", "avatar.png"), ("Character 2", "avatar.png")]
- api = eveapi.EVEAPIConnection()
+
+ def set_auth(self):
uid = self.get_uid()
api_key = self.get_api_key()
- if ( uid and api_key ):
- auth = api.auth( userID = uid, apiKey = api_key )
- try:
- api_char_list = auth.account.Characters()
- except eveapi.Error, e:
- print "Sorry, eveapi returned error code %s." % e.code
- print '"' + e.message + '"'
- return placeholder_chars
- except Exception, e:
- print "The sky is falling! Unknown error: ", str( e )
- raise
- print "grabbing character list:"
+ cached_api = eveapi.EVEAPIConnection( cacheHandler = apicache.cache_handler( debug = False ) )
+
+ try:
+ self.auth = cached_api.auth( userID = uid, apiKey = api_key )
+ except eveapi.Error, e:
+ # if we can't, return the error message/pic --danny
+ return None
+ except Exception, e:
+ # unknown exception, dunno if this needs to be here if I just
+ # ignore it... probably a bad idea, but it was in the
+ # apitest.py example... --danny
+ raise
+
+ def get_auth(self):
+ return self.auth
+
+ # really quick hack to get character list. doesn't handle errors well, and
+ # if it can't get the gconf settings it just returns the placeholders, when
+ # in reality it should tell the UI or something. basically half finished,
+ # just uploading to show ry... FIXME --danny
+ def get_characters( self ):
+ ui_char_list = []
+ # error message --danny
+ placeholder_chars = [("Please check your API settings.", "imgs/error.jpg")]
+
+ try:
+ api_char_list = self.auth.account.Characters()
+ # append each char we get to the list we'll return to the UI --danny
for character in api_char_list.characters:
- print character
- ui_char_list.append( ( character.name, "avatar.png" ) )
+ ui_char_list.append( ( character.name,
+ fetchimg.portrait_filename( character.characterID, 64 ) ) )
return ui_char_list
- else:
+ # if not entered into gconf, error message --danny
+ except eveapi.Error, e:
return placeholder_chars
-
+
if __name__ == "__main__":
app = mEveMon()
app.run()