#!/usr/bin/env python ####################################################################### import cherrypy from dm.common.service.dmController import DmController from dm.common.objects.dmObject import DmObject from dm.common.exceptions.dmException import DmException from dm.common.exceptions.internalError import InternalError from dm.common.exceptions.invalidRequest import InvalidRequest from dm.fs_service.impl.fsControllerImpl import FsControllerImpl ####################################################################### class FsController(DmController): def __init__(self): DmController.__init__(self) self._fsControllerImpl = FsControllerImpl() @cherrypy.expose def getDirectoryList(self, **kwargs): try: if not kwargs.has_key('path'): raise InvalidRequest('Missing directory path.') path = kwargs.get('path') response = '%s' % self._fsControllerImpl.getDirectoryList(path).getJsonRep() self.getLogger().debug('Returning: %s' % response) except DmException, ex: self.getLogger().error('%s' % ex) self.handleException(ex) response = ex.getJsonRep() except Exception, ex: self.getLogger().error('%s' % ex) self.handleException(ex) response = InternalError(ex).getJsonRep() return self.formatJsonResponse(response)