src/p4l/utils.py
changeset 109 9328fa268f45
parent 102 53c9233a7684
child 113 c05567404888
equal deleted inserted replaced
108:c08f9b46a6c5 109:9328fa268f45
     6 
     6 
     7 from django.conf import settings
     7 from django.conf import settings
     8 from django.db.models.query import QuerySet
     8 from django.db.models.query import QuerySet
     9 from django.db.models.query_utils import Q
     9 from django.db.models.query_utils import Q
    10 import requests #@UnresolvedImport
    10 import requests #@UnresolvedImport
       
    11 from django.core.validators import URLValidator
    11 
    12 
    12 
    13 
    13 logger = logging.getLogger(__name__)
    14 logger = logging.getLogger(__name__)
    14 
    15 
    15 def show_progress(current_line, total_line, label, width, writer=None):
    16 def show_progress(current_line, total_line, label, width, writer=None):
    82     res_dict = {}
    83     res_dict = {}
    83     if not uri_list:
    84     if not uri_list:
    84         return res_dict
    85         return res_dict
    85     # We build the filter string
    86     # We build the filter string
    86     filter_str = ""
    87     filter_str = ""
       
    88     validate = URLValidator()
    87     for i,uri in enumerate(uri_list):
    89     for i,uri in enumerate(uri_list):
    88         res_dict[uri] = ""
    90         res_dict[uri] = ""
       
    91         # We test if the uri is correct. If not, all the sparql request fails
       
    92         try:
       
    93             validate(uri)
       
    94         except:
       
    95             continue
    89         uri = uri.replace(" ", "") # avoid bug when only few urls are not good
    96         uri = uri.replace(" ", "") # avoid bug when only few urls are not good
    90         filter_str += (" || ?uri = <" + uri + ">") if i else ("?uri = <" + uri + ">")
    97         filter_str += (" || ?uri = <" + uri + ">") if i else ("?uri = <" + uri + ">")
    91     # We request the labels
    98     # We request the labels
    92     res = requests.get(
    99     res = requests.get(
    93         settings.SPARQL_QUERY_ENDPOINT,
   100         settings.SPARQL_QUERY_ENDPOINT,