Make argument to CleanCacheUnlocked mandatory
authorMichael Hanselmann <hansmi@google.com>
Tue, 22 Jul 2008 14:05:08 +0000 (14:05 +0000)
committerMichael Hanselmann <hansmi@google.com>
Tue, 22 Jul 2008 14:05:08 +0000 (14:05 +0000)
Not passing the argument means it has the value None. Iterating None
doesn't work:
  >>> "123" in None
  Traceback (most recent call last):
    File "<stdin>", line 1, in ?
  TypeError: iterable argument required

Hence I rename it to "exclude" instead of "exceptions", which may be
confusing, and make it mandatory. If one wants to clean all cache
entries, an empty list can be passed.

Reviewed-by: iustinp

lib/jqueue.py

index a5b2c85..e8a2bd5 100644 (file)
@@ -436,18 +436,18 @@ class JobStorage(object):
     logging.debug("Writing job %s to %s", job.id, filename)
     utils.WriteFile(filename,
                     data=serializer.DumpJson(job.Serialize(), indent=False))
-    self._CleanCacheUnlocked(exceptions=[job.id])
+    self._CleanCacheUnlocked([job.id])
 
-  def _CleanCacheUnlocked(self, exceptions=None):
+  def _CleanCacheUnlocked(self, exclude):
     """Clean the memory cache.
 
     The exceptions argument contains job IDs that should not be
     cleaned.
 
     """
-    assert isinstance(exceptions, list)
+    assert isinstance(exclude, list)
     for job in self._memcache.values():
-      if job.id in exceptions:
+      if job.id in exclude:
         continue
       if job.GetStatus() not in (constants.JOB_STATUS_QUEUED,
                                  constants.JOB_STATUS_RUNNING):