from librarian.util import roman_to_int
from librarian import (ValidationError, NoDublinCore, ParseError, DCNS, RDFNS,
from librarian.util import roman_to_int
from librarian import (ValidationError, NoDublinCore, ParseError, DCNS, RDFNS,
from librarian.meta.types.person import Person
from librarian.meta.types.wluri import WLURI
from librarian.meta.types import text
from librarian.meta.types.person import Person
from librarian.meta.types.wluri import WLURI
from librarian.meta.types import text
def __init__(self, uri, attr_name, value_type=text.TextValue,
multiple=False, salias=None, **kwargs):
self.uri = uri
def __init__(self, uri, attr_name, value_type=text.TextValue,
multiple=False, salias=None, **kwargs):
self.uri = uri
return super(DCInfo, mcs).__new__(mcs, classname, bases, class_dict)
return super(DCInfo, mcs).__new__(mcs, classname, bases, class_dict)
FIELDS = (
Field(DCNS('creator'), 'authors', Person, salias='author',
multiple=True),
FIELDS = (
Field(DCNS('creator'), 'authors', Person, salias='author',
multiple=True),
Field(DCNS('contributor.thanks'), 'thanks', required=False),
Field(DCNS('date'), 'created_at'),
Field(DCNS('contributor.thanks'), 'thanks', required=False),
Field(DCNS('date'), 'created_at'),
- Field(DCNS('date.pd'), 'released_to_public_domain_at', DateValue,
+ Field(DCNS('date.pd'), 'released_to_public_domain_at',
required=False),
Field(DCNS('publisher'), 'publisher', multiple=True),
required=False),
Field(DCNS('publisher'), 'publisher', multiple=True),
@classmethod
def from_bytes(cls, xml, *args, **kwargs):
@classmethod
def from_bytes(cls, xml, *args, **kwargs):
@classmethod
def from_file(cls, xmlfile, *args, **kwargs):
@classmethod
def from_file(cls, xmlfile, *args, **kwargs):
Field(DCNS('subject.genre'), 'genres', text.Genre, salias='genre', multiple=True,
required=False),
Field(WLNS('category.legimi'), 'legimi', text.LegimiCategory, required=False),
Field(DCNS('subject.genre'), 'genres', text.Genre, salias='genre', multiple=True,
required=False),
Field(WLNS('category.legimi'), 'legimi', text.LegimiCategory, required=False),
Field(DCNS('subject.location'), 'location', required=False),
Field(DCNS('contributor.translator'), 'translators',
Field(DCNS('subject.location'), 'location', required=False),
Field(DCNS('contributor.translator'), 'translators',