-from sqlalchemy import Column, ForeignKey
-from sqlalchemy.orm import relation
-from sqlalchemy.types import Integer, Unicode
+#
+# floof/floof/model/art.py
+#
+# Copyright (c) 2009 Scribblr
+#
-from floof.model import meta
+from elixir import Entity, Field, Integer, Unicode
+from elixir import *
-__all__ = ['Art']
+from pylons import config
-class Art(meta.TableBase):
- __tablename__ = 'art'
- id = Column(Integer, primary_key=True)
- title = Column(Unicode(length=120), nullable=False)
+from floof.lib.file_storage import get_path, save_file
+
+class Art(Entity):
+ title = Field(Unicode(120))
+ original_filename = Field(Unicode(120))
+ hash = Field(String)
+
+ def __init__(self, **kwargs):
+ # I wanted to check for the existence of the file, but...
+ # for some reason this FieldStorage object always conditions as falsey.
+ self.hash = save_file("art", kwargs.pop('file'))
+
+
+ super(Art, self).__init__(**kwargs)
+ # this is what super is doing, pretty much.
+ # for key, value in kwargs.items():
+ # setattr(self, key, value)
+
+
+
+ def get_path(self):
+ if self.hash:
+ return get_path("art", self.hash)