rename resource to pithos+.diskspace
[pithos] / snf-pithos-backend / pithos / backends / modular.py
index 7b48c8a..8956ecc 100644 (file)
@@ -109,14 +109,25 @@ def backend_method(func=None, autocommit=1):
 
     def fn(self, *args, **kw):
         self.wrapper.execute()
+        serials = []
+        self.serials = serials
+        self.messages = []
         try:
-            self.messages = []
             ret = func(self, *args, **kw)
             for m in self.messages:
                 self.queue.send(*m)
+            if serials:
+                self.quotaholder.accept_commission(
+                            context     =   {},
+                            clientkey   =   'pithos',
+                            serials     =   serials)
             self.wrapper.commit()
             return ret
         except:
+            self.quotaholder.reject_commission(
+                        context     =   {},
+                        clientkey   =   'pithos',
+                        serials     =   serials)
             self.wrapper.rollback()
             raise
     return fn
@@ -189,6 +200,7 @@ class ModularBackend(BaseBackend):
         self.quotaholder_url = quotaholder_url
         self.quotaholder = QuotaholderHTTP(quotaholder_url)
         self.serials = []
+        self.messages = []
 
     def close(self):
         self.wrapper.close()
@@ -1244,7 +1256,8 @@ class ModularBackend(BaseBackend):
                 key         =   '1',
                 clientkey   =   'pithos',
                 ownerkey    =   '',
-                provisions  =   ()
+               name        =   details['path'] if 'path' in details else '',
+                provisions  =   (('pithos+', 'pithos+.diskspace', size),)
         )
         self.serials.append(serial)