Refactor download API in the dev server.

Add comments and take named params.

BUG=chromium-os:24604
TEST=Ran dev server, verify download API works.

Change-Id: Ie7462e134dffe87f6e171e867ae62a752589a449
Reviewed-on: https://gerrit.chromium.org/gerrit/13593
Reviewed-by: Chris Masone <cmasone@chromium.org>
Commit-Ready: Frank Farzan <frankf@chromium.org>
Tested-by: Frank Farzan <frankf@chromium.org>
diff --git a/devserver.py b/devserver.py
index 2abd0a6..0f41553 100755
--- a/devserver.py
+++ b/devserver.py
@@ -160,13 +160,20 @@
     return self._builder.Build(board, pkg, kwargs)
 
   @cherrypy.expose
-  def download(self, *args):
-    """Downloads and archives full/delta payloads from Google Storage."""
+  def download(self, **kwargs):
+    """Downloads and archives full/delta payloads from Google Storage.
+
+    Args:
+      archive_url: Google Storage URL for the build.
+
+    Example URL:
+      'http://myhost/download?archive_url=gs://chromeos-image-archive/'
+      'x86-generic/R17-1208.0.0-a1-b338'
+    """
     import downloader
-    archive_url = '/'.join(args)
     if self._downloader is None:
       self._downloader = downloader.Downloader(updater.static_dir)
-    return self._downloader.Download(archive_url)
+    return self._downloader.Download(kwargs['archive_url'])
 
   @cherrypy.expose
   def controlfile(self, board, build, *args):