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

⌈⌋ branch:  streamtuner2


Diff

Differences From Artifact [1ae0a2679f]:

To Artifact [1ed6e9a8dc]:


1
2
3
4
5
6
7
8
9
10
11
12
13
14

15
16
17
18
19
20
21
22

1
2
3
4
5
6
7
8
9
10
11
12

13

14
15
16
17
18
19
20
-












-
+
-






#
# api: streamtuner2
# title: File browser
# description: Displays mp3/oggs or m3u/pls files from local media file directories.
# type: channel
# category: local
# version: 0.1
# priority: optional
# depends: mutagen
# config:  
#   { name: file_browser_dir, type: text, value: "~/Music, /media/music", description: "List of directories to scan for audio files." },
#   { name: file_browser_ext, type: text, value: "mp3,ogg, m3u,pls,xspf, avi,flv,mpg,mp4", description: "File type/extension filter." },
#
# Local file browser.
# Local file browser. Presents files from configured directories.
#



# modules
import os
import re
119
120
121
122
123
124
125


126
127
128
129
130
131
132
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132







+
+







    # read dirs
    def scan_dirs(self):
        self.categories = []
    
        # add main directory
        for main in self.dir:
          main = re.sub("^~", os.environ.get("HOME"))
          main = re.sub("[$]([A-Z_]+)", lambda m: os.environ.get(m.group(1)), main)
          if os.path.exists(main):
            self.categories.append(main)
            
            # prepare subdirectories list
            sub = []
            self.categories.append(sub)