ignore trailing spaces in dc, add curriculum fields
authorRadek Czajka <radoslaw.czajka@nowoczesnapolska.org.pl>
Mon, 4 Feb 2013 15:00:31 +0000 (16:00 +0100)
committerRadek Czajka <radoslaw.czajka@nowoczesnapolska.org.pl>
Mon, 4 Feb 2013 15:00:31 +0000 (16:00 +0100)
librarian/dcparser.py
librarian/parser.py
setup.py

index 062dc9f..031a731 100644 (file)
@@ -95,6 +95,7 @@ class Field(object):
         self.default = kwargs.get('default', [] if multiple else [None])
 
     def validate_value(self, val, strict=False):
+        val = [v.strip() if v is not None else v for v in val]
         if strict and self.strict is not None:
             validator = self.strict
         else:
@@ -178,6 +179,9 @@ class WorkInfo(object):
         Field( DCNS('date.pd'), 'released_to_public_domain_at', as_date, required=False),
         Field( DCNS('publisher'), 'publisher'),
 
+        Field( DCNS('subject.competence'), 'competences', multiple=True, required=False),
+        Field( DCNS('subject.curriculum'), 'curriculum', multiple=True, required=False),
+
         Field( DCNS('language'), 'language'),
         Field( DCNS('description'), 'description', required=False),
 
index b2ad98a..f02b64c 100644 (file)
@@ -5,7 +5,6 @@
 #
 from librarian import ValidationError, NoDublinCore,  ParseError, NoProvider
 from librarian import RDFNS, IOFile
-from librarian.styles.wolnelektury.cover import WLCover
 from librarian import dcparser
 
 from xml.parsers.expat import ExpatError
@@ -218,6 +217,7 @@ class WLDocument(object):
 
     def as_cover(self, cover_class=None, *args, **kwargs):
         if cover_class is None:
+            from librarian.cover import WLCover
             cover_class = WLCover
         return cover_class(self.book_info, *args, **kwargs).output_file()
 
index 51003ef..a5f105d 100755 (executable)
--- a/setup.py
+++ b/setup.py
@@ -29,8 +29,9 @@ setup(
     maintainer_email='radoslaw.czajka@nowoczesnapolska.org.pl',
     url='http://github.com/fnp/librarian',
     packages=['librarian'],
-    package_data={'librarian': ['xslt/*.xslt', 'epub/*', 'mobi/*', 'pdf/*', 'fb2/*', 'fonts/*', 'res/*'] +
-                                whole_tree(os.path.join(os.path.dirname(__file__), 'librarian'), 'font-optimizer')},
+    package_data={'librarian': ['xslt/*.xslt', 'epub/*', 'mobi/*', 'pdf/*', 'fb2/*', 'fonts/*'] +
+                                whole_tree(os.path.join(os.path.dirname(__file__), 'librarian'), 'font-optimizer') +
+                                whole_tree(os.path.join(os.path.dirname(__file__), 'librarian'), 'res')},
     include_package_data=True,
     install_requires=['lxml>=2.2'],
     scripts=['scripts/book2html',