Exemple #1
0
def proxy(request, backend_name, url):
    """Retrieve url from a specific external backend"""
    backend = utils.load_backend(backend_name)
    rv = backend.get_url(url, request)
    if '"exception": "location could not be found. OpLocation matching query does not exist."' in rv.content:

        from external_resource.backends.openpolis import OpenPolisLocationsBackend
        from django.http import HttpResponse
        import json

        locations = OpenPolisLocationsBackend(backend.settings_dict)

        loc_url = backend.base_url + 'locations/'
        loc = locations.get_data(loc_url+url)

        first_city, data = None, {}
        if loc['location_type']['name'] == 'Regione':
            first_city = backend.get_data('%s?location_type=comune&regional_id=%s&limit=1'% (loc_url,loc['regional_id']))[0]
            data = backend.get_data(backend.base_url+'cityreps/op_id/%s' % first_city['id'] )
            data['city_representatives']['provincia'] = {'giunta':[],'consiglio':[]}
        elif loc['location_type']['name'] == 'Provincia':
            first_city = backend.get_data('%s?location_type=comune&provincial_id=%s&limit=1'% (loc_url,loc['provincial_id']))[0]
            data = backend.get_data(backend.base_url+'cityreps/op_id/%s' % first_city['id'] )
            data['city_representatives']['regione'] = {'giunta':[],'consiglio':[]}

        data['city_representatives']['comune'] = {'giunta':[],'consiglio':[]}
        data['city_representatives']['camera'] = {'representatives':[]}
        data['city_representatives']['senato'] = {'representatives':[]}
        data['city_representatives']['europarl'] = {'representatives':[]}
        data['city_representatives']['location'] = ''

        rv = HttpResponse(json.dumps(data), mimetype='application/json')

    return rv
Exemple #2
0
def cityreps_proxy(request, url):
    """Retrieve url from cityreps backend"""

    backend_name = "cityreps"
    backend = utils.load_backend(backend_name)
    rv = backend.get_url(url, request)
    # NOTE: default implementation of get_url already has
    # mimetype as "application/json"
    return rv
Exemple #3
0
def cityreps_proxy(request, url):
    """Retrieve url from cityreps backend"""

    backend_name = "cityreps"
    backend = utils.load_backend(backend_name)
    rv = backend.get_url(url, request)
    # NOTE: default implementation of get_url already has 
    # mimetype as "application/json"
    return rv
Exemple #4
0
 def get_query(self, q, request):
     # I will use this logic in the get_objects too:
     # I will get a list of structures containing the Json data,
     # that will be used into the Action view
     backend_name = self.get_backend_name()
     backend = utils.load_backend(backend_name)
     full_url = backend.base_url + "locations/?namestartswith=%s" % q
     data = backend.get_data(full_url)
     fake_qs = []
     for d in data:
         backend_name = "cityreps"
         backend = utils.load_backend(backend_name)
         rel_url = 'cityreps/op_id/' + str(d["id"]) + '/'
         city_reps_url = urlparse.urljoin(backend.base_url, rel_url)
         city_reps_data = backend.get_data(city_reps_url)
         d.update(city_reps_data)
         fake_qs.append(GeonameDict(d["id"], **d))
     return fake_qs
Exemple #5
0
 def get_query(self,q,request):
     # I will use this logic in the get_objects too:
     # I will get a list of structures containing the Json data,
     # that will be used into the Action view
     backend_name = self.get_backend_name()
     backend = utils.load_backend(backend_name)
     full_url = backend.base_url + "locations/?namestartswith=%s" % q
     data = backend.get_data(full_url)
     fake_qs = []
     for d in data:
         backend_name = "cityreps"
         backend = utils.load_backend(backend_name)
         rel_url = 'cityreps/op_id/' + str(d["id"]) + '/'
         city_reps_url = urlparse.urljoin(backend.base_url, rel_url)
         city_reps_data = backend.get_data(city_reps_url)
         d.update(city_reps_data)
         fake_qs.append(GeonameDict(d["id"], **d))
     return fake_qs
Exemple #6
0
    def get_objects(self, ids):
        """ Return a list of structures containing Json data """

        backend_name = self.get_backend_name()
        backend = utils.load_backend(backend_name)

        json_data = []
        for _id in ids:
            data = backend.get_info(_id)
            j_data = GeonameDict(data["id"], **data)
            json_data.append(j_data)

        return json_data
Exemple #7
0
    def get_objects(self, ids):
        """ Return a list of structures containing Json data """

        #was:  backend_name = "locations"
        backend_name = self.get_backend_name()
        backend = utils.load_backend(backend_name)

        json_data = []
        for _id in ids:
            j_data = backend.get_info(_id)
            json_data.append(j_data)

        return json_data
Exemple #8
0
    def get_objects(self, ids):
        """ Return a list of structures containing Json data """

        backend_name = self.get_backend_name()
        backend = utils.load_backend(backend_name)

        json_data = []
        for _id in ids:
            data = backend.get_info(_id)
            j_data = GeonameDict(data["id"], **data)
            json_data.append(j_data)

        return json_data
Exemple #9
0
    def get_objects(self, ids):
        """ Return a list of structures containing Json data """

        # was:  backend_name = "locations"
        backend_name = self.get_backend_name()
        backend = utils.load_backend(backend_name)

        json_data = []
        for _id in ids:
            j_data = backend.get_info(_id)
            json_data.append(j_data)

        return json_data
Exemple #10
0
 def get_backend(self):
     return utils.load_backend(self.backend_name)
Exemple #11
0
def proxy(request, backend_name, url):
    """Retrieve url from a specific external backend"""

    backend = utils.load_backend(backend_name)
    rv = backend.get_url(url, request)
    return rv
Exemple #12
0
 def get_backend(self):
     return utils.load_backend(self.backend_name)
Exemple #13
0
def proxy(request, backend_name, url):
    """Retrieve url from a specific external backend"""

    backend = utils.load_backend(backend_name)
    rv = backend.get_url(url, request)
    return rv