X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=PLC%2FNetworkTypes.py;h=eb34e7c9b1d96201c206fca390c05aead51533f9;hb=da06561d0f5240a5409474e16824e4e015f31fac;hp=a3416c802560842dbc3303c0527079fd80b07948;hpb=ed7fa1ebf97ec2f88f18f8fa538e46c6ae9525c4;p=plcapi.git diff --git a/PLC/NetworkTypes.py b/PLC/NetworkTypes.py index a3416c8..eb34e7c 100644 --- a/PLC/NetworkTypes.py +++ b/PLC/NetworkTypes.py @@ -4,8 +4,6 @@ # Mark Huang # Copyright (C) 2006 The Trustees of Princeton University # -# $Id: NetworkTypes.py,v 1.2 2006/10/20 17:47:34 mlhuang Exp $ -# from PLC.Faults import * from PLC.Parameter import Parameter @@ -19,37 +17,35 @@ class NetworkType(Row): table_name = 'network_types' primary_key = 'type' - join_tables = ['nodenetworks'] + join_tables = ['interfaces'] fields = { 'type': Parameter(str, "Network type", max = 20), } def validate_type(self, name): - # Make sure name is not blank + # Make sure name is not blank if not len(name): raise PLCInvalidArgument, "Network type must be specified" - - # Make sure network type does not alredy exist - conflicts = NetworkTypes(self.api, [name]) + + # Make sure network type does not alredy exist + conflicts = NetworkTypes(self.api, [name]) if conflicts: raise PLCInvalidArgument, "Network type name already in use" - return name + return name class NetworkTypes(Table): """ Representation of the network_types table in the database. """ - def __init__(self, api, names = None): + def __init__(self, api, types = None): + Table.__init__(self, api, NetworkType) + sql = "SELECT %s FROM network_types" % \ ", ".join(NetworkType.fields) - - if names: - # Separate the list into integers and strings - sql += " WHERE type IN (%s)" % ", ".join(api.db.quote(names)) - rows = api.db.selectall(sql) + if types: + sql += " WHERE type IN (%s)" % ", ".join( [ api.db.quote (t) for t in types ] ) - for row in rows: - self[row['type']] = NetworkType(api, row) + self.selectall(sql)