You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
33 lines
937 B
Python
33 lines
937 B
Python
import oursql, csv
|
|
|
|
# input.csv must be in the format username,vpsid,targetnode
|
|
|
|
db = oursql.connect(host="localhost", user="root", passwd="", db="transfer")
|
|
reader = csv.reader(open("sorted.csv", "r"))
|
|
|
|
nodes = []
|
|
c = db.cursor()
|
|
|
|
for entry in reader:
|
|
username, vps_id, target_node = entry
|
|
c.execute("INSERT INTO entries (`VpsId`, `Username`, `TargetNode`, `Finished`) VALUES (?, ?, ?, 0)", (vps_id, username, target_node))
|
|
print "Adding VPS %s to queue (target node %s)" % (vps_id, target_node)
|
|
|
|
if target_node not in nodes:
|
|
nodes.append(target_node)
|
|
|
|
db.commit()
|
|
|
|
for node in nodes:
|
|
c.execute("INSERT INTO servers (`Host`, `Busy`, `Current`) VALUES (?, 0, 0)", (node,))
|
|
|
|
c.execute("SELECT Id FROM entries WHERE `TargetNode` = ?", (node,))
|
|
node_entries = c.fetchall()
|
|
counter = 1
|
|
|
|
for entry in node_entries:
|
|
c.execute("UPDATE entries SET `Position` = ? WHERE `Id` = ?", (counter, entry[0]))
|
|
counter += 1
|
|
|
|
db.commit()
|