Beispiel #1
0
class Circulation(object):
    '''
    Makes a connection with the WMS Circulation API using the classes Connect (originally from OCLC) and Config
    '''
    def __init__(self, service=None, useTestData = True):
        service = service # 'circulation' # WMS Circulation API
        self.config = Config(service = service, useTestData = useTestData)
        self.institution = self.config.getInstitutionData()
        self.serviceAPI = self.config.getServiceAPIData()
        self.institutionList = self.institution.get('institution')
        self.branchList = self.institution.get('branch')

    def get_data_response(self, institution_id = None, request_url = ''):
        connect = Connect(institution_id = institution_id, request_url = request_url, config = self.config)
        opener = urllib2.build_opener(MyHTTPSHandler)
        opener.addheaders = [('accept', 'application/json'),('Authorization', connect.getAuthorization_header())]
        response = opener.open(request_url).read()
        return response

    def get_JSON(self, data):
        _data = data
        try:
            return json.loads(_data)
        except Exception, inst:
            print inst
Beispiel #2
0
class Search(object):
    '''
    Makes a connection with the WorldCat Search API using the classes Connect (originally from OCLC) and Config
    Authorization is given through a WSKEY as a parameter in the central (service) part of this application
    '''
    def __init__(self, service=None, useTestData = True):
        service = service # 'search' # WorldCat Search API
        self.config = Config(service = service, useTestData = useTestData)
        self.institution = self.config.getInstitutionData()
        self.serviceAPI = self.config.getServiceAPIData()
        self.institutionList = self.institution.get('institution')

    def get_data_response(self, institution_id = None, request_url = ''):
        connect = Connect(institution_id = institution_id, request_url = request_url, config = self.config)
        #opener = urllib2.build_opener(MyHTTPSHandler)
        #opener.addheaders = [('accept', 'text/xml'),]
        #opener.addheaders = [('Authorization', connect.getAuthorization_header())]
        opener = urllib2.build_opener()
        response = opener.open(request_url).read()
        return response
   
    def get_url(self, service=None, resource=None, method=None):
        url = ''
        try:
            # get correct url for this method from configuration file
            for key, value in self.serviceAPI['%s.%s' % (service, resource)]:
                if key == method:
                    url = value
                    break

        except Exception, inst:
            print inst
        return url
Beispiel #3
0
class Metadata(object):
    def __init__(self, service=None, useTestData = True):
        service = service #'metadata' # WorldCat Metadata API
        self.config = Config(service = service, useTestData = useTestData)
        self.institution = self.config.getInstitutionData()
        self.serviceAPI = self.config.getServiceAPIData()
        self.institutionList = self.institution.get('institution')
        
    def get_data_response(self, institution_id = None, request_url = ''):
        connect = Connect(institution_id = institution_id, request_url = request_url, config = self.config)
        opener = urllib2.build_opener(MyHTTPSHandler)
        opener.addheaders = [('accept', 'application/atom+json'),('Authorization', connect.getAuthorization_header())]
        #opener.addheaders = [('accept', 'application/xml'),('Authorization', connect.getAuthorization_header())]
        response = opener.open(request_url).read()
        return response

    def get_JSON(self, data):
        _data = data
        try:
            return json.loads(_data)
        except Exception, inst:
            print inst