def process(self):
     try:
         currentFile=MrcFile.MrcFile('', True, False)
         if self.query.fileid:
             currentFile=MrcFile.getFromFileCache(self.query.fileid)
         if not currentFile.path:
             MrcLogger.error('failed to get file from cache with file id '+self.query.fileid)
             self.error='failed to get file from cache with file id '+self.query.fileid
         if currentFile.ismusicfile:
             MrcPlayer.instance().playFile(currentFile)
         else:
             self.reply.error='not a music file: '+currentFile.path
     except Exception as e:
         self.reply.error=e.__str__()
 def processByFileId(self):
     try:
         pathToBrowse=MrcSettings.BASE_MUSIC_PATH
         if self.query.fileid:
             self.reply.currentFolder=MrcFile.getFromFileCache(self.query.fileid) 
             pathToBrowse+=self.reply.currentFolder.path
         if not pathToBrowse:
             MrcLogger.error('failed to get file from cache with file id '+self.query.fileid)
             self.error='failed to get file from cache with file id '+self.query.fileid
         i=0
         for f in os.listdir(pathToBrowse):
             i+=1
             fpath=pathToBrowse+MrcSettings.OS_SEPARATOR+f
             fpath=fpath[len(MrcSettings.BASE_MUSIC_PATH):]
             if fpath.startswith(MrcSettings.OS_SEPARATOR):
                 fpath=fpath[len(MrcSettings.OS_SEPARATOR):]
             if os.path.isdir(pathToBrowse+MrcSettings.OS_SEPARATOR+f):
                 mf=MrcFile.MrcFile(fpath, True, False)
                 mf.setFileId(self.query.fileid, i)
                 mf.getDisplayName()
                 self.reply.files.append(mf)
                 MrcFile.addToFileCache(mf)
             else:
                 ismusicfile=False
                 for ext in MrcSettings.MUSIC_FILE_EXTENSIONS:
                     if f.lower().endswith(ext):
                         ismusicfile=True
                         break
                 if ismusicfile:
                     mf=MrcFile.MrcFile(fpath, False, True)
                     mf.setFileId(self.query.fileid, i)
                     mf.getDisplayName()
                     self.reply.files.append(mf)
                     MrcFile.addToFileCache(mf)
         self.reply.files=sorted(self.reply.files, key=lambda mf:mf.getSortingName())
     except Exception as e:
         self.reply.error=e.__str__()
    def process(self):
        try:
            currentFile = MrcFile.MrcFile("", True, False)

            if self.query.fileid:
                currentFile = MrcFile.getFromFileCache(self.query.fileid)
            if not currentFile.path:
                MrcLogger.error("failed to get file from cache with file id " + self.query.fileid)
                self.reply.error = "failed to get file from cache with file id " + self.query.fileid
                return
            if not currentFile.isdir:
                self.reply.error = "not a music directory: " + currentFile.path
                return

            self.gatherMusicFiles(currentFile)

            if not self.files:
                self.reply.error = "no music file in: " + currentFile.path
                return

            MrcPlayer.instance().playFiles(self.files)
        except Exception as e:
            self.reply.error = e.__str__()