def insert_relation(self, src_group, src_name, tgt_group, tgt_name, field, value=''): filters.check_group(src_group) filters.check_identifier(src_name, 64) filters.check_group(tgt_group) filters.check_identifier(tgt_name, 64) filters.check_float(value) self.db.insert(self.sitename, (src_group, src_name), (tgt_group, tgt_name), (field, value))
def insert_meta(self, group, name, field, value): filters.check_group(group) filters.check_identifier(name, 64) field = filters.check_name(field, maxlen=64) filters.check_text(value, maxlenbits=16) #id = self.get_object_id(group, name, create=1) self.db.insert(self.sitename, (group, name), ('meta', field), value)
def __init__(self, site, response, method, query, args): self.site = site self.response = response self.method = method self.query = query self.type = None self.name = None self.tgt_type = None self.tgt_name = None self.resource = None for arg in args: val = args[arg] # There must be an elegant way to do this if arg == 'type': self.type = val elif arg == 'name': self.name = val elif arg == 'tgt_type': self.tgt_type = val elif arg == 'tgt_name': self.tgt_name = val elif arg == 'resource': self.resource = val elif arg == 'postdata': self.data = val if self.type and self.name: treexml.insert_node(self.response, self.type, {'id':[self.name]}) if self.tgt_type and self.tgt_name: treexml.insert_node(self.response, 'target_%s' % self.tgt_type, {'id':[self.tgt_name]}) #if self.resource: # treexml.insert_node(self.response, 'resource', {'id':[self.resource]}) if self.name: if not self.type: raise(errors.UnknownError) try: self.name = filters.check_identifier(self.name, 32) except filters.Error: raise(errors.IdError) if self.tgt_name: if not self.tgt_type: raise(errors.UnknownError) try: self.tgt_name = filters.check_identifier(self.tgt_name, 32) except filters.Error: raise(errors.IdError)