edeposit / edeposit.amqp.aleph

E-Deposit AMQP module for communication with Aleph
MIT License
2 stars 1 forks source link

Poskytnout "normalizacni" funkci pro ISBN #50

Closed jstavel closed 9 years ago

jstavel commented 9 years ago

Stal se pripad jstavel/edeposit#321 kdy amqp isbn validace prosla, ale export do Aleph zahlasi: Only Czech ISBN accepted. ISBN bylo ve tvaru: 978800105473-4

Kdyz jsem je normalizoval do tvaru: 978-80-01-05473-4

Tak exportni skript prosel.

Mohl bys bud:

Diky a pekny den, Jan Stavel

Bystroushaak commented 9 years ago

Ne, tak jinak - vypadá to, že vůbec nezáleží na normalizaci a stejně mi to vyhledá.

jstavel commented 9 years ago

Hm. Validace - kontrola duplicity nic nevratila, online validace take prosla.

jstavel commented 9 years ago

http://edeposit-aplikace.nkp.cz/producents/ostre-nakladatelstvi-c-5-zruseditor/epublications/patobiomechanika-srdecnecevniho-systemu/patobiomechanika.pdf/

Bystroushaak commented 9 years ago

Viděl bys tam taky typ té vrácené chyby? Případně celý backtrace.

jstavel commented 9 years ago

image

jstavel commented 9 years ago

<- AMQP Exception for: http://edeposit-aplikace.nkp.cz/producents/ostre-nakladatelstvi-c-5-zruseditor/epublications/patobiomechanika-srdecnecevniho-systemu/patobiomechanika.pdf AMQPError(headers={'exception_type': "<type 'exceptions.AssertionError'>", 'exception': 'Only czech ISBN is accepted!', 'traceback': 'Traceback (most recent call last):\n File "/usr/lib/python2.7/site-packages/edeposit/amqp/amqpdaemon.py", line 142, in onMessageRe\ ceived\n self.get_sendback(uuid, key)\n File "/usr/lib/python2.7/site-packages/edeposit/amqp/aleph/init.py", line 484, in reactToAMQPMessage\n export.exportEPublication(req.epublication)\n File "/usr/lib/python2.7/site-packages/edeposit/amqp/aleph/expor\ t.py", line 381, in exportEPublication\n post_dict = PostData(epub).get_POST_data()\n File "/usr/lib/python2.7/site-packages/edeposit/amqp/aleph/export.py", line 293, in get_POST_data\n self._check_required_fields()\n File "/usr/lib/python2.7/site-packages/\ edeposit/amqp/aleph/export.py", line 254, in _check_required_fields\n assert isbn_check and hidden_isbn_check, "Only czech ISBN is accepted!"\nAssertionError: Only czech ISBN is accepted!', 'exception_name': 'AssertionError', 'UUID': '{"context_UID": "f7d302a4c2\ a44db085b3ff4cda1b94a8", "session_data": {"msg": "", "isbn": "978800105473-4"}}'}, exception='Only czech ISBN is accepted!', payload='Only czech ISBN is accepted!', exception_name='AssertionError')

Bystroushaak commented 9 years ago

Když já dám request přes Aleph modul, tak mi ho to resolvne v pohodě:

import sys

import edeposit.amqp.aleph as aleph

records = aleph.reactToAMQPMessage(
    aleph.SearchRequest(
        aleph.ISBNQuery("978800105473-4", "cze-dep")
    ),
    ""
)

aleph_record = records.records[0].xml
print aleph_record

vypíše:

