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()
Exemple #2
0
    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()