X-Git-Url: https://git.mdrn.pl/librarian.git/blobdiff_plain/5bc29f19f308610c944d63597962fb3b0f468c54..63cfa40372a9d33c84c0e4b61ed505173c780eae:/librarian/__init__.py diff --git a/librarian/__init__.py b/librarian/__init__.py index 3b811d3..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://wolnelektury.pl/katalog/lektura/template/' - _re_wl_uri = re.compile(r'http://(www\.)?wolnelektury.pl/katalog/lektura/' + 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://wolnelektury.pl/katalog/lektura/%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 @@ -150,7 +153,10 @@ import dcparser DEFAULT_BOOKINFO = dcparser.BookInfo( { RDFNS('about'): u'http://wiki.wolnepodreczniki.pl/Lektury:Template'}, - { DCNS('creator'): [u'Some, Author'], + { + DCNS('creator.expert'): [u'Some, Author'], + DCNS('creator.scenario'): [u'Some, Author'], + DCNS('creator.textbook'): [u'Some, Author'], DCNS('title'): [u'Some Title'], DCNS('subject.period'): [u'Unknown'], DCNS('subject.type'): [u'Unknown'],