def create_record(self, session, rec=None): p = self.permissionHandlers.get('info:srw/operation/1/create', None) if p: if not session.user: raise PermissionException("Authenticated user required to " "create an object in %s" % self.id) okay = p.hasPermission(session, session.user) if not okay: raise PermissionException("Permission required to create an " "object in %s" % self.id) id = self.generate_id(session) if (rec is None): # Create a placeholder rec = SaxRecord([], "", id) else: rec.id = id rec.recordStore = self.id try: self.store_record(session, rec) except ObjectAlreadyExistsException: # Back out id change if type(id) == long: self.currentId -= 1 raise except: raise return rec
def create_record(self, session, rec=None): p = self.permissionHandlers.get('info:srw/operation/1/create', None) if p: if not session.user: raise PermissionException("Authenticated user required to create an object in %s" % self.id) okay = p.hasPermission(session, session.user) if not okay: raise PermissionException("Permission required to create an object in %s" % self.id) id = self.generate_id(session) if (rec == None): # Create a placeholder rec = SaxRecord([], "", id) else: rec.id = id rec.recordStore = self.id try: self.store_record(session, rec) except ObjectAlreadyExistsException: # Back out id change if type(id) == long: self.currentId -= 1 raise except: raise return rec