from types import StringTypes import time import re import datetime from PLC.Faults import * from PLC.Parameter import Parameter, Mixed from PLC.Filter import Filter from PLC.Debug import profile from PLC.Timestamp import Timestamp from PLC.Storage.AlchemyObject import AlchemyObj class PCUNodePort(AlchemyObj): """ Representation of a row in the pcu_node_ports table. To use, optionally instantiate with a dict of values. Update as you would a dict. Commit to the database with sync().To use, instantiate with a dict of values. """ tablename = 'pcu_node_port' fields = { 'pcu_id': Parameter(int, "PCU identifier", primary_key=True), 'node_id': Parameter(int, "Node identifier", primary_key=True), 'port': Parameter(int, "port", indexed=True), } tags = {} def sync(self, commit = True, validate=True): """ Add the record """ AlchemyObj.sync(self, commit, validate) AlchemyObj.insert(self, dict(self)) def delete(self, commit = True): """ Delete existing slice. """ AlchemyObj.delete(self, dict(self)) class PCUNodePorts(list): """ Representation of row(s) from the pcu_node_port table in the database. """ def __init__(self, api, filter = None, columns = None): # the view that we're selecting upon: start with view_slices if not filter: pcu_node_ports = PCUNodePort().select() elif isinstance(filter, dict): pcu_node_ports = PCUNodePort().select(filter=filter) else: raise PLCInvalidArgument, "Wrong pcu_node_port filter %r"%filter for pcu_node_port in pcu_node_ports: self.append(PCUNodePort(api, object=pcu_node_port))