<?xml version = "1.0" encoding = "UTF-8"?>
<present>
<record>
<record_header>
<set_entry>000000001</set_entry>
</record_header>
<doc_number>000003044</doc_number>
<metadata>
<oai_marc>
<fixfield id="LDR">-----nam-a22------a-4500</fixfield>
<fixfield id="FMT">BK</fixfield>
<varfield id="BAS" i1=" " i2=" ">
<subfield label="a">01</subfield>
</varfield>
<fixfield id="001">nkc20150003044</fixfield>
<fixfield id="003">CZ-PrNK</fixfield>
<fixfield id="005">20150320100826.0</fixfield>
<fixfield id="007">ta</fixfield>
<fixfield id="008">150312s2014----xr-a---e-p----001-0-cze--</fixfield>
<varfield id="015" i1=" " i2=" ">
<subfield label="a">cnb000003044</subfield>
</varfield>
<varfield id="020" i1=" " i2=" ">
<subfield label="a">978-80-01-05473-4</subfield>
<subfield label="z">978-80-260-9069-4</subfield>
<subfield label="q">(online :</subfield>
<subfield label="q">pdf)</subfield>
</varfield>
<varfield id="040" i1=" " i2=" ">
<subfield label="a">ABA001</subfield>
<subfield label="b">cze</subfield>
</varfield>
<varfield id="072" i1=" " i2="7">
<subfield label="a">912</subfield>
<subfield label="x">Mapy. Atlasy. Glóby</subfield>
<subfield label="2">Konspekt</subfield>
<subfield label="9">7</subfield>
</varfield>
<varfield id="080" i1=" " i2=" ">
<subfield label="a">61</subfield>
<subfield label="2">MRF</subfield>
</varfield>
<varfield id="080" i1=" " i2=" ">
<subfield label="a">(075.8)</subfield>
<subfield label="2">MRF</subfield>
</varfield>
<varfield id="100" i1="1" i2=" ">
<subfield label="a">Horný, Lukáš</subfield>
<subfield label="4">aut</subfield>
</varfield>
<varfield id="245" i1="1" i2="0">
<subfield label="a">Patobiomechanika srdečněcévního systému.</subfield>
<subfield label="n">I. díl /</subfield>
<subfield label="c">Lukáš Horný</subfield>
</varfield>
<varfield id="250" i1=" " i2=" ">
<subfield label="a">Vyd. 1.</subfield>
</varfield>
<varfield id="260" i1=" " i2=" ">
<subfield label="a">V Praze :</subfield>
<subfield label="b">České vysoké učení technické v Praze,</subfield>
<subfield label="c">2014</subfield>
</varfield>
<varfield id="300" i1=" " i2=" ">
<subfield label="a">1 online zdroj (100 s.) :</subfield>
<subfield label="b">barev. il.</subfield>
</varfield>
<varfield id="500" i1=" " i2=" ">
<subfield label="a">Název z obálky</subfield>
</varfield>
<varfield id="504" i1=" " i2=" ">
<subfield label="a">Obsahuje bibliografii a rejstřík</subfield>
</varfield>
<varfield id="521" i1="8" i2=" ">
<subfield label="a">Studijní text k předmětu Fakulty strojní ČVUT</subfield>
</varfield>
<varfield id="650" i1="0" i2="7">
<subfield label="a">lékařství</subfield>
<subfield label="7">ph115195</subfield>
<subfield label="2">czenas</subfield>
</varfield>
<varfield id="650" i1="0" i2="9">
<subfield label="a">medicine</subfield>
<subfield label="2">eczenas</subfield>
</varfield>
<varfield id="655" i1=" " i2="7">
<subfield label="a">učebnice vysokých škol</subfield>
<subfield label="7">fd133772</subfield>
<subfield label="2">czenas</subfield>
</varfield>
<varfield id="655" i1=" " i2="9">
<subfield label="a">textbooks (higher)</subfield>
<subfield label="2">eczenas</subfield>
</varfield>
<varfield id="710" i1="2" i2=" ">
<subfield label="a">České vysoké učení technické v Praze</subfield>
</varfield>
<varfield id="856" i1="4" i2="0">
<subfield label="u">http://edeposit-test.nkp.cz/producents/nakladatelstvi-gama/epublications/patobiomechanika-srdecnecevniho-systemu/patobiomechanika.pdf</subfield>
<subfield label="4">N</subfield>
</varfield>
<varfield id="856" i1="4" i2="2">
<subfield label="u">http://edeposit.nkp.cz/</subfield>
<subfield label="4">N</subfield>
</varfield>
<varfield id="901" i1=" " i2=" ">
<subfield label="a">ISBN 978-80-260-9069-4</subfield>
<subfield label="f">[1. vyd.]</subfield>
<subfield label="o">20150311</subfield>
</varfield>
<varfield id="910" i1=" " i2=" ">
<subfield label="a">ABA001</subfield>
</varfield>
<varfield id="928" i1="1" i2=" ">
<subfield label="a">Author-Publisher (miscellaneous)</subfield>
</varfield>
<varfield id="998" i1=" " i2=" ">
<subfield label="a">http://aleph.nkp.cz/F/?func=direct&amp;doc_number=000003044&amp;local_base=CZE-DEP</subfield>
</varfield>
<varfield id="IST" i1="1" i2=" ">
<subfield label="a">ox20150309</subfield>
<subfield label="b">anna.dlouha</subfield>
</varfield>
<varfield id="IST" i1="1" i2=" ">
<subfield label="a">ii20150311</subfield>
<subfield label="b">anje</subfield>
</varfield>
<varfield id="IST" i1="1" i2=" ">
<subfield label="a">jp20150312</subfield>
<subfield label="b">juri</subfield>
</varfield>
<varfield id="IST" i1="1" i2=" ">
<subfield label="a">jr20150315</subfield>
<subfield label="b">jasv</subfield>
</varfield>
<varfield id="IST" i1="1" i2=" ">
<subfield label="a">vp20150316</subfield>
<subfield label="b">napo</subfield>
</varfield>
<varfield id="IST" i1="1" i2=" ">
<subfield label="a">vn20150316</subfield>
<subfield label="b">napo</subfield>
</varfield>
<varfield id="IST" i1="1" i2=" ">
<subfield label="a">vr20150320</subfield>
<subfield label="b">mase</subfield>
</varfield>
<varfield id="POV" i1=" " i2=" ">
<subfield label="a">002</subfield>
<subfield label="b">002</subfield>
<subfield label="c">[1. vyd.]</subfield>
<subfield label="i">100 s.</subfield>
<subfield label="k">0</subfield>
<subfield label="l">14</subfield>
</varfield>
<varfield id="HLD" i1=" " i2=" ">
<subfield label="l">15/EB 00012</subfield>
<subfield label="n">uložení</subfield>
<subfield label="s">20150310</subfield>
<subfield label="j">e-book</subfield>
<subfield label="z">978-80-260_09032015_00001</subfield>
</varfield>
<varfield id="STZ" i1=" " i2=" ">
<subfield label="a">du20150310</subfield>
<subfield label="b">mazi</subfield>
</varfield>
<varfield id="SKC" i1=" " i2=" ">
<subfield label="a">2015</subfield>
</varfield>
</oai_marc>
</metadata>
</record>
<session-id>HXVMXGSTPR74I7T176XSHIIYLT49Q4TXCD13LATE1GDF8IXXV1</session-id>
</present>
Bystroushaak commented 9 years ago

Aha! Export :)

jstavel commented 9 years ago

to "Only Czech isbn accepted" vraci skript pro export do Alephu.

jstavel commented 9 years ago

Akorat nechapu, jaktoze duplicita nic nenasla.

jstavel commented 9 years ago

viz radek "ISBN je unikatni" - to je prelozeni odpovedi z amqp.search na duplicitu.

Bystroushaak commented 9 years ago

Je to moje chyba, hned jí opravím. Chyba je v tom přepisu javascriptu co tam měl záhořík, který natvrdo hledá na začátku ISBN "978-80" nebo "80".

jstavel commented 9 years ago

Toz diky.