sysmon: Fix handling git diff-index outputting dashes

BUG=chromium:736911
BUG=chromium:737146
BUG=chromium:737217
TEST=Run on backup cautotest

Change-Id: Icd566e5ef49e43233b0415508b7542b0b4464e10
Reviewed-on: https://chromium-review.googlesource.com/550560
Commit-Queue: Allen Li <ayatane@chromium.org>
Tested-by: Allen Li <ayatane@chromium.org>
Trybot-Ready: Allen Li <ayatane@chromium.org>
Reviewed-by: Aviv Keshet <akeshet@chromium.org>
diff --git a/scripts/sysmon/git_metrics.py b/scripts/sysmon/git_metrics.py
index ee7cca3..46ee62f9 100644
--- a/scripts/sysmon/git_metrics.py
+++ b/scripts/sysmon/git_metrics.py
@@ -7,7 +7,6 @@
 from __future__ import absolute_import
 from __future__ import print_function
 
-import collections
 import os
 import subprocess
 
@@ -17,9 +16,6 @@
 logger = logging.getLogger(__name__)
 
 
-_Stats = collections.namedtuple('_Stats', 'added,deleted,path')
-
-
 class _GitRepo(object):
   """Helper class for running git commands."""
 
@@ -44,16 +40,18 @@
 
   def get_unstaged_changes(self):
     """Return number of unstaged changes as (added, deleted)."""
-    added, deleted = 0, 0
-    # output looks like '1\t2\tfoo\n3\t4\tbar\n'
+    added_total, deleted_total = 0, 0
+    # output looks like:
+    # '1\t2\tfoo\n3\t4\tbar\n'
+    # '-\t-\tbinary_file\n'
     output = self._check_output(['diff-index', '--numstat', 'HEAD'])
     stats_strings = (line.split() for line in output.splitlines())
-    stats_iter = (_Stats(int(added), int(deleted), path)
-             for added, deleted, path in stats_strings)
-    for stats in stats_iter:
-      added += stats.added
-      deleted += stats.deleted
-    return added, deleted
+    for added, deleted, _path in stats_strings:
+      if added != '-':
+        added_total += int(added)
+      if deleted != '-':
+        deleted_total += int(deleted)
+    return added_total, deleted_total
 
 
 class _GitMetricCollector(object):