From 62113e17419a7007912d37496761a1c68d40631c Mon Sep 17 00:00:00 2001 From: Toby Date: Wed, 28 Mar 2012 18:20:49 +0100 Subject: [PATCH] more model import cleans vocab and core --- ckan/model/core.py | 23 ++++++++++++----------- ckan/model/vocabulary.py | 26 ++++++++++++++------------ 2 files changed, 26 insertions(+), 23 deletions(-) diff --git a/ckan/model/core.py b/ckan/model/core.py index d5af4d3d758..a0ece1ae088 100644 --- a/ckan/model/core.py +++ b/ckan/model/core.py @@ -1,40 +1,41 @@ import datetime -from meta import metadata, mapper + from sqlalchemy import Column, DateTime, Text, Boolean import vdm.sqlalchemy +import meta import domain_object ## VDM-specific tables -revision_table = vdm.sqlalchemy.make_revision_table(metadata) +revision_table = vdm.sqlalchemy.make_revision_table(meta.metadata) revision_table.append_column(Column('approved_timestamp', DateTime)) class System(domain_object.DomainObject): - + name = 'system' - + def __unicode__(self): return u'<%s>' % self.__class__.__name__ - + def purge(self): pass - + @classmethod - def by_name(cls, name): - return System() + def by_name(cls, name): + return System() # VDM-specific domain objects State = vdm.sqlalchemy.State State.all = [ State.ACTIVE, State.DELETED ] -Revision = vdm.sqlalchemy.make_Revision(mapper, revision_table) +Revision = vdm.sqlalchemy.make_Revision(meta.mapper, revision_table) def make_revisioned_table(table): revision_table = vdm.sqlalchemy.make_revisioned_table(table) - revision_table.append_column(Column('expired_id', + revision_table.append_column(Column('expired_id', Text)) revision_table.append_column(Column('revision_timestamp', DateTime)) - revision_table.append_column(Column('expired_timestamp', DateTime, + revision_table.append_column(Column('expired_timestamp', DateTime, default=datetime.datetime(9999, 12, 31))) revision_table.append_column(Column('current', Boolean)) return revision_table diff --git a/ckan/model/vocabulary.py b/ckan/model/vocabulary.py index 98c736933ac..c853fd638e2 100644 --- a/ckan/model/vocabulary.py +++ b/ckan/model/vocabulary.py @@ -1,32 +1,34 @@ -from meta import Table, types, Session -from core import metadata, Column, mapper -from types import make_uuid +## IMPORTS FIXED +import sqlalchemy as sa + +import meta +import types import tag import domain_object VOCABULARY_NAME_MIN_LENGTH = 2 VOCABULARY_NAME_MAX_LENGTH = 100 -vocabulary_table = Table( - 'vocabulary', metadata, - Column('id', types.UnicodeText, primary_key=True, default=make_uuid), - Column('name', types.Unicode(VOCABULARY_NAME_MAX_LENGTH), nullable=False, +vocabulary_table = meta.Table( + 'vocabulary', meta.metadata, + sa.Column('id', sa.types.UnicodeText, primary_key=True, default=types.make_uuid), + sa.Column('name', sa.types.Unicode(VOCABULARY_NAME_MAX_LENGTH), nullable=False, unique=True), ) class Vocabulary(domain_object.DomainObject): def __init__(self, name): - self.id = make_uuid() + self.id = types.make_uuid() self.name = name @classmethod def get(cls, id_or_name): """Return a Vocabulary object referenced by its id or name, or None if there is no vocabulary with the given id or name. - + """ - query = Session.query(Vocabulary).filter(Vocabulary.id==id_or_name) + query = meta.Session.query(Vocabulary).filter(Vocabulary.id==id_or_name) vocab = query.first() if vocab is None: vocab = Vocabulary.by_name(id_or_name) @@ -34,6 +36,6 @@ def get(cls, id_or_name): @property def tags(self): - return Session.query(tag.Tag).filter(tag.Tag.vocabulary_id==self.id) + return meta.Session.query(tag.Tag).filter(tag.Tag.vocabulary_id==self.id) -mapper(Vocabulary, vocabulary_table) +meta.mapper(Vocabulary, vocabulary_table)