Skip to content

Reverse lookup on EUDAT B2SAFE PIDs fails #124

@chStaiger

Description

@chStaiger

B2SAFE changed the PID profile and renamed the PID entry 'CHECKSUM' to 'EUDAT/CHECKSUM'.
The reverse-lookup function however only searches through keys ['URL', 'CHECKSUM']:

rev = dict([('EUDAT/CHECKSUM', '*')])
result = ec.search_handle(**rev)

---------------------------------------------------------------------------
ReverseLookupException                    Traceback (most recent call last)
<ipython-input-8-c654e7e978a0> in <module>()
      1 rev = dict([('EUDAT/CHECKSUM', '*')])
----> 2 result = ec.search_handle(**rev)

/usr/local/lib/python2.7/dist-packages/b2handle-1.1.1-py2.7.egg/b2handle/handleclient.pyc in search_handle(self, URL, prefix, **key_value_pairs)
    969         LOGGER.debug('search_handle...')
    970
--> 971         list_of_handles = self.__searcher.search_handle(URL=URL, prefix=prefix, **key_value_pairs)
    972
    973         return list_of_handles

/usr/local/lib/python2.7/dist-packages/b2handle-1.1.1-py2.7.egg/b2handle/searcher.pyc in search_handle(self, **args)
    241         LOGGER.debug('search_handle...')
    242         if self.__has_search_access:
--> 243             return self.__search_handle(**args)
    244         else:
    245             LOGGER.error(

/usr/local/lib/python2.7/dist-packages/b2handle-1.1.1-py2.7.egg/b2handle/searcher.pyc in __search_handle(self, **args)
    282         list_of_handles = []
    283         LOGGER.debug('search_handle: key-value-pairs: '+str(args))
--> 284         query = self.create_revlookup_query(*fulltext_searchterms, **args)
    285
    286         if query is None:

/usr/local/lib/python2.7/dist-packages/b2handle-1.1.1-py2.7.egg/b2handle/searcher.pyc in create_revlookup_query(self, *fulltext_searchterms, **keyvalue_searchterms)
    390                 msg = 'Cannot search for key "'+key+'". Only searches '+\
    391                     'for keys '+str(allowed_search_keys)+' are implemented.'
--> 392                 raise ReverseLookupException(msg=msg)
    393             else:
    394                 query = query+'&'+key+'='+value

ReverseLookupException: Error during Reverse Lookup: Cannot search for key "EUDAT/CHECKSUM". Only searches for keys ['URL', 'CHECKSUM'] are implemented..

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions