Beispiel #1
0
    def doLater(self, args):
        if not args:
            self.stderr.write('Please give path to chromaprint.\n')
            defer.returnValue(3)
            return

        self.debug('Chromaprint: args %r', args)
        interactor = database.DatabaseInteractor(
            self.parentCommand.database,
            self.parentCommand.runner)

        # FIXME: database-specific, should be replaced by more generic things
        # FIXME: imports reactor
        from twisted.web import error

        paths = common.expandPaths(args, self.stderr)

        failed = []
        for path in paths:
            path = os.path.abspath(path)
            self.stdout.write('%s\n' % path.encode('utf-8'))

            try:
                res = yield interactor.chromaprint(path, hostname=self.hostname)
            except error.Error, e:
                if e.status == 404:
                    self.stderr.write('Database or view does not exist.\n')
                    self.reactor.stop()
                    defer.returnValue(3)
                    return
            except Exception, e:
                failed.append((path, log.getExceptionMessage(e)))
                continue
Beispiel #2
0
    def doLater(self, args):
        if not args:
            self.stderr.write('Please give path to get scores for.\n')
            defer.returnValue(3)
            return

        self.interactor = database.DatabaseInteractor(
            self.parentCommand.parentCommand.database,
            self.parentCommand.parentCommand.runner)

        paths = common.expandPaths(args, self.stderr)

        for path in paths:
            yield self.doPath(path)