Upstream version 10.39.225.0
[platform/framework/web/crosswalk.git] / src / chrome / common / extensions / docs / server2 / handler.py
index 8e5cae8..392b0f1 100644 (file)
@@ -2,19 +2,31 @@
 # Use of this source code is governed by a BSD-style license that can be
 # found in the LICENSE file.
 
+import time
+
+from appengine_wrappers import taskqueue
 from cron_servlet import CronServlet
 from instance_servlet import InstanceServlet
 from patch_servlet import PatchServlet
+from refresh_servlet import RefreshServlet
 from servlet import Servlet, Request, Response
 from test_servlet import TestServlet
 
+
 _DEFAULT_SERVLET = InstanceServlet.GetConstructor()
+
+
+_FORCE_CRON_TARGET = 'force_cron'
+
+
 _SERVLETS = {
   'cron': CronServlet,
   'patch': PatchServlet,
+  'refresh': RefreshServlet,
   'test': TestServlet,
 }
 
+
 class Handler(Servlet):
   def Get(self):
     path = self._request.path
@@ -24,6 +36,16 @@ class Handler(Servlet):
       if not '/' in servlet_path:
         servlet_path += '/'
       servlet_name, servlet_path = servlet_path.split('/', 1)
+      if servlet_name == _FORCE_CRON_TARGET:
+        queue = taskqueue.Queue()
+        queue.purge()
+        time.sleep(2)
+        queue.add(taskqueue.Task(url='/_cron'))
+        return Response.Ok('Cron job started.')
+      if servlet_name == 'enqueue':
+        queue = taskqueue.Queue()
+        queue.add(taskqueue.Task(url='/%s'%servlet_path))
+        return Response.Ok('Task enqueued.')
       servlet = _SERVLETS.get(servlet_name)
       if servlet is None:
         return Response.NotFound('"%s" servlet not found' %  servlet_path)
@@ -31,5 +53,7 @@ class Handler(Servlet):
       servlet_path = path
       servlet = _DEFAULT_SERVLET
 
-    return servlet(
-      Request(servlet_path, self._request.host, self._request.headers)).Get()
+    return servlet(Request(servlet_path,
+                           self._request.host,
+                           self._request.headers,
+                           self._request.arguments)).Get()