X-Git-Url: https://git.mdrn.pl/librarian.git/blobdiff_plain/121ab507bfffe249087df81a6dcdc368d9cb11f5..2991698067a246ea9b99b4e668d261af6d418eca:/src/librarian/meta/types/wluri.py diff --git a/src/librarian/meta/types/wluri.py b/src/librarian/meta/types/wluri.py index c31d391..92c6017 100644 --- a/src/librarian/meta/types/wluri.py +++ b/src/librarian/meta/types/wluri.py @@ -1,10 +1,9 @@ +import re from .base import MetaValue class WLURI(MetaValue): """Represents a WL URI. Extracts slug from it.""" - slug = None - example = 'http://wolnelektury.pl/katalog/lektura/template/' _re_wl_uri = re.compile( r'http://(www\.)?wolnelektury.pl/katalog/lektur[ay]/' @@ -22,8 +21,7 @@ class WLURI(MetaValue): uri = 'http://wolnelektury.pl/katalog/lektura/%s/' % slug self.uri = uri return super().__init__(slug) - - + @classmethod def from_text(cls, uri): slug = uri.rstrip('/').rsplit('/', 1)[-1] @@ -34,10 +32,13 @@ class WLURI(MetaValue): if not match: raise ValidationError('Invalid URI (%s). Should match: %s' % ( self.uri, self._re_wl_uri.pattern)) - return cls(uri) def __str__(self): return self.uri def __eq__(self, other): - return self.slug == other.slug + return self.value == other.value + + @property + def slug(self): + return self.value