Changeset 8187
- Timestamp:
- Oct 25, 2018, 9:35:01 AM (2 years ago)
- Location:
- lliurex-store/trunk/fuentes/lliurex-store-gui/usr/share/lliurex-store/lliurex-store-gui
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
lliurex-store/trunk/fuentes/lliurex-store-gui/usr/share/lliurex-store/lliurex-store-gui/DetailsBox.py
r7721 r8187 16 16 import os 17 17 import html2text 18 import random 19 import copy 18 20 19 21 import gettext … … 42 44 self.full_info_box=Gtk.HBox() 43 45 self.pack_start(self.full_info_box,True,True,5) 46 47 self.related_aborted=False 48 self.current_id=None 44 49 45 50 # ####### LEFT SIDE ###### … … 263 268 def set_package_info(self,pkg): 264 269 270 self.current_id=random.random() 271 265 272 info={} 266 273 … … 363 370 for p in self.related_box.get_children(): 364 371 self.related_box.remove(p) 365 372 373 categories=copy.deepcopy(pkg["categories"]) 374 375 self.related=None 376 377 self.related_thread=threading.Thread(target=self.search_related_packages_from_categories_thread,args=(pkg["package"],categories,self.current_id)) 378 self.related_thread.daemon=True 379 self.related_thread.start() 380 GLib.timeout_add(500,self.related_pkg_listener,self.current_id) 381 382 ''' 366 383 for p in pkg["related_packages"]: 367 384 … … 402 419 self.related_sw.get_hadjustment().set_value(0) 403 420 self.related_box.show_all() 421 ''' 404 422 405 423 for x in self.screenshots_box.get_children(): … … 408 426 409 427 #def set_values 428 429 430 def search_related_packages_from_categories_thread(self,pkg,categories,id): 431 432 self.related=self.core.store.get_random_packages_from_categories(pkg,categories) 433 434 #def search_related_packages_from_categories_thread 435 436 def related_pkg_listener(self,id): 437 438 if id!=self.current_id: 439 return False 440 441 if self.related_thread.is_alive(): 442 return True 443 444 if self.related!=None: 445 446 447 for p in self.related["related_packages"]: 448 449 image=Screenshot.ScreenshotNeo() 450 451 i={} 452 i["image_id"]=p["package"]+"_banner_small" 453 i["x"]=self.banner_small 454 i["y"]=self.banner_small 455 i["name"]=p["package"].capitalize() 456 i["package"]=p["package"] 457 i["icon"]=p["icon"] 458 i["component"]=p["component"] 459 460 if p["banner"]!=None: 461 i["image_url"]=p["banner"] 462 i["custom_frame"]=False 463 else: 464 i["image_path"]=self.core.resources.get_icon(p) 465 i["custom_frame"]=True 466 467 if not i["custom_frame"]: 468 image.download_image(i) 469 else: 470 i["force_text"]=True 471 image.create_banner_from_file(i) 472 473 b=Gtk.Button() 474 b.add(image) 475 b.set_size_request(self.banner_small,self.banner_small) 476 b.set_margin_top(10) 477 b.connect("clicked",self.related_app_clicked,p) 478 b.set_name("RELATED_BUTTON") 479 b.set_valign(Gtk.Align.CENTER) 480 b.set_tooltip_text(p["name"]) 481 self.related_box.pack_start(b,False,False,3) 482 483 self.related_sw.get_hadjustment().set_value(0) 484 self.related_box.show_all() 485 486 487 return False 488 489 #def related_pkg_listener 410 490 411 491 -
lliurex-store/trunk/fuentes/lliurex-store-gui/usr/share/lliurex-store/lliurex-store-gui/LliurexStoreManager.py
r8183 r8187 84 84 categories.remove(item) 85 85 86 86 ''' 87 87 if len(categories)>0: 88 88 … … 103 103 p.fix_info() 104 104 105 ''' 106 105 107 return p 106 108 107 109 #def get_info 110 111 112 def get_random_packages_from_categories(self,pkg_id,categories): 113 114 for item in self.core.categories_manager.categories: 115 if item in categories and len(categories) > 1: 116 categories.remove(item) 117 118 for item in self.core.categories_manager.banned_categories: 119 if item in categories and len(categories) > 1: 120 categories.remove(item) 121 122 random_id=int(random.random()*len(categories)) 123 124 random_category=categories[random_id] 125 pkgs,categories=self.get_package_list_from_category(random_category) 126 127 p=Package.Package({}) 128 p.fix_info() 129 130 if len(pkgs) >=10: 131 samples=10 132 else: 133 samples=len(pkgs) 134 135 for item in random.sample(pkgs,samples): 136 if item["package"]!=pkg_id: 137 p["related_packages"].append(item) 138 139 p.fix_info() 140 141 return p 142 143 #def get_random_packages_from_categories 108 144 109 145 -
lliurex-store/trunk/fuentes/lliurex-store-gui/usr/share/lliurex-store/lliurex-store-gui/MainWindow.py
r7440 r8187 9 9 import multiprocessing 10 10 import time 11 import copy 11 12 12 13 import gettext
Note: See TracChangeset
for help on using the changeset viewer.