[ovs-dev] [PATCH 3/5] python/ovs/db/idl: make SchemaHelper accept schema in json form
Reid Price
reid at nicira.com
Wed Sep 12 15:41:55 UTC 2012
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 <yamahata at valinux.co.jp> wrote:
> This is needed when using schema that was retrieved from ovsdb by get_schema
> method.
>
> Signed-off-by: Isaku Yamahata <yamahata at 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 at openvswitch.org
> http://openvswitch.org/mailman/listinfo/dev
More information about the dev
mailing list