Make all delta payloads optional.

This change makes the nton payload optional in addition to the mton
payload which was done in Ib6704594806de33cea38beb968e30304f1529211.

BUG=chromium-os:29567
TEST=unittests + downloader using a lumpy cq build:
unified-lumpy-paladin/R21-2343.0.0-rc8

Change-Id: I7b107b5b055cd78b5210400950c8fa388f6d4f7b
Reviewed-on: https://gerrit.chromium.org/gerrit/23300
Reviewed-by: Chris Sosa <sosa@chromium.org>
Tested-by: Chris Sosa <sosa@chromium.org>
Commit-Ready: Chris Sosa <sosa@chromium.org>
diff --git a/devserver_util.py b/devserver_util.py
index c2a659b..a4633db 100644
--- a/devserver_util.py
+++ b/devserver_util.py
@@ -52,9 +52,9 @@
       else:
         mton_payload_url = payload
 
-  if not full_payload_url or not nton_payload_url:
+  if not full_payload_url:
     raise DevServerUtilError(
-        'Payloads are missing or have unexpected name formats.', payload_list)
+        'Full payload is missing or has unexpected name format.', payload_list)
 
   return full_payload_url, nton_payload_url, mton_payload_url
 
@@ -76,14 +76,17 @@
   full_url, nton_url, mton_url = ParsePayloadList(payload_list)
 
   full_payload = os.path.join(build_dir, downloadable_artifact.ROOT_UPDATE)
-  nton_payload = os.path.join(build_dir, AU_BASE, build + NTON_DIR_SUFFIX,
-                              downloadable_artifact.ROOT_UPDATE)
 
   artifacts = []
   artifacts.append(downloadable_artifact.DownloadableArtifact(full_url,
       main_staging_dir, full_payload, synchronous=True))
-  artifacts.append(downloadable_artifact.AUTestPayload(nton_url,
+
+  if nton_url:
+    nton_payload = os.path.join(build_dir, AU_BASE, build + NTON_DIR_SUFFIX,
+                                downloadable_artifact.ROOT_UPDATE)
+    artifacts.append(downloadable_artifact.AUTestPayload(nton_url,
       main_staging_dir, nton_payload))
+
   if mton_url:
     mton_payload = os.path.join(build_dir, AU_BASE, build + MTON_DIR_SUFFIX,
                                 downloadable_artifact.ROOT_UPDATE)