X-Git-Url: https://git.mdrn.pl/librarian.git/blobdiff_plain/fe8e5b5e224d32baebbdaa2fecf4a847ed4e5354..26aa2369c47124fb322236e03084324914aa24af:/librarian/__init__.py diff --git a/librarian/__init__.py b/librarian/__init__.py index bf41c7a..23244ef 100644 --- a/librarian/__init__.py +++ b/librarian/__init__.py @@ -79,8 +79,8 @@ class WLURI(object): """Represents a WL URI. Extracts slug from it.""" slug = None - example = 'http://edukacjamedialna.edu.pl/' - _re_wl_uri = re.compile(r'http://(www\.)?edukacjamedialna.edu.pl/' + example = 'http://edukacjamedialna.edu.pl/lekcje/template' + _re_wl_uri = re.compile(r'http://(www\.)?edukacjamedialna.edu.pl/lekcje/' '(?P[-a-z0-9]+)/?$') def __init__(self, uri): @@ -101,10 +101,10 @@ class WLURI(object): """Contructs an URI from slug. >>> WLURI.from_slug('a-slug').uri - u'http://wolnelektury.pl/katalog/lektura/a-slug/' + u'http://edukacjamedialna.edu.pl/lekcje/a-slug/' """ - uri = 'http://prawokultury.pl/publikacje/%s/' % slug + uri = 'http://edukacjamedialna.edu.pl/lekcje/%s/' % slug return cls(uri) def __unicode__(self): @@ -113,6 +113,9 @@ class WLURI(object): def __str__(self): return self.uri + def canonical(self): + return type(self).from_slug(self.slug) + def __eq__(self, other): return self.slug == other.slug @@ -124,11 +127,11 @@ class DocProvider(object): """ def by_slug(self, slug): - """Should return a file-like object with a WL document XML.""" + """Should return an IOFile object with a WL document XML.""" raise NotImplementedError def by_uri(self, uri, wluri=WLURI): - """Should return a file-like object with a WL document XML.""" + """Should return an IOFile object with a WL document XML.""" wluri = wluri(uri) return self.by_slug(wluri.slug) @@ -142,7 +145,7 @@ class DirDocProvider(DocProvider): def by_slug(self, slug): fname = slug + '.xml' - return open(os.path.join(self.dir, fname)) + return IOFile.from_filename(os.path.join(self.dir, fname)) import lxml.etree as etree