Changeset 12
- Timestamp:
- 09/24/07 00:25:41 (1 year ago)
- Files:
-
- config.py (modified) (1 diff)
- mactorii.py (modified) (12 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
config.py
r11 r12 18 18 font_size=12 19 19 font_name="Monaco" 20 trash_dir = ".mactorii-trash" 21 20 22 def main(): 21 23 pass mactorii.py
r11 r12 12 12 import math 13 13 import Image 14 import shutil 14 15 15 16 import wavelet … … 26 27 files = None 27 28 win = None 29 images = dict() 30 renderables = None 28 31 29 32 yoffset = 0 … … 39 42 40 43 selected = None 44 hovering_over = None 45 46 last_deleted = [] 41 47 42 48 def on_mouse_motion(x,y,dx,dy): … … 77 83 global xoffset 78 84 global xmotion 79 85 global images 86 global renderables 87 global hovering_over 88 global last_deleted 89 80 90 if symbol == key.LEFT: 81 xmotion = 10 82 91 xmotion = 10 92 if modifier == key.MOD_SHIFT: 93 xmotion*=2 94 83 95 if symbol == key.RIGHT: 84 xmotion -= 10 85 86 if modifier == key.MOD_SHIFT: 87 xmotion*=2 96 xmotion -= 10 97 if modifier == key.MOD_SHIFT: 98 xmotion*=2 99 100 if symbol == key.D and hovering_over != None: 101 assert images.has_key(hovering_over) 102 del images[hovering_over] 103 update_renderables() 104 shutil.move(hovering_over, "%s/%s"%(config.trash_dir, os.path.basename(hovering_over))) 105 last_deleted.append(hovering_over) 106 107 if symbol == key.U and len(last_deleted) > 0: 108 last = last_deleted.pop() 109 shutil.move("%s/%s"%(config.trash_dir, os.path.basename(last)), last) 110 load_file(last) 111 update_renderables() 88 112 89 113 def strip_width(): … … 108 132 xoffset = p * strip_width() 109 133 134 def update_renderables(): 135 global images 136 global renderables 137 global selected 138 139 renderables = images.items() 140 141 if selected != None: 142 renderables.sort(key=sort_func) 143 144 return renderables 145 110 146 def sort_func(item): 111 147 assert selected != None … … 119 155 return -sum(score) 120 156 121 def load_file s(files):157 def load_file(file): 122 158 """loads the files given in the command line""" 123 images = dict() 124 125 for file in files: 126 print "processing file: %s"%(file) 127 wi = wavelet.open(file) 128 sig = wi.signature() 129 wi.im.thumbnail((config.crop_size, config.crop_size), Image.ANTIALIAS) 130 wi.im = wi.im.transpose(Image.FLIP_TOP_BOTTOM) 131 psurf=pyglet_image.ImageData(wi.im.size[0],wi.im.size[1],"RGB",wi.im.tostring()) 132 133 images[ unicode(file,'utf-8').encode('ascii', 'ignore') ] = (psurf, None, sig, wi.size) 134 135 return images 159 160 global images 161 162 print "processing file: %s"%(file) 163 wi = wavelet.open(file) 164 sig = wi.signature() 165 wi.im.thumbnail((config.crop_size, config.crop_size), Image.ANTIALIAS) 166 wi.im = wi.im.transpose(Image.FLIP_TOP_BOTTOM) 167 psurf=pyglet_image.ImageData(wi.im.size[0],wi.im.size[1],"RGB",wi.im.tostring()) 168 169 images[ unicode(file,'utf-8').encode('ascii', 'ignore') ] = (psurf, None, sig, wi.size) 136 170 137 171 def window_setup(): … … 165 199 166 200 return True 201 202 def trash_setup(): 203 try: 204 os.mkdir(config.trash_dir) 205 except: 206 return 167 207 168 208 def main(): … … 178 218 global hovery 179 219 global selected 220 global hovering_over 221 global images 222 global renderables 180 223 181 224 files = sys.argv[1:] 182 images = load_files(files) 225 for file in files: 226 load_file(file) 227 183 228 184 229 win = window_setup() … … 188 233 assert ft != None 189 234 235 trash_setup() 236 190 237 image_pattern = pyglet_image.SolidColorImagePattern((0,0,0,1)) 191 238 192 239 clock.set_fps_limit(30) 193 240 194 renderables = images.items()241 renderables = update_renderables() 195 242 196 243 while not win.has_exit: … … 213 260 214 261 drawn = 0 262 hovering_over = None 215 263 for filename, image in renderables: 216 264 img = image[0] … … 220 268 print "%s selected"%(filename) 221 269 selected = image 222 renderables .sort(key=sort_func)270 renderables = update_renderables() 223 271 224 272 clickx = -1 … … 234 282 text_bg = image_pattern.create_image(config.crop_size, int(pix_size.height) ) 235 283 text_bg.blit(x,y) 284 hovering_over = filename 285 236 286 237 287 drawn+=1
