diff --git a/wcs_olap/feeder.py b/wcs_olap/feeder.py index 650b42d..ac6b4d2 100644 --- a/wcs_olap/feeder.py +++ b/wcs_olap/feeder.py @@ -300,17 +300,21 @@ class WcsOlapFeeder(object): def do_base_table(self): # channels - self.create_labeled_table('{channel_table}', [[c[0], c[2]] for c in self.channels]) + self.create_labeled_table('{channel_table}', [[c[0], c[2]] for c in self.channels], + comment=u'canal') # roles roles = dict((i, role.name) for i, role in enumerate(self.roles)) - self.create_labeled_table('{role_table}', roles.items()) + self.create_labeled_table('{role_table}', roles.items(), comment=u'role') self.role_mapping = dict((role.id, i) for i, role in enumerate(self.roles)) # categories - self.create_labeled_table('{category_table}', enumerate(c.name for c in self.categories)) + self.create_labeled_table('{category_table}', enumerate(c.name for c in self.categories), + comment=u'catégorie') self.categories_mapping = dict((c.id, i) for i, c in enumerate(self.categories)) + self.create_labeled_table('{hour_table}', zip(range(0, 24), map(str, range(0, 24))), + comment=u'heures') # years self.create_labeled_table('{year_table}', zip(range(2000, 2030), map(str, range(2000, 2030)))) @@ -328,12 +332,12 @@ class WcsOlapFeeder(object): u'jeudi', u'vendredi', u'samedi', u'dimanche'])) - self.create_labeled_table('{hour_table}', zip(range(0, 24), map(str, range(0, 24)))) - - self.create_labeled_table('{generic_status_table}', self.status) + self.create_labeled_table('{generic_status_table}', self.status, + comment=u'statuts simplifiés') self.ex('CREATE TABLE {form_table} (id serial PRIMARY KEY,' ' category_id integer REFERENCES {category_table} (id),' ' label varchar)') + self.ex('COMMENT ON TABLE {form_table} IS %s', vars=(u'types de formulaire',)) self.columns = [ ['id', 'serial primary key'], ['formdef_id', 'smallint REFERENCES {form_table} (id)'], @@ -356,6 +360,7 @@ class WcsOlapFeeder(object): self.create_table('{generic_formdata_table}', self.columns) for at, comment in self.comments.iteritems(): self.ex('COMMENT ON COLUMN {generic_formdata_table}.%s IS %%s' % at, vars=(comment,)) + self.ex('COMMENT ON TABLE {generic_formdata_table} IS %s', vars=(u'tous les formulaires',)) def feed(self): if self.do_feed: @@ -400,7 +405,9 @@ class WcsFormdefFeeder(object): def do_statuses(self): statuses = self.formdef.schema.workflow.statuses self.olap_feeder.create_labeled_table(self.status_table_name, - enumerate([s.name for s in statuses])) + enumerate([s.name for s in statuses]), + comment=u'statuts du formulaire « %s »' % + self.formdef.schema.name) self.status_mapping = dict((s.id, i) for i, s in enumerate(statuses)) def do_data_table(self): @@ -420,8 +427,8 @@ class WcsFormdefFeeder(object): if not field.varname: continue self.fields.append(field) - comment = (u'dim$%s$Valeur du champ « %s » du formulaire %s' - % (field.label, field.label, self.formdef.schema.name)) + comment = (u'valeurs du champ « %s » du formulaire %s' + % (field.label, self.formdef.schema.name)) table_name = self.hash_table_name('{formdata_table}_field_%s' % field.varname) # create table and mapping if field.items: @@ -439,24 +446,24 @@ class WcsFormdefFeeder(object): at = 'field_%s' % field.varname columns.append([at, 'smallint REFERENCES %s (id)' % table_name]) - comments[at] = u'dim$' + field.label + comments[at] = field.label # add geolocation fields for geolocation, label in self.formdef.schema.geolocations: at = 'geolocation_%s' % geolocation columns.append([at, 'point']) - comments[at] = u'dim$' + label + comments[at] = label # add function fields for function, name in self.formdef.schema.workflow.functions.iteritems(): at = 'function_%s' % slugify(function) columns.append([at, 'smallint REFERENCES {role_table} (id)']) - comments[at] = u'dim$Fonction « %s »' % name + comments[at] = u'fonction « %s »' % name self.columns = ([name for name, _type in self.olap_feeder.columns] + [name for name, _type in columns]) self.create_table('{formdata_table}', columns, inherits='{generic_formdata_table}', - comment=u'cube$%s' % self.formdef.schema.name) + comment=u'formulaire %s' % self.formdef.schema.name) for at, comment in comments.iteritems(): self.ex('COMMENT ON COLUMN {formdata_table}.%s IS %%s' % at, vars=(comment,)) # PostgreSQL does not propagate foreign key constraints to child tables