X-Git-Url: https://git.mdrn.pl/redakcja.git/blobdiff_plain/b2d72160e2a68991c66ea6017b871d7f42c0b29d..e3daf6a78b558bb2d776b389ba65a58eea1de2be:/lib/wlrepo/__init__.py diff --git a/lib/wlrepo/__init__.py b/lib/wlrepo/__init__.py index 5c27dc97..210322d0 100644 --- a/lib/wlrepo/__init__.py +++ b/lib/wlrepo/__init__.py @@ -38,12 +38,24 @@ class Cabinet(object): if name: self._name = name self._maindoc = '' + self._user = self._document = None elif doc and user: + self._user = user + self._document = doc self._name = user + ':' + doc self._maindoc = doc else: raise ValueError("You must provide either name or doc and user.") + print "new cab:", self._name, self._user, self._document + + @property + def username(self): + return self._user + + def __str__(self): + return "Cabinet(%s)" % self._name + def documents(self): """Lists all documents and sub-documents in this cabinet.""" pass @@ -57,14 +69,14 @@ class Cabinet(object): as the name for the main document""" pass - def create(self, name): + def create(self, name, initial_data=''): """Create a new sub-document in the cabinet with the given name.""" pass - + + @property def maindoc_name(self): return self._maindoc - @property def library(self): return self._library @@ -73,6 +85,9 @@ class Cabinet(object): def name(self): return self._name + def shelf(self, selector=None): + pass + class Document(object): def __init__(self, cabinet, name): self._cabinet = cabinet @@ -92,7 +107,27 @@ class Document(object): def library(self): return self._cabinet.library + @property + def name(self): + return self._name + + def shelf(self): + return self._cabinet.shelf() + + @property + def size(self): + raise NotImplemented() + @property + def parts(self): + raise NotImplemented() + + +class Shelf(object): + + def __init__(self, lib): + self._library = lib + # # Exception classes # @@ -104,6 +139,8 @@ class LibraryException(Exception): self.cause = cause class CabinetNotFound(LibraryException): + def __init__(self, cabname): + LibraryException.__init__(self, "Cabinet '%s' not found." % cabname) pass