X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/fdb15fdd11d88b73900badf092cf2db0e8d3aabf..b3135c06dd527e0ed65b6ffa921f830132f7d8b9:/lib/python/Components/Scanner.py diff --git a/lib/python/Components/Scanner.py b/lib/python/Components/Scanner.py index 860918c0..766d1966 100644 --- a/lib/python/Components/Scanner.py +++ b/lib/python/Components/Scanner.py @@ -24,6 +24,20 @@ def getType(file): return "application/x-debian-package" elif ext == "ogg": return "application/ogg" + elif ext == "flac": + return "audio/x-flac" + elif ext == "dmpkg": + return "application/x-dream-package" + elif ext == "nfi": + return "application/x-dream-image" + elif ext == "ts": + return "video/MP2T" + elif ext == "iso": + return "video/x-dvd-iso" + elif file[-12:].lower() == "video_ts.ifo": + return "video/x-dvd" + elif ext == "dat" and file[-11:-6].lower() == "avseq": + return "video/x-vcd" return type class Scanner: @@ -72,7 +86,7 @@ class ScanFile: def __init__(self, path, mimetype = None, size = None, autodetect = True): self.path = path if mimetype is None and autodetect: - (self.mimetype, _) = guess_type(path) + self.mimetype = getType(path) else: self.mimetype = mimetype self.size = size @@ -119,13 +133,21 @@ def scanDevice(mountpoint): # convert to list paths_to_scan = list(paths_to_scan) + from Components.Harddisk import harddiskmanager + blockdev = mountpoint.rstrip("/").rsplit('/',1)[-1] + error, blacklisted, removable, is_cdrom, partitions = harddiskmanager.getBlockDevInfo(blockdev) + # now scan the paths for p in paths_to_scan: path = os_path.join(mountpoint, p.path) for root, dirs, files in os_walk(path): for f in files: - sfile = ScanFile(os_path.join(root, f)) + path = os_path.join(root, f) + if is_cdrom and path.endswith(".wav") and path[-13:-6] == ("/track-"): + sfile = ScanFile(path,"audio/x-cda") + else: + sfile = ScanFile(path) for s in scanner: s.handleFile(res, sfile)