-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)
+ uploaded_by = ManyToOne('User')
+
+ 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)