--- /dev/null
+:mod:`wizard.sset`
+===================
+
+.. automodule:: wizard.sset
+
+Classes
+-------
+.. autoclass:: make
+ :members:
+.. autoclass:: ISerializedSet
+ :members:
+.. autoclass:: SerializedSet
+ :members:
+ :inherited-members:
+.. autoclass:: DummySerializedSet
+ :members:
+ :inherited-members:
import os.path
def make(seen_file):
+ """
+ Return a :class:`SerialisedSet` if given any non-empty string.
+ If given an empty string, return a :class:`DummySerialisedSet`.
+ """
if seen_file:
return SerializedSet(seen_file)
else:
return DummySerializedSet()
class ISerializedSet(object):
- def put(self, name):
+ """A unique unordered collection of strings."""
+ def add(self, name):
+ """Adds a value into the set."""
raise NotImplementedError
class SerializedSet(ISerializedSet):
- """This set also records itself to a file, so that it
- is persisted over multiple sessions."""
+ """
+ This set also records itself to a file, so that it
+ is persisted over multiple sessions.
+ """
def __init__(self, file):
self.set = set()
if os.path.isfile(file):
self.file.flush()
class DummySerializedSet(ISerializedSet):
- """Dummy object that doesn't actually cache anything and
- claims that everything needs to be done"""
+ """
+ Dummy object that doesn't actually cache anything and
+ claims that everything needs to be done.
+ """
def __contains__(self, name):
return False
def add(self, name):