diff options
author | Mike Bayer <mike_mp@zzzcomputing.com> | 2011-08-24 14:31:06 -0400 |
---|---|---|
committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2011-08-24 14:31:06 -0400 |
commit | bea8a04edba2a144d8b8eaef2ecd6298b527cca8 (patch) | |
tree | 4c02f7392f7e9ac683743fa4a36143814134dbde | |
parent | b87ceb04101d9ed8d689ef90dcab36ee04cca53c (diff) | |
download | dogpile-core-bea8a04edba2a144d8b8eaef2ecd6298b527cca8.tar.gz |
some docstrings, setup, etc.
-rw-r--r-- | dogpile/dogpile.py | 13 | ||||
-rw-r--r-- | setup.py | 2 | ||||
-rw-r--r-- | tests/test_dogpile.py | 6 |
3 files changed, 16 insertions, 5 deletions
diff --git a/dogpile/dogpile.py b/dogpile/dogpile.py index e8ea99f..7e48869 100644 --- a/dogpile/dogpile.py +++ b/dogpile/dogpile.py @@ -76,12 +76,23 @@ from readwrite_lock import ReadWriteMutex log = logging.getLogger(__name__) class Dogpile(object): + """Dogpile class. + + :param expiretime: Expiration time in seconds. + + """ def __init__(self, expiretime): self.dogpilelock = threading.Lock() self.expiretime = expiretime self.createdtime = -1 def acquire(self, creator): + """Acquire the lock, returning a context manager. + + :param creator: Creation function, used if this thread + is chosen to create a new value. + + """ dogpile = self class Lock(object): def __enter__(self): @@ -92,11 +103,13 @@ class Dogpile(object): @property def is_expired(self): + """Return true if the expiration time is reached.""" return not self.has_value or \ time.time() - self.createdtime > self.expiretime @property def has_value(self): + """Return true if the creation function has proceeded at least once.""" return self.createdtime > 0 def _enter(self, creator): @@ -31,6 +31,6 @@ setup(name='Dogpile', zip_safe=False, install_requires=[], test_suite='nose.collector', - tests_require=tests_require, + tests_require=['nose'], **extra ) diff --git a/tests/test_dogpile.py b/tests/test_dogpile.py index c092cbf..b8565e0 100644 --- a/tests/test_dogpile.py +++ b/tests/test_dogpile.py @@ -1,7 +1,6 @@ from unittest import TestCase import time import threading -import thread from dogpile import Dogpile, SyncReaderDogpile import logging @@ -41,7 +40,7 @@ class DogpileTest(TestCase): the_resource = [] def create_resource(): - log.debug("%s creating resource..." % thread.get_ident()) + log.debug("creating resource...") time.sleep(creation_time) if slow_write_time: with dogpile.acquire_write_lock(): @@ -76,8 +75,7 @@ class DogpileTest(TestCase): "Value is %f seconds old, expiretime %f, time to create %f" % ( time_since_create, expiretime, creation_time ) - log.debug("%s time since create %s max stale time %s" % ( - thread.get_ident(), + log.debug("time since create %s max stale time %s" % ( time_since_create, max_stale )) |