Timeline
128 check-ins using file channels/itunes.py version 7f3b7c5cee
2015-05-10
| ||
22:34 | Fix URL patching (after actually testing it). And provide fallback for image resizing (.thumbnail in PIL 2.3.0 is broken). check-in: 12e7646cbf user: mario tags: trunk | |
22:11 | Move internal commentary out of plugin description block. Try/Catch processing failures in update_rows() loop. Use quieter=1 option for image downloads. Reimplement custom base_url+href favicon patching. check-in: 4e95040e40 user: mario tags: trunk | |
22:08 | Add ahttp.get( quieter= ) option for less log.HTTP notices. check-in: 529222eb9b user: mario tags: trunk | |
19:45 | Work atop Python3 by using io.BytesIO rather than compat2and3 module. check-in: 7ec987b9ba user: mario tags: trunk | |
19:20 | Move `favicon` module into extension/feature plugin. Simplify row["favicon"] cache filename pregeneration; separate from favicon module (but basically duplicated code there). Refactor most internal favicon+banner processing, rename methods for clarity. Plugin registers itself as .hooks["play"] callback. Uses main.thread() now instead of custom variant. Create icon cache dir on initialiation rather. Use combined row_to_fn() for cache filename generation instead of domain(), url(), file(), etc. Previous banner downloads are ignored, because the filename normalization is more in line with domain favicons now. Only update pixstore on successful downloads. Pre-check the content type per binary regex now, before saving image files. Combine resizing into store_image() function as well. Even PNG files will be piped through PIL (for sanitization). Completely got rid of urllib usage. Homepage/HTML extraction got rewritten, simpler, still inexact; but works now for most webpages. Favicon homepage downloading checks both returned MIME type and actual file content prior saving. Shorten timeouts to 2-3 seconds for Google and custom favicon retrieval. check-in: bd1a9cba05 user: mario tags: trunk | |
19:12 | Create stub plugins/__init__.py in any case. check-in: a6b4b00c41 user: mario tags: trunk | |
19:12 | Make AHTTP timeout= configurable. check-in: 4b035870ec user: mario tags: trunk | |
2015-05-09
| ||
21:41 | Fix super slow requests download for Xiph YP.XML, due to automatic charset detected in requests.text access. Override encoding= now and manually .decode() known "utf-8" charset. check-in: 06fe0ef3db user: mario tags: trunk | |
21:40 | Implement favicon live updating. Play event and download_all now pass the treestore, with row index, and pix_entry number (column index in liststore). Favicon module checks for downloaded images twice now, and updates PixBuf in ListStore. (Works for both single station view, and download_all.) check-in: aac4fcacbf user: mario tags: trunk | |
21:38 | Prepare for more complex hooks["play"] invocation (ignore args, kwargs). check-in: 5fbe0ccd0c user: mario tags: trunk | |
21:37 | Use custom GenericChannel.columns() wrapper to simplify passing TreeView widget and keeping returned liststore/rowmap/pix_entry. check-in: 5d8d7fd191 user: mario tags: trunk | |
21:36 | Minor typo fixes. check-in: d1befc2a99 user: mario tags: trunk | |
21:36 | Return ListStore, rowmap and pix_entry from uikit.columns() check-in: 8b187d699a user: mario tags: trunk | |
2015-05-08
| ||
11:05 | Crash in search module again. Seemingly fixed it for threaded mode by preupdating the bookmarks.streams{search} result store before switching tabs. check-in: e6dd4c5376 user: mario tags: trunk | |
09:50 | Fix srver url extraction prior sending to myoggradio API. check-in: 46648a2d42 user: mario tags: trunk | |
2015-05-07
| ||
19:21 | Lock WindowsMediaGuide plugin against >2.1.8 check-in: 55b6ad457a user: mario tags: trunk | |
19:21 | Step-tutorial for bookmarking a station. check-in: c159673973 user: mario tags: trunk | |
17:12 | Explain in detail how to enable pluginmanager2 extension. check-in: b0ca9793cb user: mario tags: trunk | |
17:11 | Additional project+help links for manual. check-in: 76cf990460 user: mario tags: trunk | |
17:10 | Make static category lists more readable. check-in: f94731a05b user: mario tags: trunk | |
17:09 | Remove unsupported view-source: URL prefix, rewrite links from /cat/ to /doc/tip/ for downloading/plain view instead of text/html browsing. check-in: 8e4f191706 user: mario tags: trunk | |
01:22 | Fix UTF-8 text decoding for CSV after downloading as binary. check-in: 27b9174109 user: mario tags: trunk | |
01:20 | Add description: line. check-in: 749946913c user: mario tags: trunk | |
01:17 | Add windows media guide radio lists (ASX). Fixed action module to extract with case-insensitve matches for that playlist format. (It's not really XML after all.) check-in: 7c085d54f9 user: mario tags: trunk | |
01:16 | Another radio station directory: listenlive.eu check-in: b0e9e031d9 user: mario tags: trunk | |
01:15 | Compressed GLRP csv playlist. check-in: 48e681e054 user: mario tags: trunk | |
2015-05-06
| ||
21:05 | Add preliminary Magnatune contrib plugin. (Radio playlists are currently broken. Only small album list is fetched.) check-in: f0fcfbd3ba user: mario tags: trunk | |
19:35 | Add yelp <note> icons. check-in: 761b87fed4 user: mario tags: trunk | |
19:34 | Update config option references for channel pages. check-in: 2b2993e6e1 user: mario tags: trunk | |
17:36 | Converted help images to more grayscale/indexed variants to reduce filesize. check-in: 178fe1e006 user: mario tags: trunk | |
17:06 | Use fallback title= for mkrow() importing. check-in: fbb2beedd7 user: mario tags: trunk | |
17:06 | Fix urlencode references to urllib.quote. check-in: 334e951b04 user: mario tags: trunk | |
17:05 | Add favicon and description. check-in: f2dbd33512 user: mario tags: trunk | |
04:27 | Fix JSON serialization. check-in: b2d517502d user: mario tags: trunk | |
04:02 | Add trivial di.fm/sky.fm radio list fetcher. check-in: 644d1b3532 user: mario tags: trunk | |
00:22 | Enable glrp.csv download from repo. check-in: f42cec687d user: mario tags: trunk | |
00:21 | Remove default ["empty",] category. check-in: d958ddb71e user: mario tags: trunk | |
00:08 | Release as 2.1.8 check-in: b0a6a50a20 user: mario tags: trunk, 2.1.8 | |
00:07 | Fix some print and log statements. check-in: d0a9fca2bd user: mario tags: trunk | |
00:07 | Use Gtk3/gdk.Color.parse() as fallback to .get_colormap(), get rid of style copying (was only necessary with the previous theming support IIRC). check-in: ae1d856e69 user: mario tags: trunk | |
00:05 | Inline copy&paste HTML entity definitions, because they seemingly were also sacrificed at the Python 3 altar. check-in: 6cb923861a user: mario tags: trunk | |
2015-05-05
| ||
20:08 | Fix region_id default to enable v3 mostPopular query (YT stumbled over "UK"). check-in: 5a0c618e03 user: mario tags: trunk | |
19:47 | Filter `None` from extracted URLs. Fix save_playlist.export; copy.copy each row before overwriting/filling url. Implement specific `jamj` extractor (regex stumbled over playlist title). check-in: c9509eb384 user: mario tags: trunk | |
17:25 | Add .save() after reading in CSV list. check-in: 930e5fd7a5 user: mario tags: trunk | |
17:22 | Add playlist importer channel for GLRP. check-in: 44f08cdd69 user: mario tags: trunk | |
14:52 | Updated channel documentation with links. check-in: 333e0400bc user: mario tags: trunk | |
14:27 | Moved `file` and `punkcast` into contrib/ group. check-in: d91ab221b3 user: mario tags: trunk | |
14:12 | ./. check-in: a80fa6becf user: mario tags: trunk | |
14:11 | Add -B and -3 options to `make run` check-in: e8c3b8b495 user: mario tags: trunk | |
14:11 | Add icon for file browser. check-in: 5f1b889ce6 user: mario tags: trunk | |
11:24 | Fix some typos. check-in: 8f1be0548d user: mario tags: trunk | |
10:58 | Add omitted HTML pages. (*.html is in the fossil `ignore-glob`, so they get skipped for github-skin statistics bar.) check-in: 8a854e0f4c user: mario tags: trunk | |
10:56 | Update documentation and notes for new channel/feature plugins. check-in: 222113231f user: mario tags: trunk | |
10:45 | Readd plugin_base paths in addition to module basenames, otherwise pluginconf.get_data won't find plugins/* either in the module_list() or per get_data() - one uses paths, the other pkg names. check-in: 68107d7f9a user: mario tags: trunk | |
10:44 | Simplify core plugin dependency lookups. check-in: 120249ab54 user: mario tags: trunk | |
10:43 | Support direct URLs in DND import (only used as literal url=, brings up streamedit window afterwards). check-in: 5fe8de1fd7 user: mario tags: trunk | |
10:42 | Fix missing channel key error. Add icon. check-in: f4dfbc1e53 user: mario tags: trunk | |
2015-05-04
| ||
22:29 | Stub placeholder version: as `0` check-in: 9f252677fa user: mario tags: trunk | |
17:47 | Rewrite some comments. check-in: d08461a712 user: mario tags: trunk | |
17:45 | Fix http reference, unneeded. check-in: 718fb64e78 user: mario tags: trunk | |
17:45 | No more API. check-in: 5cd371d6e5 user: mario tags: trunk | |
15:23 | Moved dependency() into pluginconf module, which shortens adding new installable modules to the vbox. check-in: 686c553354 user: mario tags: trunk | |
15:22 | Make configwin construction slightly more readable, use new pluginconf functions. check-in: 5f8afee363 user: mario tags: trunk | |
15:21 | Split pluginconf from config module. check-in: 0d6acc5aef user: mario tags: trunk | |
15:21 | Use file:// prefix for storing local paths. (Did break DND without "srv" export.) check-in: 3c7e820654 user: mario tags: trunk | |
15:20 | Shorter format option descriptions. check-in: f4887cae4e user: mario tags: trunk | |
15:20 | Hopefully fix Gtk3 error by wrapping second set_current() call in uikit.do check-in: b5a787d470 user: mario tags: trunk | |
2015-05-03
| ||
20:26 | Add some version: bumps and add a few versions to depends: references. check-in: beebec9c76 user: mario tags: trunk | |
20:24 | Perform basic version dependency checks before displaying downloadable plugins. check-in: c83b236a5a user: mario tags: trunk | |
20:23 | Disable iCast plugin for now. check-in: 9d1b6cc7f5 user: mario tags: trunk | |
17:36 | Make plugin list prettier. Implement vbox redrawing on [save]. Activation seems to work okay for channel plugins, and main already had enough safeguards to make st2.load_plugin_channels() work as is. check-in: 0479db10f9 user: mario tags: trunk | |
17:35 | Make short help notices for player/recording configuration smaller. check-in: 55a1d1e516 user: mario tags: trunk | |
14:29 | Catch invalid image files when creating pixbuf in uikit.columns() check-in: 61c264fdcb user: mario tags: trunk | |
14:13 | Add user plugin manager / download tool. Not very well integrated nor pretty. Still requires a restart, needs more hooks into config dialog. (Clean up previous plugin vboxes after installation. Auto-activation required to reimplement init loader. And channels.__path__ setup isn't yet injectable, because no plugin `order:` is honored by main/init, and pluginmanager2 would run too late for overrides.) check-in: 8e8a9dd020 user: mario tags: trunk | |
14:10 | Detect all command names in player config, so that both `xterm` and `streamripper` are probed for existence. Use dict comprehension for plugin_meta lookup. Remove wrap_entry in favour of generic uikit.wrap(). check-in: 91f8502978 user: mario tags: trunk | |
14:09 | Allow to override encoding= for .text results (requests can't detect it automatically for binary/json responses). check-in: 00ff8bac09 user: mario tags: trunk | |
14:08 | Support multiple `plugin_base` references (namely "channels" and "plugins"). check-in: 12d3b19c1d user: mario tags: trunk | |
14:08 | Add .wrap() from configdialog for general use. check-in: 1ad0b9e76b user: mario tags: trunk | |
14:07 | Remove print statement. check-in: cf6b582c7e user: mario tags: trunk | |
09:35 | Implement "buffy" mode for just keeping Xiphs YP.XML in memory once traversed. check-in: 0afbbc5c26 user: mario tags: trunk | |
09:25 | Consolidate bitrate filter in main update_streams() method. Fix conjoined category strings. check-in: 2793a3e6f8 user: mario tags: trunk | |
09:16 | Fix server search var reference. check-in: b09ca3e24f user: mario tags: trunk | |
09:15 | Move parole behind vlc in setup alternatives. check-in: 7e68e1b770 user: mario tags: trunk | |
09:15 | Support literal references in text/uri-list per "srv" setting. check-in: 63798f88a3 user: mario tags: trunk | |
2015-05-02
| ||
23:44 | Better plugin comments for user interface. check-in: 85c2fd4f56 user: mario tags: trunk | |
23:44 | Fix xiph search URL and by_format mapping. check-in: 026af5c9fb user: mario tags: trunk | |
20:03 | Add combined unhtml() utility function for raw page extractors. check-in: 6f314952b9 user: mario tags: trunk | |
20:03 | Clean out unneeded xml module references. check-in: 4797dcce8e user: mario tags: trunk | |
19:56 | Xiph module: reintroduce YP.XML extraction (still exceedingly slow), simplify JSON cache API usage (may get retired, incurs a delay of its own), and add raw dir.xiph.org website scraping (fastest, and most features). check-in: e11d6b2207 user: mario tags: trunk | |
19:54 | Added default icons to dialog windows, and st2 logo to main window. Introduce more keyboard shortcuts (F6 favicons, Alt-F5 category reload, etc..) check-in: f18582ae4d user: mario tags: trunk | |
19:53 | Use shorter entity_decode() call. Strip example content. check-in: 405eaaa660 user: mario tags: trunk | |
19:53 | Allow to add custom statusmsg for lengthier HTTP requests. check-in: 4f285c3b31 user: mario tags: trunk | |
19:52 | Move strip_tags(), entity_decode(), and nl() out of class into normal functions. check-in: 41c3273da9 user: mario tags: trunk | |
19:52 | Move strip_tags(), entity_decode(), and nl() out of class into normal functions. check-in: d275a3e6e7 user: mario tags: trunk | |
05:45 | New channel plugin for Radionomy. check-in: c734771f92 user: mario tags: trunk | |
05:44 | Fix `audioformat` property name. check-in: 3f1b3bd882 user: mario tags: trunk | |
05:44 | Stub category tree building main[] in case of wrapped primary group. Add uikit.bg on STATE_ACTIVE, skip existing EventBox widgets. check-in: 6bf4c5e61e user: mario tags: trunk | |
05:42 | Remove redundant pq and compat2and3 imports. check-in: 8783b94a0a user: mario tags: trunk | |
05:42 | Use new @use_rx decorator to switch and fall back between regex/pyquery modes. check-in: f269792f36 user: mario tags: trunk | |
05:41 |
Implement custom HTML .entitiy_decode, because SAX didn't honor any HTML;
and HTMLParser would require customized/compat2and3 imports.
Colorize channel labels if #color: is specified in any plugins. And provide @use_rx decorator to alternate between regex/pyquery extractors. check-in: 5588baf6dd user: mario tags: trunk | |
05:39 | More specific log.HTTP messages (GET vs POST) check-in: 8ede46a0a1 user: mario tags: trunk | |
2015-05-01
| ||
23:30 | Prepare row() and play() wrappers. No genre requests yet. (Still just a planned channel pugin.) check-in: 34f8a3d27b user: mario tags: trunk | |
23:10 | Rename 8tracks module to have a legal Python identifier (rather than the globals()/module rename workaround). check-in: 8cd49580a4 user: mario tags: trunk | |
22:53 | Tag with priority:never, as it's not meant to be bundled really. check-in: 7df4f3284f user: mario tags: trunk | |
22:52 | Remove contrib/bieber joke example. check-in: c854934751 user: mario tags: trunk | |
22:41 | Separate statusbar timer-reset from text/progressbar setter. check-in: 3b7a4ff895 user: mario tags: trunk | |
02:16 | Use empty stub {} dict in place of state.json contents on fresh init. check-in: 3d6205d2d3 user: mario tags: trunk | |
02:16 | Add python2-requests dependency. check-in: dedcc5a434 user: mario tags: trunk | |
2015-04-30
| ||
23:57 | Test build -t arch Linux package as well. check-in: adb15be7f8 user: mario tags: trunk | |
21:21 | A little more comments on playlist_export usage. check-in: bf7e0f1bf3 user: mario tags: trunk | |
20:54 | Implement state: mapping (though no idea what 0-2 mean), and make default API key internally predefined again. check-in: cf32efcb61 user: mario tags: trunk | |
20:37 | Add delicast favicon. check-in: 046dd8a5da user: mario tags: trunk | |
20:33 | Temporarily remove iCast plugin from packaging, but add dirble and filtermusic. check-in: 9b4d29f9f7 user: mario tags: trunk | |
20:32 | Basic channel plugin for delicast.com check-in: c1b74b649f user: mario tags: trunk | |
20:31 | Manually replace `nbsp;` in entity_decode check-in: 82e9e14f3b user: mario tags: trunk | |
20:31 | Make SSL verify= configurable. check-in: f2bac0d310 user: mario tags: trunk | |
20:30 | Fix typos in myoggradio help page. check-in: 8e6178d3e3 user: mario tags: trunk | |
20:29 | Bring back dirble channel. check-in: 57af601fa7 user: mario tags: trunk | |
06:24 | Update HTML manual with current page set. check-in: 40900d9702 user: mario tags: trunk | |
06:22 | Add new channel plugin for filtermusic.net, which works both per website extraction and from XML map traversal. (Again, the HTMLβregex grepping seems more reliable.) check-in: 4b395e5d70 user: mario tags: trunk | |
06:21 | Statusbar timeout and reset still not as planned. check-in: 049b945a64 user: mario tags: trunk | |
06:21 | Add new config dialog group for "Playlists". Conf setting `playlist_asis` completely skips action.convert_playlist(). Works for any real m3u/pls/srv server and flexible audio players. But obviously breaks Jamendo albums or other JSON playlist sources. check-in: 470e3fac2b user: mario tags: trunk | |
06:19 | No has_search for PRF channel. check-in: dc28b4f35a user: mario tags: trunk | |
00:46 | Applied listformat= testing via action.extract_playlist.probe_ext(). check-in: 7dc72d064e user: mario tags: trunk | |
00:45 | iCast currently(?) down. Added JSON/HTTP log.ERR message. check-in: 56320c8678 user: mario tags: trunk | |
00:44 | Moved artwork (logo/icon) into dev/ folder. check-in: cff3740941 user: mario tags: trunk | |
2015-04-29
| ||
22:59 | Undo itertools.chain(), use plain list appending. check-in: 051366205f user: mario tags: trunk | |
22:55 | Exchanged all "import ahttp as http" for plain `ahttp` module usage. check-in: 493be36226 user: mario tags: trunk | |