def export_all_answers(request): """ Method to export all databases answers to a csv file """ list_databases = get_databases_from_solr(request, "*:*") return save_answers_to_csv(list_databases, "DBs")
def export_bd_answers(request, runcode): """ Method to export answers of a specific database to a csv file :param request: :param runcode: """ list_databases = get_databases_from_solr(request, "id:" + runcode) return save_answers_to_csv(list_databases, "MyDB")
def export_my_answers(request): """ Method to export my databases answers to a csv file """ user = request.user list_databases = get_databases_from_solr(request, "user_t:" + '"' + user.username + '"') return save_answers_to_csv(list_databases, "MyDBs")
def export_bd_answers(request, runcode): """ Method to export answers of a specific database to a csv file :param request: :param runcode: """ list_databases = get_databases_from_solr(request, "id:" + runcode) return save_answers_to_csv(list_databases, 'MyDB')
def export_my_answers(request): """ Method to export my databases answers to a csv file """ user = request.user list_databases = get_databases_from_solr( request, "user_t:" + '"' + user.username + '"') return save_answers_to_csv(list_databases, "MyDBs")
def export_search_answers(request): """ Method to export search databases answers to a csv file """ user = request.user query = None isadvanced = request.session.get('isAdvanced') value = request.session.get('query') if (isadvanced): query = value else: query = "text_t:" + str(value) list_databases = get_databases_from_solr(request, query) return save_answers_to_csv(list_databases, "search_results")
def export_search_answers(request): """ Method to export search databases answers to a csv file """ user = request.user query = None isadvanced = request.session.get('isAdvanced') value = request.session.get('query') if(isadvanced): query = value else: query = "text_t:"+str(value) list_databases = get_databases_from_solr(request, query) return save_answers_to_csv(list_databases, "search_results")
def geo(request, template_name='geo.html'): if not config.geolocation: raise Http404 query = None isAdvanced = False if (request.session.get('isAdvanced') == True): query = request.session.get('query') if query == None: query = "*:*" isAdvanced = True else: if (request.session.get('query') != None): query = "'" + re.sub("['\"']", "\\'", request.session.get('query')) + "'" query = "text_t:" + query else: query = "*:*" #print "query@" + query list_databases = get_databases_from_solr(request, query) list_locations = [] _long_lats = [] # since the geolocation is now adding the locations, we no longer need to look it up when showing, # we rather get it directly db_list = {} questionnaires_ids = {} qqs = Questionnaire.objects.all() for q in qqs: questionnaires_ids[q.slug] = (q.pk, q.name) for database in list_databases: if database.location.find(".") != -1: _loc = database.location.split(".")[0] else: _loc = database.location city = None g = geocoders.GeoNames(username='******') if _loc != None and g != None and len(_loc) > 1: #try: # place, (lat, lng) = g.geocode(_loc) #except: # continue try: city = City.objects.filter(name=_loc.lower())[0] # if dont have this city on the db except: print "-- Error: The city " + _loc + " doesnt exist on the database. Maybe too much requests were being made when it happened ? Trying again..." #obtain lat and longitude city = retrieve_geolocation(_loc.lower()) if city != None: #print city city.save() else: print "-- Error: retrieving geolocation" continue _long_lats.append(str(city.lat) + ", " + str(city.long)) import pdb #pdb.set_trace() def __cleanvalue(v): return v.encode('ascii', 'ignore').strip().replace('\n', ' ').replace( '\r', ' ') def db_ready(database, city): return { 'name': database.name, 'location': __cleanvalue(database.location), 'institution': __cleanvalue(database.institution), 'contact': __cleanvalue(database.email_contact), 'number_patients': __cleanvalue(database.number_patients), 'ttype': __cleanvalue(database.type_name), 'id': database.id, 'admin_name': __cleanvalue(database.admin_name), 'admin_address': __cleanvalue(database.admin_address), 'admin_email': __cleanvalue(database.admin_email), 'admin_phone': __cleanvalue(database.admin_phone), 'scien_name': __cleanvalue(database.scien_name), 'scien_address': __cleanvalue(database.scien_address), 'scien_email': __cleanvalue(database.scien_email), 'scien_phone': __cleanvalue(database.scien_phone), 'tec_name': __cleanvalue(database.tec_name), 'tec_address': __cleanvalue(database.tec_address), 'tec_email': __cleanvalue(database.tec_email), 'tec_phone': __cleanvalue(database.tec_phone), 'lat': str(city.lat), 'long': str(city.long), } if ((city.lat, city.long) in db_list): db_list[(city.lat, city.long)].append(db_ready(database, city)) else: db_list[(city.lat, city.long)] = [db_ready(database, city)] list_locations.append(_loc) return render( request, template_name, { 'request': request, 'db_list': db_list, 'search_old': request.session.get('query', ''), 'list_cities': list_locations, 'lats_longs': _long_lats, 'breadcrumb': True, 'isAdvanced': isAdvanced })
def geo(request, template_name='geo.html'): if not config.geolocation: raise Http404 query = None isAdvanced = False if(request.session.get('isAdvanced') == True): query = request.session.get('query') if query == None: query = "*:*" isAdvanced = True else: if(request.session.get('query') != None): query = "'"+re.sub("['\"']","\\'",request.session.get('query'))+"'" query = "text_t:"+query else: query = "*:*" #print "query@" + query list_databases = get_databases_from_solr(request, query) list_locations = [] _long_lats = [] # since the geolocation is now adding the locations, we no longer need to look it up when showing, # we rather get it directly db_list = {} questionnaires_ids = {} qqs = Questionnaire.objects.all() for q in qqs: questionnaires_ids[q.slug] = (q.pk, q.name) for database in list_databases: if database.location.find(".")!= -1: _loc = database.location.split(".")[0] else: _loc = database.location city=None g = geocoders.GeoNames(username='******') if _loc!= None and g != None and len(_loc)>1: #try: # place, (lat, lng) = g.geocode(_loc) #except: # continue try: city = City.objects.filter(name=_loc.lower())[0] # if dont have this city on the db except: print "-- Error: The city " + _loc + " doesnt exist on the database. Maybe too much requests were being made when it happened ? Trying again..." #obtain lat and longitude city = retrieve_geolocation(_loc.lower()) if city != None: #print city city.save() else: print "-- Error: retrieving geolocation" continue _long_lats.append(str(city.lat) + ", " + str(city.long)) import pdb #pdb.set_trace() def __cleanvalue(v): return v.encode('ascii', 'ignore').strip().replace('\n', ' ').replace('\r', ' ') def db_ready(database, city): return { 'name': database.name, 'location': __cleanvalue(database.location), 'institution': __cleanvalue(database.institution), 'contact': __cleanvalue(database.email_contact), 'number_patients': __cleanvalue(database.number_patients), 'ttype': __cleanvalue(database.type_name), 'id' : database.id, 'admin_name': __cleanvalue(database.admin_name), 'admin_address': __cleanvalue(database.admin_address), 'admin_email': __cleanvalue(database.admin_email), 'admin_phone': __cleanvalue(database.admin_phone), 'scien_name': __cleanvalue(database.scien_name), 'scien_address': __cleanvalue(database.scien_address), 'scien_email': __cleanvalue(database.scien_email), 'scien_phone': __cleanvalue(database.scien_phone), 'tec_name': __cleanvalue(database.tec_name), 'tec_address': __cleanvalue(database.tec_address), 'tec_email': __cleanvalue(database.tec_email), 'tec_phone': __cleanvalue(database.tec_phone), 'lat' : str(city.lat), 'long': str(city.long), } if((city.lat, city.long) in db_list): db_list[(city.lat, city.long)].append(db_ready(database, city)) else: db_list[(city.lat, city.long)] = [db_ready(database, city)] list_locations.append(_loc) return render(request, template_name, {'request': request, 'db_list' : db_list, 'search_old': request.session.get('query',''), 'list_cities': list_locations, 'lats_longs': _long_lats, 'breadcrumb': True, 'isAdvanced': isAdvanced})