def generateList(self, path, location): OneServerManager().log.debug('LocalFilePlugin: Loading Tree') listOfFiles = {} try: OneServerManager().log.debug(path) for dirpath, dirnames, filenames in os.walk(path): for filename in filenames: listOfFiles[filename] = os.sep.join([dirpath, filename]) except EntryNotFoundError: print('Entry was not Found') locationT = location.replace("/", "") entryForLocation = Entry(location, OneServerManager().CONTAINER_MIME, None, [], locationT.upper(), locationT, -1, None) for f in listOfFiles: filename = listOfFiles[f] profile = OneServerManager().idlna.dlna_guess_media_profile( self.dlna, filename) OneServerManager().log.debug('Profile for %s: %s', filename, str(profile)) if profile is None: raise ValueError("Invalid media type on {0}".format(f)) try: profile.contents fileSize = os.path.getsize(filename) entryForLocation.addChild( Entry(filename, profile, self.tree, None, filename, "", fileSize, LocalFilePlugin.createLocalFileHandle)) except ValueError: OneServerManager().log.debug( "Invalid profile object, skipping " + filename) self.tree.addChild(entryForLocation)
def get(self, path): if os.path.isdir(path): raise DirectoryError if os.path.isfile(path): profile = self.dlna.idlna.dlna_guess_media_profile(self.dlna, path) path = os.path.splitext("path")[0] fileSize = os.path.getsize(path) absolutePath = os.path.abspath(path) anEntry = Entry(path, profile, absolutePath, None, path, "", fileSize, None) return anEntry
def __init__(self): self.ispo = IStoragePlugin('Local Files') self.tree = Entry("/lfs", OneServerManager().CONTAINER_MIME, None, [], "LFS", "lfs", -1, None) self.dlna = OneServerManager().dlna # self.dbHelper = LocalFileDatabaseHelper(self.PLUGINDATABASE) self.os = self.getOperatingSystem() self.home = expanduser('~') if self.os == 'Windows': self.generateList(expanduser('~') + "/My Music", "/Music") self.generateList(expanduser('~') + "/My Pictures", "/Pictures") self.generateList(expanduser('~') + "/My Videos", "/Videos") elif self.os == 'Darwin': #TODO Update when figured out Apple Media Storage self.generateList(os.environ['HOME']) elif self.os == 'Linux': self.generateList(expanduser('~') + "/Music", "/Music") self.generateList(expanduser('~') + "/Pictures", "/Pictures") self.generateList(expanduser('~') + "/Videos", "/Videos")
def generateEntryForDirectory(self, directory): newEntry = Entry(directory, OneServerManager().CONTAINER_MIME, None, [], directory, directory, -1, None) return newEntry