X-Git-Url: http://git.veekun.com/zzz-floof.git/blobdiff_plain/6371c50c3b414c0bb06a6144cd31803a1363a602..40a5c182712d31d44aeacddd16a457f5ab707de7:/floof/model/search.py?ds=inline diff --git a/floof/model/search.py b/floof/model/search.py index a413eb6..fb86f35 100644 --- a/floof/model/search.py +++ b/floof/model/search.py @@ -1,18 +1,20 @@ from elixir import * # from users import User -from floof.lib.search import do_search class SavedSearch(Entity): string = Field(Unicode) # I tried calling this query, but it broke elixir author = ManyToOne('User') fork = ManyToOne("SavedSearch") - + def __unicode__(self): return self.string - + @property def results(self): + # This caused some cyclic dependencies when I tried importing it + # at the module level. I wonder why that is... + from floof.lib.search import do_search return do_search(self.string) @@ -24,19 +26,18 @@ class GalleryWidget(Entity): # NOTE: no longer needed now that we have pages, I guess. # displayer = ManyToOne('User') # determines whose page should it should show up on # # Could be no-ones, if it's just a template. - + # Needs some fields for position on your page @property def string(self): return self.search - + @string.setter def string(self, value): # TODO: should we delete the possibly orphaned saved search? # if not self.displayer: # # TODO: may have to refactor this into an init if the key ordering is inconvenienc # raise "Oh no! This gallery needs a displayer to set on the saved search." - + self.search = SavedSearch(author=getattr(self,"author",None), string=value) - \ No newline at end of file