All pastes #57671 Raw Edit

Something

public python v1 · immutable
#57671 ·published 2006-05-21 18:10 UTC
rendered paste body
class Post(SQLObject,URIAccess):    class sqlmeta:        defaultOrder = "-created"    tags = RelatedJoin("Tag")    name = StringCol(length=60,alternateID=True)    text = StringCol()    created = DateTimeCol(default=sqlbuilder.func.NOW(),notNone=False)    modified = DateTimeCol(default=sqlbuilder.func.NOW(),notNone=False)    reply_count = IntCol(default = 0)    comments = MultipleJoin("Comment",joinColumn='post_id')    user = ForeignKey("User")    related = RelatedJoin("Post", intermediateTable="related_post", otherColumn="related_id")    def _get_tagNames(self):        return " ".join([tag.name for tag in self.tags])    def _set_tagNames(self,value):        oldTags = self.tags        if value:            newTagNames = value.split(" ")        else:            newTagNames = []        # remove tags that are no longer for the post        for tag in oldTags:            if not tag.name in newTagNames:                self.removeTag(tag)        # remove already existing tags from new tag list        for tag in self.tags:            if tag.name in newTagNames:                newTagNames.remove(tag.name)        # create and/or add new tags        for name in newTagNames:            tags = list(Tag.selectBy( name = name))            if len(tags) == 0:                tag = Tag(name = name)            else:                tag = tags[0]            self.addTag(tag)