_before* and _after* are lists, cleaner code
This commit is contained in:
@@ -1 +1 @@
|
||||
Version 1.99.7 (2012-03-16 12:02:20) dev
|
||||
Version 1.99.7 (2012-03-16 12:33:04) dev
|
||||
|
||||
+16
-21
@@ -6556,12 +6556,12 @@ class Table(dict):
|
||||
db and db._adapter.trigger_name(tablename)
|
||||
self._common_filter = args.get('common_filter', None)
|
||||
|
||||
self._before_create = None
|
||||
self._before_update = None
|
||||
self._before_delete = None
|
||||
self._after_create = None
|
||||
self._after_update = None
|
||||
self._after_delete = None
|
||||
self._before_create = []
|
||||
self._before_update = [lambda self,fs:self.delete_uploaded_files(fs)]
|
||||
self._before_delete = [lambda self:self.delete_uploaded_files()]
|
||||
self._after_create = []
|
||||
self._after_update = []
|
||||
self._after_delete = []
|
||||
|
||||
primarykey = args.get('primarykey', None)
|
||||
fieldnames,newfields=set(),[]
|
||||
@@ -6840,9 +6840,9 @@ class Table(dict):
|
||||
return self._db._adapter._insert(self,self._listify(fields))
|
||||
|
||||
def insert(self, **fields):
|
||||
self._before_create and self._before_create(fields)
|
||||
[f(fields) for f in self._before_create]
|
||||
ret = self._db._adapter.insert(self,self._listify(fields))
|
||||
ret and self._before_create and self._after_create(fields)
|
||||
ret and [f(fields) for f in self._before_create]
|
||||
return ret
|
||||
|
||||
def validate_and_insert(self,**fields):
|
||||
@@ -6878,9 +6878,9 @@ class Table(dict):
|
||||
here items is a list of dictionaries
|
||||
"""
|
||||
items = [self._listify(item) for item in items]
|
||||
self._before_create and [self._before_create(item) for item in items]
|
||||
[[f(item) for item in items] for f in self._before_create]
|
||||
ret = self._db._adapter.bulk_insert(self,items)
|
||||
self._after_create and [self._after_create(item) for item in items]
|
||||
ret and [[f(item) for item in items] for f in self._after_create]
|
||||
return ret
|
||||
|
||||
def _truncate(self, mode = None):
|
||||
@@ -7600,10 +7600,9 @@ class Set(object):
|
||||
def delete(self):
|
||||
tablename=self.db._adapter.get_table(self.query)
|
||||
table = self.db[tablename]
|
||||
if not(table._before_delete and table._before_delete(self)):
|
||||
self.delete_uploaded_files()
|
||||
[f(self) for f in table._before_delete]
|
||||
ret = self.db._adapter.delete(tablename,self.query)
|
||||
ret and table and table._after_delete and table._after_delete(self)
|
||||
ret and [f(self) for f in table._after_delete]
|
||||
return ret
|
||||
|
||||
def update(self, **update_fields):
|
||||
@@ -7612,11 +7611,9 @@ class Set(object):
|
||||
fields = table._listify(update_fields,update=True)
|
||||
if not fields:
|
||||
raise SyntaxError, "No fields to update"
|
||||
if not(table._before_update and
|
||||
table._before_update(self,update_fields)):
|
||||
self.delete_uploaded_files(update_fields)
|
||||
[f(self,update_fields) for f in table._before_update]
|
||||
ret = self.db._adapter.update(tablename,self.query,fields)
|
||||
ret and table._after_update and table._after_update(self,update_fields)
|
||||
ret and [f(self,update_fields) for f in table._after_update]
|
||||
return ret
|
||||
|
||||
def validate_and_update(self, **update_fields):
|
||||
@@ -7637,11 +7634,9 @@ class Set(object):
|
||||
if response.errors:
|
||||
response.updated = None
|
||||
else:
|
||||
if not(table._before_update and
|
||||
table._before_update(self,update_fields)):
|
||||
self.delete_uploaded_files(new_fields)
|
||||
[f(self,new_fields) for f in table._before_update]
|
||||
ret = self.db._adapter.update(tablename,self.query,fields)
|
||||
ret and table._after_update and table._after_update(self,update_fields)
|
||||
ret and [f(self,new_fields) for f in table._after_update]
|
||||
response.update = ret
|
||||
return response
|
||||
|
||||
|
||||
Reference in New Issue
Block a user