Add the perform_db_update helper function
Change-Id: I3e2e2ea21c053aa26efea673b077b3b9fe556edb
diff --git a/util.py b/util.py
index bd8d4bf..05f12c2 100644
--- a/util.py
+++ b/util.py
@@ -86,6 +86,42 @@
else:
raise InputError("Unknown query command \"%s\"" % command)
+ except InputError:
+ raise
+
+ except:
+ raise InputError("Invalid input in query")
+
+ return ret
+
+ # Helper wrapper for API functions modifying database state
+ def perform_db_update(self, state, command, data):
+ print 'perform_db_update'
+ print command
+ print data
+ ret = {}
+ db = state.db
+ try:
+ if command == 'db.create_switch':
+ ret = db.create_switch(data['name'])
+ elif command == 'db.create_port':
+ ret = db.create_port(data['switch_id'], data['name'],
+ state.config.default_vlan_id,
+ state.config.default_vlan_id)
+ elif command == 'db.delete_switch':
+ ret = db.delete_switch(data['switch_id'])
+ elif command == 'db.delete_port':
+ ret = db.delete_port(data['port_id'])
+ elif command == 'db.set_port_is_locked':
+ ret = db.set_port_is_locked(data['port_id'], data['is_locked'])
+ elif command == 'db.set_base_vlan':
+ ret = db.set_base_vlan(data['port_id'], data['base_vlan_id'])
+ else:
+ raise InputError("Unknown query command \"%s\"" % command)
+
+ except InputError:
+ raise
+
except:
raise InputError("Invalid input in query")