diff options
author | Elrond <elrond+mediagoblin.org@samba-tng.org> | 2012-03-29 22:52:39 +0200 |
---|---|---|
committer | Elrond <elrond+mediagoblin.org@samba-tng.org> | 2012-03-29 23:23:57 +0200 |
commit | dda67f715224b5bc49814632edfebc609bf99534 (patch) | |
tree | 752fbb65e0ebdc87c787869c8f6806acc59368e2 /mediagoblin/db/sql/models_v0.py | |
parent | 19535af4e57b479642cbe6e08eb8e9590a996bf4 (diff) | |
download | mediagoblin-dda67f715224b5bc49814632edfebc609bf99534.tar.lz mediagoblin-dda67f715224b5bc49814632edfebc609bf99534.tar.xz mediagoblin-dda67f715224b5bc49814632edfebc609bf99534.zip |
Remove the DictReadProxy thing.
And some other stuff, that the converter does not need.
Diffstat (limited to 'mediagoblin/db/sql/models_v0.py')
-rw-r--r-- | mediagoblin/db/sql/models_v0.py | 51 |
1 files changed, 4 insertions, 47 deletions
diff --git a/mediagoblin/db/sql/models_v0.py b/mediagoblin/db/sql/models_v0.py index 475d3f08..6dd23187 100644 --- a/mediagoblin/db/sql/models_v0.py +++ b/mediagoblin/db/sql/models_v0.py @@ -33,27 +33,14 @@ from sqlalchemy.ext.associationproxy import association_proxy from sqlalchemy.util import memoized_property from mediagoblin.db.sql.extratypes import PathTupleWithSlashes, JSONEncoded -from mediagoblin.db.sql.base import GMGTableBase, DictReadAttrProxy -from mediagoblin.db.mixin import UserMixin, MediaEntryMixin, MediaCommentMixin +from mediagoblin.db.sql.base import GMGTableBase from mediagoblin.db.sql.base import Session Base_v0 = declarative_base(cls=GMGTableBase) -class SimpleFieldAlias(object): - """An alias for any field""" - def __init__(self, fieldname): - self.fieldname = fieldname - - def __get__(self, instance, cls): - return getattr(instance, self.fieldname) - - def __set__(self, instance, val): - setattr(instance, self.fieldname, val) - - -class User(Base_v0, UserMixin): +class User(Base_v0): """ TODO: We should consider moving some rarely used fields into some sort of "shadow" table. @@ -77,10 +64,8 @@ class User(Base_v0, UserMixin): ## TODO # plugin data would be in a separate model - _id = SimpleFieldAlias("id") - -class MediaEntry(Base_v0, MediaEntryMixin): +class MediaEntry(Base_v0): """ TODO: Consider fetching the media_files using join """ @@ -115,31 +100,15 @@ class MediaEntry(Base_v0, MediaEntryMixin): collection_class=attribute_mapped_collection("name"), cascade="all, delete-orphan" ) - media_files = association_proxy('media_files_helper', 'file_path', - creator=lambda k, v: MediaFile(name=k, file_path=v) - ) attachment_files_helper = relationship("MediaAttachmentFile", cascade="all, delete-orphan", order_by="MediaAttachmentFile.created" ) - attachment_files = association_proxy("attachment_files_helper", "dict_view", - creator=lambda v: MediaAttachmentFile( - name=v["name"], filepath=v["filepath"]) - ) tags_helper = relationship("MediaTag", cascade="all, delete-orphan" ) - tags = association_proxy("tags_helper", "dict_view", - creator=lambda v: MediaTag(name=v["name"], slug=v["slug"]) - ) - - ## TODO - # media_data - # fail_error - - _id = SimpleFieldAlias("id") def get_comments(self, ascending=False): order_col = MediaComment.created @@ -261,11 +230,6 @@ class MediaAttachmentFile(Base_v0): filepath = Column(PathTupleWithSlashes) created = Column(DateTime, nullable=False, default=datetime.datetime.now) - @property - def dict_view(self): - """A dict like view on this object""" - return DictReadAttrProxy(self) - class Tag(Base_v0): __tablename__ = "core__tags" @@ -311,13 +275,8 @@ class MediaTag(Base_v0): if slug is not None: self.tag_helper = Tag.find_or_new(slug) - @property - def dict_view(self): - """A dict like view on this object""" - return DictReadAttrProxy(self) - -class MediaComment(Base_v0, MediaCommentMixin): +class MediaComment(Base_v0): __tablename__ = "core__media_comments" id = Column(Integer, primary_key=True) @@ -329,8 +288,6 @@ class MediaComment(Base_v0, MediaCommentMixin): get_author = relationship(User) - _id = SimpleFieldAlias("id") - class ImageData(Base_v0): __tablename__ = "image__mediadata" |