summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Bayer <mike_mp@zzzcomputing.com>2011-08-24 14:31:06 -0400
committerMike Bayer <mike_mp@zzzcomputing.com>2011-08-24 14:31:06 -0400
commitbea8a04edba2a144d8b8eaef2ecd6298b527cca8 (patch)
tree4c02f7392f7e9ac683743fa4a36143814134dbde
parentb87ceb04101d9ed8d689ef90dcab36ee04cca53c (diff)
downloaddogpile-core-bea8a04edba2a144d8b8eaef2ecd6298b527cca8.tar.gz
some docstrings, setup, etc.
-rw-r--r--dogpile/dogpile.py13
-rw-r--r--setup.py2
-rw-r--r--tests/test_dogpile.py6
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):
diff --git a/setup.py b/setup.py
index fe556c9..b2782ac 100644
--- a/setup.py
+++ b/setup.py
@@ -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
))