Check-in [0c7040e314]
Overview
Comment: | Add more .progress() indication |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA1: |
0c7040e314bde79c7acce0c323ac9c64 |
User & Date: | mario on 2016-12-18 14:04:19 |
Other Links: | manifest | tags |
Context
2016-12-18
| ||
20:32 | os.access(gtk_dir, os.W_OK) in installhandler() not working on Windows (10). Incorrectly returns true for ProgramFiles paths, thus dll copying failed. Finally more cleanup code to remove the zip file, as well as dll - after successful extraction. → clear_theme() and clear_dll() are the new corresponding functions. check-in: 0ef1977fd2 user: Oliver tags: trunk | |
14:04 | Add more .progress() indication check-in: 0c7040e314 user: mario tags: trunk | |
14:03 | More details to overview, extract some flags, add dirname. List feature plugins in separate table. check-in: 14be328ff7 user: mario tags: trunk | |
Changes
Modified channels/__init__.py from [96d271c529] to [296d8f3610].
︙ | ︙ | |||
340 341 342 343 344 345 346 347 348 349 350 351 352 353 | return self.current = category do_save = False # get data from cache or download if force or not category in self.streams: log.PROC("load", "update_streams") self.status("Updating streams...") self.status(-0.1) if category == "empty": new_streams = self.empty_stub else: new_streams = self.update_streams(category) | > | 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 | return self.current = category do_save = False # get data from cache or download if force or not category in self.streams: log.PROC("load", "update_streams") self.progress(None) self.status("Updating streams...") self.status(-0.1) if category == "empty": new_streams = self.empty_stub else: new_streams = self.update_streams(category) |
︙ | ︙ | |||
444 445 446 447 448 449 450 451 452 453 454 455 456 457 | new = [row.get("url","http://example.com/") for row in new] for row in old: if ("url" in row and (row.get("url") not in new)): row["deleted"] = 1 diff.append(row) return diff # Display .current category, once notebook/channel tab is first opened def first_show(self): # Already processed if (self.shown == 55555): | > > > > > > > > > > > > > > | 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 | new = [row.get("url","http://example.com/") for row in new] for row in old: if ("url" in row and (row.get("url") not in new)): row["deleted"] = 1 diff.append(row) return diff # sets updating progress bar for .update_streams or .reload_categores def progress(self, max, i=None): if not max: self.status() self.status(1.0) self.progress_state = 1 return if isinstance(max, (list, dict)): max = len(max) if not i: i = self.progress_state self.status( float(int(i)) / (float(int(max)) + 1.5) ) self.progress_state = self.progress_state + 1 progress_state = 1 # Display .current category, once notebook/channel tab is first opened def first_show(self): # Already processed if (self.shown == 55555): |
︙ | ︙ |
Modified channels/dirble.py from [0aa81f09de] to [3e36e0af87].
︙ | ︙ | |||
79 80 81 82 83 84 85 86 87 88 89 90 91 92 | for c in row["children"]: self.catmap[c["title"]] = c["id"] self.categories = cats # Fetch entries def update_streams(self, cat, search=None): return [ self.unpack(r) for r in self.api("category/{}/stations".format(self.catmap.get(cat, 0)), all=1)# per_page=200 won't work ] | > | 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 | for c in row["children"]: self.catmap[c["title"]] = c["id"] self.categories = cats # Fetch entries def update_streams(self, cat, search=None): self.progress(1) return [ self.unpack(r) for r in self.api("category/{}/stations".format(self.catmap.get(cat, 0)), all=1)# per_page=200 won't work ] |
︙ | ︙ |
Modified channels/radionomy.py from [05a66c0287] to [04a11c793d].
︙ | ︙ | |||
84 85 86 87 88 89 90 91 92 93 94 95 96 97 | # https://www.radionomy.com/de/style/GENRE html = ahttp.get(req, ajax=1, referer=1) # https://www.radionomy.com/de/OnAir/Update self.onair_update(req) # collect additional pages for i in range(0, int(conf.radionomy_pages) - 1): add = ahttp.get(req, { "scrollOffset": i }, post=1, ajax=1, referer=1) if add.find("browseRadio") < 0: break html += add self.onair_update(req) # extractzz | > | 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 | # https://www.radionomy.com/de/style/GENRE html = ahttp.get(req, ajax=1, referer=1) # https://www.radionomy.com/de/OnAir/Update self.onair_update(req) # collect additional pages for i in range(0, int(conf.radionomy_pages) - 1): self.progress(conf.radionomy_pages) add = ahttp.get(req, { "scrollOffset": i }, post=1, ajax=1, referer=1) if add.find("browseRadio") < 0: break html += add self.onair_update(req) # extractzz |
︙ | ︙ |
Modified channels/reddit.py from [cfb66a69eb] to [828a881eea].
︙ | ︙ | |||
236 237 238 239 240 241 242 243 244 245 246 247 248 249 | elif cat.find("→") > 0: return self.placeholder # collect links data = [] after = None for i in range(1, int(conf.reddit_pages) + 1): try: j = ahttp.get( "http://www.reddit.com/r/{}/new.json".format(cat.lower()), { "sort": "new", "after": after } ) j = json.loads(j) except Exception as e: | > | 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 | elif cat.find("→") > 0: return self.placeholder # collect links data = [] after = None for i in range(1, int(conf.reddit_pages) + 1): self.progress(conf.reddit_pages) try: j = ahttp.get( "http://www.reddit.com/r/{}/new.json".format(cat.lower()), { "sort": "new", "after": after } ) j = json.loads(j) except Exception as e: |
︙ | ︙ |
Modified channels/surfmusik.py from [ef6ef15c63] to [088560b929].
︙ | ︙ | |||
125 126 127 128 129 130 131 132 133 134 135 136 137 138 | # genre elif cat in self.categories[self.categories.index("Genres") + 1]: path = path_genre # country else: path = path_country if path is not None: ucat = cat.replace(" ", "+").lower() html = ahttp.get(base_url + path + ucat + ".html") html = re.sub("&#x?\d+;", "", html) rx_radio = re.compile(r""" <td\s+class="home1"><a[^>]*\s+href="(.+?)"[^>]*> .*? | > | 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 | # genre elif cat in self.categories[self.categories.index("Genres") + 1]: path = path_genre # country else: path = path_country self.status(-1.0) if path is not None: ucat = cat.replace(" ", "+").lower() html = ahttp.get(base_url + path + ucat + ".html") html = re.sub("&#x?\d+;", "", html) rx_radio = re.compile(r""" <td\s+class="home1"><a[^>]*\s+href="(.+?)"[^>]*> .*? |
︙ | ︙ |
Modified contrib/streema.py from [13e4a521b2] to [f01c00621d].
1 2 | # api: streamtuner2 # title: Streema | | | 1 2 3 4 5 6 7 8 9 10 | # api: streamtuner2 # title: Streema # description: Directory and app for over 70.000 stations # type: channel # category: radio # version: 0.2 # url: http://www.streema.com/ # png: # iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABF0lEQVR42oWTMWsCURCE/Y/Bxh+QLrUIloKdELCxTOOBRSSgpZVYhCAWCtcEETGQJmCTkG7k47HcereeA4vnu32zszt7jceRFMXDQGoN # pd40RXci9d+kpxep+VzkNaLLXBzMpe1R+vu/jq8fabxKOSEBL6YfqgVEnSwgsMoen9+JcJlL5990xv9QAYf5qbhMC/RrQf/trLgctoA8A/0yPCO38PkVApPpAdFsndyoJeDlaKFarPZ3FJj3i12qHIEh |
︙ | ︙ | |||
42 43 44 45 46 47 48 | base = "http://streema.com/radios" # takes a while to load def update_categories(self): self.categories = [] html = ahttp.get(self.base) | | > > > | 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 | base = "http://streema.com/radios" # takes a while to load def update_categories(self): self.categories = [] html = ahttp.get(self.base) main_cats = re.findall('<a href="/radios/main-genre/(\w+)">', html) for cat in main_cats: self.progress(main_cats) html = ahttp.get(self.base + "/main-genre/" + cat) sub = re.findall('<a href="/radios/genre/(\w+)">', html) self.categories.append(cat) self.categories.append(sub) self.progress(0) return self.categories # get streems def update_streams(self, cat, search=None): r = [] if cat: |
︙ | ︙ | |||
87 88 89 90 91 92 93 | playing = playing[0], genre = unhtml(genre[0]), listeners = to_int(listeners[0]) )) except: pass #some field missing | | | 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 | playing = playing[0], genre = unhtml(genre[0]), listeners = to_int(listeners[0]) )) except: pass #some field missing # done return r # load page and get first download url (there's four, but usually identical) def resolve_urn(self, row): if row.get("url", "-").find("urn:streema:") != 0: return |
︙ | ︙ |