tcis.class_instance_id = cis.id AND tcit.treenode_id = tcis.treenode_id '''.format(direction=direction) c.execute(query) rows = c.fetchall() for terminal_id, skeleton_id in rows: new_values = {'u': user_id, 'p': project_id, 'r': part_of_id, 'ca': terminal_id, 'cb': skeleton_id} # Check whether that link is already present: c.execute('''SELECT id FROM class_instance_class_instance WHERE class_instance_a = %(ca)s AND class_instance_b = %(cb)s AND project_id = %(p)s AND relation_id = %(r)s''', new_values) if len(c.fetchall()) < 1: c.execute('''INSERT INTO class_instance_class_instance (user_id, project_id, relation_id, class_instance_a, class_instance_b) VALUES (%(u)s, %(p)s, %(r)s, %(ca)s, %(cb)s)''', new_values) else: print >> sys.stderr, "The part_of relation between terminal {0} and skeleton {1} already exists".format(terminal_id, skeleton_id) db_connection.commit() c.close() db_connection.close()
sys.exit(1) project_id = int(sys.argv[1]) user_id = int(sys.argv[2]) c = db_connection.cursor() for class_name in ('driver_line', 'cell_body_location'): c.execute("SELECT * FROM class WHERE project_id = %s AND class_name = %s", (project_id, class_name)) if c.fetchall(): print("The class '%s' has already been inserted" % (class_name,), file=sys.stderr) else: c.execute("INSERT INTO class (user_id, project_id, class_name) "+ "VALUES (%s, %s, %s)", (user_id, project_id, class_name)) for relation_name in ('expresses_in', 'has_cell_body'): c.execute("SELECT * FROM relation WHERE project_id = %s AND relation_name = %s", (project_id, relation_name)) if c.fetchall(): print("The relation '%s' has already been inserted" % (relation_name,), file=sys.stderr) else: c.execute("INSERT INTO relation (user_id, project_id, relation_name) "+ "VALUES (%s, %s, %s)", (user_id, project_id, relation_name)) db_connection.commit() c.close() db_connection.close()