Exemple #1
0
    'dct_bibliographicCitation':       ('textList', 'nsdl_dc:nsdl_dc/dct:bibliographicCitation/text()'),
    'dct_instructionalMethod':       ('textList', 'nsdl_dc:nsdl_dc/dct:instructionalMethod/text()'),
    'dct_provenance':       ('textList', 'nsdl_dc:nsdl_dc/dct:provenance/text()'),
    'dct_accrualMethod':       ('textList', 'nsdl_dc:nsdl_dc/dct:accrualMethod/text()'),
    'dct_accrualPeriodicity':       ('textList', 'nsdl_dc:nsdl_dc/dct:accrualPeriodicity/text()'),
    'dct_accrualPolicy':       ('textList', 'nsdl_dc:nsdl_dc/dct:accrualPolicy/text()'),
    },
    namespaces={
    'nsdl_dc': 'http://ns.nsdl.org/nsdl_dc_v1.02/',
    'dc' : 'http://purl.org/dc/elements/1.1/',
    'dct' : 'http://purl.org/dc/terms/',
    'ieee' : 'http://www.ieee.org/xsd/LOMv1p0'}
    )


global_metadata_registry.registerReader('nsdl_dc', nsdl_dc_reader)    
global_metadata_registry.registerReader('nsdl_dc_1_02', nsdl_dc_reader)    
    
    
class NSDLDublinCore(MetadataFormat):
    
    header = (
            'OAI_IDENTIFIER',
            'DC_TITLE',
            'DCT_ALTERNATIVE',
            'DC_IDENTIFIER',
            'DC_SUBJECT',
            'DCT_EDUCATIONLEVEL',
            'DCT_AUDIENCE',
            'DCT_MEDIATOR',
            'DC_DESCRIPTION',
Exemple #2
0
        data["type"] = metadata_map.get('type',[])
        data["format"] = metadata_map.get('format',[])
        data["identifier"] = metadata_map.get('identifier',[])
        data["source"] = metadata_map.get('source',[])
        data["language"] = metadata_map.get('language',[])
        data["relation"] = metadata_map.get('relation',[])
        data["coverage"] = metadata_map.get('coverage',[])
        data["rights"] = metadata_map.get('rights',[])

        return (
            data["oai_identifier"],
            u"|".join(data["title"]).encode('utf-8'),
            u"|".join(data["creator"]).encode('utf-8'),
            u"|".join(data["subject"]).encode('utf-8'),
            u"|".join(data["description"]).encode('utf-8'),
            u"|".join(data["publisher"]).encode('utf-8'),
            u"|".join(data["contributor"]).encode('utf-8'),
            u"|".join(data["date"]).encode('utf-8'),
            u"|".join(data["type"]).encode('utf-8'),
            u"|".join(data["format"]).encode('utf-8'),
            u"|".join(data["identifier"]).encode('utf-8'),
            u"|".join(data["source"]).encode('utf-8'),
            u"|".join(data["language"]).encode('utf-8'),
            u"|".join(data["relation"]).encode('utf-8'),
            u"|".join(data["coverage"]).encode('utf-8'),
            u"|".join(data["rights"]).encode('utf-8')
        )


global_metadata_registry.registerReader('oai_dc', oai_dc_reader)    
Exemple #3
0
ims1_2_1_reader = MetadataReader(
    fields={
        "general": ("IMS:General", "ims1_2_1:lom/ims1_2_1:general"),
        "lifeCycle": ("IMS:LifeCycle", "ims1_2_1:lom/ims1_2_1:lifecycle"),
        "metaMetadata": ("IMS:MetaMetadata", "ims1_2_1:lom/ims1_2_1:metaMetadata"),
        "technical": ("IMS:Technical", "ims1_2_1:lom/ims1_2_1:technical"),
        "educational": ("IMS:EducationalList", "ims1_2_1:lom/ims1_2_1:educational"),
        "rights": ("IMS:Rights", "ims1_2_1:lom/ims1_2_1:rights"),
        "relation": ("IMS:RelationList", "ims1_2_1:lom/ims1_2_1:relation"),
        "annotation": ("IMS:AnnotationList", "ims1_2_1:lom/ims1_2_1:annotation"),
        "classification": ("IMS:ClassificationList", "ims1_2_1:lom/ims1_2_1:classification"),
    },
    namespaces={"ims1_2_1": "http://www.imsglobal.org/xsd/imsmd_v1p2"},
)

global_metadata_registry.registerReader("ims1_2_1", ims1_2_1_reader)


def extractLangString(lang_string):
    if not lang_string:
        return ""
    if "en" in lang_string:
        value = lang_string["en"]
    else:
        value = lang_string.values()[0]
    if value is None:
        return ""
    return value


def extractCreateDate(lifeCycle):
Exemple #4
0
        'lifeCycle': ('LOM:LifeCycle', 'lom:lom/lom:lifeCycle'),
        'metaMetadata': ('LOM:MetaMetadata', 'lom:lom/lom:metaMetadata'),
        'technical': ('LOM:Technical', 'lom:lom/lom:technical'),
        'educational': ('LOM:EducationalList', 'lom:lom/lom:educational'),
        'rights': ('LOM:Rights', 'lom:lom/lom:rights'),
        'relation': ('LOM:RelationList', 'lom:lom/lom:relation'),
        'annotation': ('LOM:AnnotationList', 'lom:lom/lom:annotation'),
        'classification': ('LOM:ClassificationList', 'lom:lom/lom:classification'),

    },
    namespaces={
        'lom': 'http://ltsc.ieee.org/xsd/LOM',
    }
)

global_metadata_registry.registerReader('oai_lom', oai_lom_reader)
global_metadata_registry.registerReader('LREv3.0', oai_lom_reader)
global_metadata_registry.registerReader('oai_lre3', oai_lom_reader)
global_metadata_registry.registerReader('oai_oer2', oai_lom_reader)


def extractLangString(lang_string):
    if not lang_string:
        return ''
    if 'en' in lang_string:
        value = lang_string['en']
    else:
        value = lang_string.values()[0]
    if value is None:
        return ''
    return value