devserver: expose xbuddy path translation via RPC
BUG=chromium:362296
TEST=tested with a devserver instance
Change-Id: I61a72c5a05cabe7774d560d0037f77d93af3de03
Reviewed-on: https://chromium-review.googlesource.com/194153
Tested-by: Yu-Ju Hong <yjhong@chromium.org>
Reviewed-by: Chris Sosa <sosa@chromium.org>
Commit-Queue: Yu-Ju Hong <yjhong@chromium.org>
diff --git a/devserver.py b/devserver.py
index 043e376..96f8b87 100755
--- a/devserver.py
+++ b/devserver.py
@@ -705,6 +705,21 @@
updater.static_dir, kwargs['build'], kwargs['control_path'])
@cherrypy.expose
+ def xbuddy_translate(self, *args):
+ """Translates an xBuddy path to a real path to artifact if it exists.
+
+ Args:
+ An xbuddy path in the form of {local|remote}/build_id/artifact.
+
+ Returns:
+ build_id/artifact
+ """
+ build_id, filename = self._xbuddy.Translate(args)
+ response = os.path.join(build_id, filename)
+ _Log('Path translation requested, returning: %s', response)
+ return response
+
+ @cherrypy.expose
def xbuddy(self, *args, **kwargs):
"""The full xBuddy call, returns resource specified by path_parts.
@@ -769,7 +784,7 @@
build_id = None
if for_update:
try:
- build_id = self._xbuddy.StageTestAritfactsForUpdate(args)
+ build_id = self._xbuddy.StageTestArtifactsForUpdate(args)
except build_artifact.ArtifactDownloadError:
build_id = None