--> -->
 
 
InvalidURL
Python 3.6.13: /usr/local/bin/uwsgi-3.6
Thu Mar 28 17:56:12 2024

A problem occurred in a Python script. Here is the sequence of function calls leading up to the error, in the order they occurred.

 /home/fonixmusik/fonixmusik_com/lib/django_application.py in safe_call(self={'QUERY_STRING': '', 'REQUEST_METHOD': 'GET', 'C....node': b'freja.metation.net', 'SCRIPT_NAME': ''})
    187         """
    188         try:
=>  189             res = self.call()
    190             self.commit()
    191             return res
res undefined, self = {'QUERY_STRING': '', 'REQUEST_METHOD': 'GET', 'C....node': b'freja.metation.net', 'SCRIPT_NAME': ''}, self.call = <bound method Index.call of {'QUERY_STRING': '',...node': b'freja.metation.net', 'SCRIPT_NAME': ''}>
 /home/fonixmusik/fonixmusik_com/main/views.py in call(self={'QUERY_STRING': '', 'REQUEST_METHOD': 'GET', 'C....node': b'freja.metation.net', 'SCRIPT_NAME': ''})
      9 
     10         xml_content = (self.get_static_content(path)
=>   11             or self.get_dynamic_content(path))
     12 
     13         #open("/tmp/test.out", "w").write(xml_content)
self = {'QUERY_STRING': '', 'REQUEST_METHOD': 'GET', 'C....node': b'freja.metation.net', 'SCRIPT_NAME': ''}, self.get_dynamic_content = <bound method Index.get_dynamic_content of {'QUE...node': b'freja.metation.net', 'SCRIPT_NAME': ''}>, path = '/dk/main/product_ '
 /home/fonixmusik/fonixmusik_com/main/views.py in get_dynamic_content(self={'QUERY_STRING': '', 'REQUEST_METHOD': 'GET', 'C....node': b'freja.metation.net', 'SCRIPT_NAME': ''}, path='/dk/main/product_ ')
     30             path = '/main' + path
     31         
=>   32         return self.fonix_call(path, self.request.args)
     33 
     34 
self = {'QUERY_STRING': '', 'REQUEST_METHOD': 'GET', 'C....node': b'freja.metation.net', 'SCRIPT_NAME': ''}, self.fonix_call = <bound method FonixApplication.fonix_call of {'Q...node': b'freja.metation.net', 'SCRIPT_NAME': ''}>, path = '/dk/main/product_ ', self.request = {}, self.request.args = {}
 /home/fonixmusik/fonixmusik_com/lib/fonixapp.py in fonix_call(self={'QUERY_STRING': '', 'REQUEST_METHOD': 'GET', 'C....node': b'freja.metation.net', 'SCRIPT_NAME': ''}, method='/main/product_ ', args={})
     65         if method[:12] == '/export_elem':
     66             method = '/export' + method[12:]
=>   67         res = proxy('/%s%s' % (cgiapp, method), args_out)
     68         #res = res.replace('"/main/', '"/%s/main/' % lang)
     69         return res
res undefined, proxy = <fonixmusik_com.lib.fonixrpc.FonixRPC object>, cgiapp = 'webfonix2.exe', method = '/main/product_ ', args_out = {'session.__id__': 'b32b3242e0ac6776e2fb73420bcc87ba', 'session.__lang__': 'dk'}
 /home/fonixmusik/fonixmusik_com/lib/fonixrpc.py in __call__(self=<fonixmusik_com.lib.fonixrpc.FonixRPC object>, url='/webfonix2.exe/main/product_ ', args={'session.__id__': 'b32b3242e0ac6776e2fb73420bcc87ba', 'session.__lang__': 'dk'})
     51         try:
     52             conn = httpclient.HTTPConnection(self._host)
=>   53             conn.request('GET', url + '?' + urllib.parse.urlencode(args))
     54             resp = conn.getresponse()
     55         except socket.error:
conn = <http.client.HTTPConnection object>, conn.request = <bound method HTTPConnection.request of <http.client.HTTPConnection object>>, url = '/webfonix2.exe/main/product_ ', global urllib = <module 'urllib' from '/usr/local/lib/python3.6/urllib/__init__.py'>, urllib.parse = <module 'urllib.parse' from '/usr/local/lib/python3.6/urllib/parse.py'>, urllib.parse.urlencode = <function urlencode>, args = {'session.__id__': 'b32b3242e0ac6776e2fb73420bcc87ba', 'session.__lang__': 'dk'}
 /usr/local/lib/python3.6/http/client.py in request(self=<http.client.HTTPConnection object>, method='GET', url='/webfonix2.exe/main/product_ ?session.__lang__=dk&session.__id__=b32b3242e0ac6776e2fb73420bcc87ba', body=None, headers={}, encode_chunked=False)
   1285                 encode_chunked=False):
   1286         """Send a complete request to the server."""
=> 1287         self._send_request(method, url, body, headers, encode_chunked)
   1288 
   1289     def _send_request(self, method, url, body, headers, encode_chunked):
self = <http.client.HTTPConnection object>, self._send_request = <bound method HTTPConnection._send_request of <http.client.HTTPConnection object>>, method = 'GET', url = '/webfonix2.exe/main/product_ ?session.__lang__=dk&session.__id__=b32b3242e0ac6776e2fb73420bcc87ba', body = None, headers = {}, encode_chunked = False
 /usr/local/lib/python3.6/http/client.py in _send_request(self=<http.client.HTTPConnection object>, method='GET', url='/webfonix2.exe/main/product_ ?session.__lang__=dk&session.__id__=b32b3242e0ac6776e2fb73420bcc87ba', body=None, headers={}, encode_chunked=False)
   1296             skips['skip_accept_encoding'] = 1
   1297 
=> 1298         self.putrequest(method, url, **skips)
   1299 
   1300         # chunked encoding will happen if HTTP/1.1 is used and either
self = <http.client.HTTPConnection object>, self.putrequest = <bound method HTTPConnection.putrequest of <http.client.HTTPConnection object>>, method = 'GET', url = '/webfonix2.exe/main/product_ ?session.__lang__=dk&session.__id__=b32b3242e0ac6776e2fb73420bcc87ba', skips = {}
 /usr/local/lib/python3.6/http/client.py in putrequest(self=<http.client.HTTPConnection object>, method='GET', url='/webfonix2.exe/main/product_ ?session.__lang__=dk&session.__id__=b32b3242e0ac6776e2fb73420bcc87ba', skip_host=False, skip_accept_encoding=False)
   1130 
   1131         url = url or '/'
=> 1132         self._validate_path(url)
   1133 
   1134         request = '%s %s %s' % (method, url, self._http_vsn_str)
self = <http.client.HTTPConnection object>, self._validate_path = <bound method HTTPConnection._validate_path of <http.client.HTTPConnection object>>, url = '/webfonix2.exe/main/product_ ?session.__lang__=dk&session.__id__=b32b3242e0ac6776e2fb73420bcc87ba'
 /usr/local/lib/python3.6/http/client.py in _validate_path(self=<http.client.HTTPConnection object>, url='/webfonix2.exe/main/product_ ?session.__lang__=dk&session.__id__=b32b3242e0ac6776e2fb73420bcc87ba')
   1230         match = _contains_disallowed_url_pchar_re.search(url)
   1231         if match:
=> 1232             raise InvalidURL(f"URL can't contain control characters. {url!r} "
=> 1233                              f"(found at least {match.group()!r})")
   1234 
global InvalidURL = <class 'http.client.InvalidURL'>

InvalidURL: URL can't contain control characters. '/webfonix2.exe/main/product_ ?session.__lang__=dk&session.__id__=b32b3242e0ac6776e2fb73420bcc87ba' (found at least ' ')
      args = ("URL can't contain control characters. '/webfonix...242e0ac6776e2fb73420bcc87ba' (found at least ' ')",)
      with_traceback = <built-in method with_traceback of InvalidURL object>