def from_value(value): # value can be: # a Byline # a BylineSearch # None # an existing BylineLookup if not value: return BylineLookup(byline_search=BylineSearch('')) elif isinstance(value, BylineLookup): return value # BylineLookups are treated as immutable, so it's safe to return the initial instance elif isinstance(value, BylineSearch): return BylineLookup( byline_search=value, author_nick_selections=value.author_nick_selections, affiliation_nick_selections=value.affiliation_nick_selections) elif isinstance( value, Byline ): # TODO: can we eliminate Byline here in favour of BylineSearch? byline_search = BylineSearch.from_byline(value) return BylineLookup( byline_search=byline_search, author_nick_selections=byline_search.author_nick_selections, affiliation_nick_selections=byline_search. affiliation_nick_selections) else: raise ValidationError( "Don't know how to handle %s as a byline lookup" % repr(value))
def from_value(value): # value can be: # a Byline # a BylineSearch # None # an existing BylineLookup if not value: return BylineLookup(byline_search=BylineSearch("")) elif isinstance(value, BylineLookup): return value # BylineLookups are treated as immutable, so it's safe to return the initial instance elif isinstance(value, BylineSearch): return BylineLookup( byline_search=value, author_nick_selections=value.author_nick_selections, affiliation_nick_selections=value.affiliation_nick_selections, ) elif isinstance(value, Byline): # TODO: can we eliminate Byline here in favour of BylineSearch? byline_search = BylineSearch.from_byline(value) return BylineLookup( byline_search=byline_search, author_nick_selections=byline_search.author_nick_selections, affiliation_nick_selections=byline_search.affiliation_nick_selections, ) else: raise Exception("Don't know how to handle %s as a byline lookup" % repr(value))
def byline_search(self): from demoscene.utils.nick_search import BylineSearch if self.unparsed_byline: return BylineSearch(self.unparsed_byline) else: return BylineSearch.from_byline(self.byline())
def byline_search(self): from demoscene.utils.nick_search import BylineSearch if self.unparsed_byline: return BylineSearch(self.unparsed_byline) else: return BylineSearch.from_byline(self.byline())