1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
#
# 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.
#
# modules
import os
import re
|
<
|
<
|
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. Presents files from configured directories.
# modules
import os
import re
|
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:
if os.path.exists(main):
self.categories.append(main)
# prepare subdirectories list
sub = []
self.categories.append(sub)
|
>
>
|
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)
|