Check-in [36c234a70b]
Overview
Comment: | Fix strโbytes saving for Py3. Tmplement tmp_files[] cleanup. |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | action-mapfmts |
Files: | files | file ages | folders |
SHA1: |
36c234a70bce4dd76d63abc4141ccee2 |
User & Date: | mario on 2015-04-10 17:34:38 |
Other Links: | branch diff | manifest | tags |
Context
2015-04-10
| ||
17:35 | Rewritten action module and playlist conversion/export works okay enough. Merged into trunk. check-in: 60f5238dc8 user: mario tags: trunk | |
17:34 | Fix strโbytes saving for Py3. Tmplement tmp_files[] cleanup. Leaf check-in: 36c234a70b user: mario tags: action-mapfmts | |
16:40 | Finalize allowed filename extensions for exporting. Normalize Python3 string decoding (errors='ignore' per default). Update XSPF and SMIL export. Use row={} template now, instead of just carrying over title= to rewritten playlists. check-in: e136a78c73 user: mario tags: action-mapfmts | |
Changes
Modified action.py from [42bec82228] to [097271c366].
︙ | ︙ | |||
39 40 41 42 43 44 45 | # Coupling to main window # main = None | < | 39 40 41 42 43 44 45 46 47 48 49 50 51 52 | # Coupling to main window # main = None # Streamlink/listformat mapping listfmt_t = { "audio/x-scpls": "pls", "audio/x-mpegurl": "m3u", "audio/mpegurl": "m3u", "application/vnd.apple.mpegurl": "m3u", "video/x-ms-asf": "asx", |
︙ | ︙ | |||
246 247 248 249 250 251 252 | return [url] elif dest in ("srv", "href"): return urls # Otherwise convert to local file if local_file: fn, is_unique = tmp_fn(cnt, dest) | | | 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 | return [url] elif dest in ("srv", "href"): return urls # Otherwise convert to local file if local_file: fn, is_unique = tmp_fn(cnt, dest) with open(fn, "w") as f: debug(dbg.DATA, "exporting with format:", dest, " into filename:", fn) f.write( save_playlist(source="srv", multiply=True).export(urls, row, dest) ) return [fn] else: return urls |
︙ | ︙ | |||
372 373 374 375 376 377 378 | # call conversion schemes converter = getattr(self, dest) or self.pls return converter(rows) # save directly def file(self, rows, dest, fn): | | | 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 | # call conversion schemes converter = getattr(self, dest) or self.pls return converter(rows) # save directly def file(self, rows, dest, fn): with open(fn, "w") as f: f.write(self.store(rows, dest)) # M3U def m3u(self, rows): txt = "#EXTM3U\n" |
︙ | ︙ | |||
449 450 451 452 453 454 455 | def xmlentities(s): global xmlentities from xml.sax.saxutils import escape as xmlentities return xmlentities(s) | | > > | > > > > | > > > > | 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 473 474 475 476 477 | def xmlentities(s): global xmlentities from xml.sax.saxutils import escape as xmlentities return xmlentities(s) # Generate filename for temporary .m3u, if possible with unique id def tmp_fn(pls, ext="m3u"): # use shoutcast unique stream id if available stream_id = re.search("http://.+?/.*?(\d+)", pls, re.M) stream_id = stream_id and stream_id.group(1) or "XXXXXX" try: channelname = main.current_channel except: channelname = "unknown" # return temp filename fn = "%s/streamtuner2.%s.%s.%s" % (str(conf.tmp), channelname, stream_id, ext) is_unique = len(stream_id) > 3 and stream_id != "XXXXXX" tmp_files.append(fn) return fn, is_unique # Collect generated filenames tmp_files = [] # Callback from main / after gtk_main_quit def cleanup_tmp_files(): if not int(conf.reuse_m3u): [os.remove(fn) for fn in set(tmp_files)] |