edeposit / edeposit.amqp.aleph

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

GenericQuery nema getXML #57

Closed jstavel closed 8 years ago

jstavel commented 8 years ago
ComponentLookupError: ((<ePeriodical at /edeposit/producents/vydavatelstvi-staza/eperiodicals/cestou-necestou>, AMQPError(headers={'exception_type': "<type 'exceptions.AttributeError'>", 'exception': "'GenericQuery' object has no attribute '_getXML'", 'traceback': \
'Traceback (most recent call last):\n  File "/usr/lib/python2.7/site-packages/edeposit/amqp/amqpdaemon.py", line 142, in onMessageReceived\n    self.get_sendback(uuid, key)\n  File "/usr/lib/python2.7/site-packages/edeposit/amqp/aleph/__init__.py", line 473, in rea\
ctToAMQPMessage\n    return req.query.getSearchResult()\n  File "/usr/lib/python2.7/site-packages/edeposit/amqp/aleph/__init__.py", line 131, in getSearchResult\n    for xml in self._getXML():\nAttributeError: \'GenericQuery\' object has no attribute \'_getXML\'', \
'exception_name': 'AttributeError', 'UUID': '{"context_UID": "e514091c38cf493d8308611d401407f5", "session_data": {"uuid-of-originalfile": "e514091c38cf493d8308611d401407f5", "load-records-by-title": "Cestou necestou"}}'}, exception="'GenericQuery' object has no att\
ribute '_getXML'", payload="'GenericQuery' object has no attribute '_getXML'", exception_name='AttributeError')), <InterfaceClass edeposit.content.amqp.IAMQPHandler>, u'')
jstavel commented 8 years ago

Ahoj Jardo, pro eperiodika potrebuji GenericQuery - dohledavani pres title. Ale amqp sluzba mi vraci vyjimku.

Muzes se na to podivat?

Diky, Jan

jstavel commented 8 years ago
class LoadAlephRecordsByTitleRequestSender(namedtuple('LoadAlephRecordsByTitleRequest',['context'])):
    """ context will be original file """
    implements(IAMQPSender)
    def send(self):
        print "-> Load Aleph Records By SysNumber Request for: ", str(self.context)
        title = self.context.title
        request = SearchRequest(GenericQuery(aleph_settings.ALEPH_DEFAULT_BASE, title, True, field='wtl'))
        producer = getUtility(IProducer, name="amqp.isbn-search-request")
        session_data =  { 'uuid-of-originalfile': self.context.UID(),
                          'load-records-by-title': str(title) }
        headers = make_headers(self.context, session_data)
        producer.publish(serialize(request),  content_type = 'application/json', headers = headers)
Bystroushaak commented 8 years ago

Neměl bys ještě ten titulek, ať to můžu testovat i s reálnými daty?

jstavel commented 8 years ago

http://aleph.nkp.cz/F/?func=direct&doc_number=000003391&local_base=CZE01

jstavel commented 8 years ago

(see edeposit/edeposit#700)