aboutsummaryrefslogtreecommitdiffstats
path: root/mediagoblin/db/sql/models_v0.py
diff options
context:
space:
mode:
authorElrond <elrond+mediagoblin.org@samba-tng.org>2012-03-29 22:52:39 +0200
committerElrond <elrond+mediagoblin.org@samba-tng.org>2012-03-29 23:23:57 +0200
commitdda67f715224b5bc49814632edfebc609bf99534 (patch)
tree752fbb65e0ebdc87c787869c8f6806acc59368e2 /mediagoblin/db/sql/models_v0.py
parent19535af4e57b479642cbe6e08eb8e9590a996bf4 (diff)
downloadmediagoblin-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.py51
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"