changeset 1:6d152b15f0d2

basic saving and reading
author Radomir Dopieralski <sheep@stxnext.pl>
date Fri, 22 Apr 2011 09:25:47 +0200
parents 1af6b1f1a435
children ab3f1dd999aa
files hgstorage.py test_repo.py
diffstat 2 files changed, 16 insertions(+), 8 deletions(-) [+]
line wrap: on
line diff
--- a/hgstorage.py	Thu Mar 17 23:25:56 2011 +0100
+++ b/hgstorage.py	Fri Apr 22 09:25:47 2011 +0200
@@ -19,14 +19,14 @@
     def __init__(self, path, prefix=None):
         self.path = path
         self.prefix = prefix or ''
-        self.ui = self.get_ui()
+        self.ui = self.ui()
         self._repos = {}
 
     def create(self):
         repo = mercurial.hg.repository(self.ui, self.path, create=True)
 
     @classmethod
-    def get_ui(cls):
+    def ui(cls):
         """Create and initialize an ui object."""
 
         ui = mercurial.ui.ui()
@@ -65,7 +65,7 @@
         key = unicode(urllib.unquote(filename), 'utf8', 'ignore')
         return key
 
-    def get_session(self):
+    def session(self):
         return Session(self)
 
 
@@ -119,7 +119,7 @@
             filectxfn=filectxfn, user=user or "user")
         self.storage.repo.commitctx(ctx)
 
-    def get_filectx(self, key, rev=None):
+    def filectx(self, key, rev=None):
         filename = self.storage._key_to_file(key)
         try:
             filetip = self.tip[filename]
@@ -135,14 +135,14 @@
         return filectx
 
     def load(self, key, rev=None, encoding=None):
-        filectx = self.get_filectx(key, rev)
+        filectx = self.filectx(key, rev)
         data = filectx.data()
         if encoding:
             data = unicode(data, encoding)
         return data
 
     def meta(self, key, rev=None):
-        filectx = self.get_filectx(key, rev)
+        filectx = self.filectx(key, rev)
         if rev is None:
             rev = filectx.filerev()
         date = datetime.datetime.fromtimestamp(filectx.date()[0])
--- a/test_repo.py	Thu Mar 17 23:25:56 2011 +0100
+++ b/test_repo.py	Fri Apr 22 09:25:47 2011 +0200
@@ -39,9 +39,9 @@
     def test_save(self, storage):
         """Test saving of items."""
 
-        s = storage.get_session()
+        s = storage.session()
         s.save('text', 'title', 'user', 'message')
-        s = storage.get_session()
+        s = storage.session()
         exists = 'title' in s
         assert exists
         data = s.load('title')
@@ -50,3 +50,11 @@
         assert 'user' == user
         assert 'message' == message
 
+    def test_double_save(self, storage):
+        s = storage.session()
+        s.save('text1', 'title', 'user1', 'message1', -1, encoding='utf8')
+        s.save('text2', 'title', 'user2', 'message2', 0, encoding='utf8')
+        data = s.load('title')
+        assert 'text2' == data
+        data = s.load('title', 0)
+        assert 'text1' == data