diff options
author | Eli Collins <elic@assurancetechnologies.com> | 2011-07-27 12:05:54 -0400 |
---|---|---|
committer | Eli Collins <elic@assurancetechnologies.com> | 2011-07-27 12:05:54 -0400 |
commit | cfe7263879934f302322d03d310fb1edcfdf77dc (patch) | |
tree | b8353430a744f3f55bbfe32f66d49783f7c1c018 /passlib/apache.py | |
parent | fb0750de1f7b52adb0dc0aa7227300d358a69108 (diff) | |
download | passlib-cfe7263879934f302322d03d310fb1edcfdf77dc.tar.gz |
removed duplicate code inside passlib.apache
Diffstat (limited to 'passlib/apache.py')
-rw-r--r-- | passlib/apache.py | 22 |
1 files changed, 12 insertions, 10 deletions
diff --git a/passlib/apache.py b/passlib/apache.py index 0069ef3..01c9e8f 100644 --- a/passlib/apache.py +++ b/passlib/apache.py @@ -56,6 +56,8 @@ class _CommonFile(object): self._entry_order = [] self._entry_map = {} + #TODO: load_string ? + def load(self, force=True): """load entries from file @@ -94,25 +96,25 @@ class _CommonFile(object): #subclass: _parse_line(line) -> (key, hash) - def save(self): - "save entries to file" - if not self.path: - raise RuntimeError("no save path specified") + def _iter_lines(self): + "iterator yielding lines of database" rl = self._render_line entry_order = self._entry_order entry_map = self._entry_map assert len(entry_order) == len(entry_map), "internal error in entry list" + return (rl(key, entry_map[key]) for key in entry_order) + + def save(self): + "save entries to file" + if not self.path: + raise RuntimeError("no save path specified") with open(self.path, "wb") as fh: - fh.writelines(rl(key, entry_map[key]) for key in entry_order) + fh.writelines(self._iter_lines()) self.mtime = os.path.getmtime(self.path) def to_string(self): "export whole database as a byte string" - rl = self._render_line - entry_order = self._entry_order - entry_map = self._entry_map - assert len(entry_order) == len(entry_map), "internal error in entry list" - return bjoin(rl(key, entry_map[key]) for key in entry_order) + return bjoin(self._iter_lines()) #subclass: _render_line(entry) -> line |