Internet radio browser GUI for music/video streams from various directory services.

⌈⌋ ⎇ branch:  streamtuner2


All files named "favicon.py"

History for favicon.py

2015-05-10
19:20
Renamed to channels/favicon.py. 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, branch: trunk, size: 0
2015-05-09
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.) file: [9ae90f0624] check-in: [aac4fcacbf] user: mario, branch: trunk, size: 8280 [annotate] [blame] [check-ins using] [diff]
2015-04-30
20:31
Make SSL verify= configurable. file: [684fc768c9] check-in: [f2bac0d310] user: mario, branch: trunk, size: 7581 [annotate] [blame] [check-ins using] [diff]
2015-04-26
15:35
Cover most catched exceptions with log messages. file: [f1c4f8f20a] check-in: [363dce5eb9] user: mario, branch: trunk, size: 7559 [annotate] [blame] [check-ins using] [diff]
2015-04-21
22:07
Remove old .ico workaround, as PIL2(Pillow) now integrates support. Leave the remaining code in shambles, and with excessive logging. Still needs a huge rewrite to optionalize Google reliance again. (The manual favicon fetching never worked, because the regexp is too crude for most sites; and URL joining is off too.) file: [0e317dc343] check-in: [743c60ff80] user: mario, branch: trunk, size: 7551 [annotate] [blame] [check-ins using] [diff]
2015-04-17
21:06
Mark PIL workaround as obsolete. file: [c9075572d2] check-in: [ee9da14a46] user: mario, branch: trunk, size: 10313 [annotate] [blame] [check-ins using] [diff]
2015-04-14
16:39
Remove ancient dependency. (Whole favicon module needs refurbishment though. Might be feasible to turn it into a plugin meanwhile.) file: [0407b40e06] check-in: [6569edc420] user: mario, branch: trunk, size: 10230 [annotate] [blame] [check-ins using] [diff]
2014-05-11
01:21
load Jamendo images in favour of favicons file: [bf959d4ee7] check-in: [6d065627b5] user: mario, branch: trunk, size: 10207 [annotate] [blame] [check-ins using] [diff]
2014-04-27
22:48
Fully replace ahttp.ajax with ahttp.get() wrapper file: [b3ed705ebd] check-in: [b9af78503d] user: mario, branch: trunk, size: 9657 [annotate] [blame] [check-ins using] [diff]
2014-04-08
21:50
more Python3 syntax fixes, introduce compat2and3 module file: [983556d34c] check-in: [7911337325] user: mario, branch: py3, size: 9645 [annotate] [blame] [check-ins using] [diff]
21:16
rename http to ahttp to avoid conflict with Python3 modules, change .iteritems and xrange, remove same remaining plain print statements file: [997ecd51ce] check-in: [d3b1418bc6] user: mario, branch: py3, size: 9620 [annotate] [blame] [check-ins using] [diff]
2012-01-09
03:45
Added: 2.0.8.5 file: [f5d4a162a1] check-in: [ea81d1ad5d] user: mario, branch: trunk, size: 9610 [annotate] [blame] [check-ins using]