コード例 #1
0
ファイル: commands.py プロジェクト: msfrank/Higgins
 def render(self, request):
     logger.log_debug("%s %s" % (request.method, request.path))
     logger.log_debug(str(request.args))
     try:
         # get session id
         sid = request.args.get("session-id", ["0"])
         sid = int(sid[0])
         if sid == 0 or not sid in self.service.sessions:
             raise Exception("session-id %i is invalid" % sid)
         # get revision number
         rid = request.args.get("revision-number", ["0"])
         rid = int(rid[0])
         logger.log_debug("UpdateCommand: revision-number is %i" % rid)
         # if revision-number is not current revision number
         if not rid == DaapPrivate.REVISION_NUMBER:
             if rid < 0:
                 raise Exception("invalid revision-number %s" % rid)
             # return the current revision number
             mupd = CodeBag("mupd")
             mupd.add(ContentCode("mstt", 200))
             mupd.add(ContentCode("musr", int(DaapPrivate.REVISION_NUMBER)))
             return Response(200, {"content-type": x_dmap_tagged}, mupd.render())
         # create a new update stream to listen for db-changed signal
         stream = UpdateStream(self.service)
         return Response(200, {"content-type": x_dmap_tagged}, stream)
     except Exception, e:
         logger.log_error("UpdateCommand failed: %s" % e)
         return Response(400, {"content-type": MimeType("text", "plain")}, str(e))
コード例 #2
0
ファイル: commands.py プロジェクト: msfrank/Higgins
 def render(self, request):
     """calls the renderDAAP method and returns its result."""
     logger.log_debug("%s %s" % (request.method, request.path))
     logger.log_debug(str(request.args))
     try:
         return Response(200, {"content-type": x_dmap_tagged}, self.renderDAAP(request).render())
     except Exception, e:
         logger.log_error("command failed: %s" % e)
         return Response(400, {"content-type": MimeType("text", "plain")}, str(e))
コード例 #3
0
ファイル: commands.py プロジェクト: msfrank/Higgins
 def _errDAAP(self, failure):
     logger.log_error("ListItemsCommand failed: %s" % failure)
     return Response(400, {"content-type": MimeType("text", "plain")}, str(failure))