OverviewCsikk is a small webserver written in Python. It extends the SimpleHTTPRequestHandler found in the standard Python library (not the best solution but reduces library dependencies and helps portability). What Csikk does is it makes possible to browse someone's music folder on the network, view music files metadata (not just pure filenames) and download directory contents as ZIP or as M3U playlist for streaming using your favourite music player. Csikk was not intented for massive usage rather to share music with the guys at home and/or at the office. Ideally you would need Csikk in situations like when only one computer is connected to the speaker system on a network, and copying large folders from one machine to another instead of streaming them would be a waste of time. Here are some screenshots and the list of features.
The following third-party libraries are required:
Jinja (HTML templating system) PyYaml (YAML parser for Python) mutagen (media metadata information)
Since Csikk was built on Jinja templates, you can customize the look and feel pretty easily by editing the HTML and CSS files. Furthermore there's an option in the config file to specify the template you want to use. Csikk comes with two default templates, one with an integrated flash-based music player.
Current version: 0.4.2
Please read Todos and Plans and feel free to share your comments and suggestions with me!
Issues and limitationsFor a list of issues please have a look at the issues list.
Current limitations:
csikk only handles .mp3 and .ogg metadata, cause I didn't have much time to further examine the mutagen lib (just as of yet of course) since csikk relies on the standard BaseHTTPServer of Python and it is very a simple thing, csikk is really meant for streaming on a LAN Releases and changes0.4.2fixed a bug which prevented Internet Explorer to display pages well updated the non-flash template to really differ only in the exclusion of XSPF 0.4.1this is a bugfix release: fixed thread handling (now stream threads terminate correctly) now ZIP files are also served in a separate thread 0.4now handling cache control HTTP headers (If-Modified-Since and Last-Modified) simple object cache for storing generated templates threads (now streaming has no effect on browsing) fixed startup path searching 0.2 and 0.3all css defs are now in style.css (stripped from the html) added sessions to store view settings swf player button added (using XSPF Player) now song lengths appear too minor usability changes: folderlist is completely invisble when its count is zero... ...and filelist behaves also the same. added breadcrumb navigation other small changes in the layout added types.yaml (for tuning the filelist) now folders are downloadable as a single zip added config options allow-zip-downloads and zip-name 0.1.1got rid off some redundand code (source is now more modular!) added support for ogg vorbis files! added new config options: template and m3u-name (also added some guiding comments to the config file!) added a play button next to folder names to increase usability 0.1initial release