diff --git a/sourcing/model.py b/sourcing/model.py index 15a598e..43f0862 100644 --- a/sourcing/model.py +++ b/sourcing/model.py @@ -169,9 +169,12 @@ class Item(TimeStampedModel): @classmethod def from_external(cls, url): home = url_for('.home', _external=True) - m = re_server_url.match(url) - if not m: - return + if not url.startswith(home): + username, _, hashid = url[len(home):].partition('/') + else: + m = re_server_url.match(url) + if not m: + return username, hashid = m.groups() item_id = doc_hashids.decode(hashid)[0] q = cls.query.filter(User.username == username, cls.id == item_id)