Check-in [79ef6e5f2a]
Overview
Comment: | Some more comments and log messages. |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA1: |
79ef6e5f2ab94387791cb7cde1862f9d |
User & Date: | mario on 2015-04-23 19:04:21 |
Other Links: | manifest | tags |
Context
2015-04-23
| ||
19:31 | Use distinct /tmp/streamtuner2/ directory for temporary pls/m3u/xspf files (also for DND). And have action. module reuse them, based on numeric row{} hash. check-in: 7411543862 user: mario tags: trunk | |
19:04 | Some more comments and log messages. check-in: 79ef6e5f2a user: mario tags: trunk | |
19:04 | Add uikit.tree() instantiation for bookmarks tab. check-in: dbfe218f76 user: mario tags: trunk | |
Changes
Modified ahttp.py from [1c2ab28748] to [eff0a41e0b].
︙ | ︙ | |||
70 71 72 73 74 75 76 | #srcout raise Exception("Simulated HTTP error") #endif # read if post: r = session.post(url, params=params, headers=headers, timeout=7.5) else: | | | | | 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 | #srcout raise Exception("Simulated HTTP error") #endif # read if post: r = session.post(url, params=params, headers=headers, timeout=7.5) else: r = session.get(url, params=params, headers=headers, verify=False, timeout=9.75) log.HTTP(">>>", r.request.headers ); log.HTTP("<<<", r.headers ); # finish, clean statusbar #progress_feedback(0.9) #progress_feedback("") # result log.INFO("Content-Length", len(r.content) ) |
︙ | ︙ |
Modified channels/internet_radio.py from [69d9499a8c] to [1cd93c503e].
︙ | ︙ | |||
37 38 39 40 41 42 43 | # streams and gui class internet_radio (ChannelPlugin): # control data listformat = "pls" categories = [] | | | 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 | # streams and gui class internet_radio (ChannelPlugin): # control data listformat = "pls" categories = [] base_url = "https://www.internet-radio.com/" # load genres def update_categories(self): html = http.get(self.base_url) rx = re.compile("""="/stations/[-+&.\w\s%]+/">([^<]+)<""") |
︙ | ︙ | |||
77 78 79 80 81 82 83 | "/" + ("page"+str(page) if page>1 else "") ) ) # Is there a next page? if str(page+1) not in rx_pages.findall(html[-1]): break | | > | 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 | "/" + ("page"+str(page) if page>1 else "") ) ) # Is there a next page? if str(page+1) not in rx_pages.findall(html[-1]): break # self.parent.status(float(page)/float(max_pages+1)) # Alternatively try regex or pyquery parsing #log.HTTP(html) for use_rx in [not conf.pyquery, conf.pyquery]: try: entries = (self.with_regex(html) if use_rx else self.with_dom(html)) if len(entries): break except Exception as e: log.ERR(e) continue # fin log.FINISHED("internet_radio.update_streams") return entries # Regex extraction def with_regex(self, html): log.PROC("internet-radio, regex") r = [] |
︙ | ︙ |
Modified channels/youtube.py from [16920f30fd] to [7b3bfc3dfd].
︙ | ︙ | |||
70 71 72 73 74 75 76 | listformat = "url/youtube" has_search = True audioformat = "video/youtube" titles = dict( genre="Channel", title="Title", playing="Playlist", bitrate=False, listeners=False ) # API config service = { | | > | 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 | listformat = "url/youtube" has_search = True audioformat = "video/youtube" titles = dict( genre="Channel", title="Title", playing="Playlist", bitrate=False, listeners=False ) # API config service = { 2: [ "http://gdata.youtube.com/", # deprecated on 2015-04-20, no /v3/ alternative, pertains "mostPopular" category only { "v": 2, "alt": "json", "max-results": 50, } ], 3: [ "https://www.googleapis.com/youtube/v3/", |
︙ | ︙ |
Modified cli.py from [9a0f511a31] to [de8c726472].
︙ | ︙ | |||
36 37 38 39 40 41 42 | plugins = {} # only populated sparsely by .stream() # start def __init__(self, actions): # fake init | | | | 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 | plugins = {} # only populated sparsely by .stream() # start def __init__(self, actions): # fake init action.main = empty_parent() action.main.current_channel = self.current_channel # check if enough arguments, else help if not actions: a = self.help # first cmdline arg == action else: command = actions[0] |
︙ | ︙ |
Modified config.py from [b88512db4c] to [fe8ee86843].
︙ | ︙ | |||
475 476 477 478 479 480 481 | self.method = name return self.log_print # Printer def log_print(self, *args, **kwargs): # debug level method = self.method.upper() | | | 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 | self.method = name return self.log_print # Printer def log_print(self, *args, **kwargs): # debug level method = self.method.upper() if method != "ERR": if "debug" in conf and not conf.debug: return # color/prefix method = r"[{}[{}][0m".format(self.colors.get(method, "47m"), method) # output print(method + " " + " ".join([str(a) for a in args]), file=sys.stderr) |
︙ | ︙ |