X-Git-Url: https://git.mdrn.pl/librarian.git/blobdiff_plain/c072a663ad2d9d8871bb76a7e27b3580b7d92222..eb6b8e8e497922011e8a89f1e1869d68ef8f7066:/src/librarian/meta/types/wluri.py diff --git a/src/librarian/meta/types/wluri.py b/src/librarian/meta/types/wluri.py index 45bf23c..92c6017 100644 --- a/src/librarian/meta/types/wluri.py +++ b/src/librarian/meta/types/wluri.py @@ -4,8 +4,6 @@ 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]/' @@ -23,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] @@ -35,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