--- /dev/null
+import urllib
+import os.path
+
+def portrait_filename( char_id ):
+
+ filename = "imgs/%s.jpg" % char_id
+
+ if os.path.isfile( filename ):
+ return filename
+
+ try:
+ img = urllib.urlopen( "http://img.eve.is/serv.asp?s=64&c=%s" % char_id ).read()
+ except IOError:
+ return 'imgs/error.jpg'
+
+ fp = open( filename, 'w' )
+ fp.write( img )
+ fp.close()
+ return filename
+
+print portrait_filename( '797400947' )
def get_characters( self ):
ui_char_list = []
print 'get_characters() called.'
- placeholder_chars = [("Character 1", "avatar.png"), ("Character 2", "avatar.png")]
+ placeholder_chars = [("Please check your API settings.", "imgs/error.jpg")]
api = eveapi.EVEAPIConnection()
uid = self.get_uid()
api_key = self.get_api_key()
return placeholder_chars
except Exception, e:
print "The sky is falling! Unknown error: ", str( e )
- raise
+ return placeholder_chars
print "grabbing character list:"
for character in api_char_list.characters:
print character
- ui_char_list.append( ( character.name, "avatar.png" ) )
+ ui_char_list.append( ( character.name, "imgs/avatar.jpg" ) )
return ui_char_list
else:
return placeholder_chars
win.set_menu(menu)
# will probably need to refer to http://maemo.org/community/maemo-developers/gtktreeview_issue/ for sample code again when we make these clickable --danny
- model = self.create_model()
- treeview = gtk.TreeView( model = model )
- treeview.set_model(model)
+ self.char_model = self.create_char_model()
+ treeview = gtk.TreeView( model = self.char_model )
+ treeview.set_model(self.char_model)
self.add_columns_to_treeview(treeview)
win.add(treeview)
win.show_all()
- def create_model(self):
+ def create_char_model(self):
lstore = gtk.ListStore(gtk.gdk.Pixbuf, gobject.TYPE_STRING)
#get icon and name and put in a liststore
- # temporary hard-coding until we can fetch the data with eveapi
- # something like:
+ self.fill_char_model(lstore)
+
+ return lstore
+
+ def fill_char_model(self, lstore):
char_list = self.controller.get_characters()
#char_list = [("Character 1", "avatar.png"), ("Character 2", "avatar.png")]
liter = lstore.append()
lstore.set(liter, 1, name, 0, self.set_pix(icon))
- return lstore
+ def update_model(self, lstore):
+ lstore.clear()
+ self.fill_char_model(lstore)
def set_pix(self, filename):
pixbuf = gtk.gdk.pixbuf_new_from_file(filename)
if result == gtk.RESPONSE_OK:
self.controller.set_api_key(apiEntry.get_text())
self.controller.set_uid(uidEntry.get_text())
+ self.update_model(self.char_model)
dialog.destroy()
dialog.destroy()
def refresh_clicked(self, button, window):
- pass
+ self.update_model(self.char_model)
-
def create_menu(self, window):
# changed from hildon.AppMenu --danny