I agree about raising an error if both are provided. There doesn't seem to be an issue with reading the file earlier. It won't bother any in-tree users anyhow.
On Wed, Sep 12, 2012 at 08:41:55AM -0700, Reid Price wrote: > Contextless phone review here also. > > Perhaps raise a value error if location and schema are both provided? > > Isaku/Ben, are there any side effects of keeping this data in memory before > it is used, and removing entirely it after the 'schema =' line? Before it > loaded it on demand. Isn't necessarily a problem, but definitely different > behavior. > > > On Sep 11, 2555 BE, at 23:17, Isaku Yamahata <yamah...@valinux.co.jp> wrote: > > > This is needed when using schema that was retrieved from ovsdb by get_schema > > method. > > > > Signed-off-by: Isaku Yamahata <yamah...@valinux.co.jp> > > --- > > python/ovs/db/idl.py | 14 ++++++++------ > > 1 files changed, 8 insertions(+), 6 deletions(-) > > > > diff --git a/python/ovs/db/idl.py b/python/ovs/db/idl.py > > index c2278ba..7fed0cf 100644 > > --- a/python/ovs/db/idl.py > > +++ b/python/ovs/db/idl.py > > @@ -1198,13 +1198,15 @@ class SchemaHelper(object): > > The location on disk of the schema used may be found in the > > 'schema_location' variable.""" > > > > - def __init__(self, location=None): > > + def __init__(self, location=None, schema_json=None): > > """Creates a new Schema object.""" > > > > - if location is None: > > - location = "%s/vswitch.ovsschema" % ovs.dirs.PKGDATADIR > > + if schema_json is None: > > + if location is None: > > + location = "%s/vswitch.ovsschema" % ovs.dirs.PKGDATADIR > > + schema_json = ovs.json.from_file(location) > > > > - self.schema_location = location > > + self.schema_json = schema_json > > self._tables = {} > > self._all = False > > > > @@ -1237,8 +1239,8 @@ class SchemaHelper(object): > > object based on columns registered using the register_columns() > > function.""" > > > > - schema = ovs.db.schema.DbSchema.from_json( > > - ovs.json.from_file(self.schema_location)) > > + schema = ovs.db.schema.DbSchema.from_json(self.schema_json) > > + self.schema_json = None > > > > if not self._all: > > schema_tables = {} > > -- > > 1.7.1.1 > > > > _______________________________________________ > > dev mailing list > > dev@openvswitch.org > > http://openvswitch.org/mailman/listinfo/dev > _______________________________________________ > dev mailing list > dev@openvswitch.org > http://openvswitch.org/mailman/listinfo/dev _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev