EVE image server URL changed with new patch, updated fetchimg to reflect the new...
[mevemon] / package / src / fetchimg.py
1 import urllib
2 import os.path
3
4 def portrait_filename( char_id, img_size ):
5
6     err_img = "/usr/share/mevemon/imgs/error.jpg"
7    
8     img_dir = os.path.expanduser("~/.mevemon/imgs/")
9
10
11     # if asked for the large version, save it under a diff name --danny
12     if img_size == 64:
13         filename = os.path.join(img_dir, "%s.jpg" % char_id)
14     elif img_size == 256:
15         filename = os.path.join(img_dir, "%s_lg.jpg" % char_id)
16     else:
17     # we can only accept 64 or 256... I know an exclamation point is not an error message, but I'll come back to this. FIXME --danny
18         return err_img
19
20     if not os.path.exists(img_dir):
21         os.makedirs(img_dir)
22     elif os.path.isfile( filename ):
23         return filename
24
25     # specify size and cid --danny
26     img_url = "http://image.eveonline.com/Character/%s_%s.jpg" % ( str( char_id ), img_size )
27
28     # fetch it, and hit the road. --danny
29     try:
30         urllib.urlretrieve( img_url, filename, report_handler )
31     except urllib.ContentTooShortError:
32         filename = err_img
33     return filename
34
35 def report_handler( *a ):
36     ( blocks_transferred, block_size, total_size ) = a