Exemplo n.º 1
0
    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)
Exemplo n.º 2
0
 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
Exemplo n.º 3
0
 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")
Exemplo n.º 4
0
 def generateEntryForDirectory(self, directory):
     newEntry = Entry(directory,
                      OneServerManager().CONTAINER_MIME, None, [],
                      directory, directory, -1, None)
     return newEntry