More and better debugging
This commit is contained in:
		
							parent
							
								
									f2a97baf1e
								
							
						
					
					
						commit
						8854d82049
					
				
							
								
								
									
										38
									
								
								speedtest.py
								
								
								
								
							
							
						
						
									
										38
									
								
								speedtest.py
								
								
								
								
							|  | @ -483,8 +483,12 @@ def build_opener(source_address=None, timeout=10): | ||||||
|     `User-Agent` |     `User-Agent` | ||||||
|     """ |     """ | ||||||
| 
 | 
 | ||||||
|  |     printer('Timeout set to %d' % timeout, debug=True) | ||||||
|  | 
 | ||||||
|     if source_address: |     if source_address: | ||||||
|         source_address_tuple = (source_address, 0) |         source_address_tuple = (source_address, 0) | ||||||
|  |         printer('Binding to source address: %r' % (source_address_tuple,), | ||||||
|  |                 debug=True) | ||||||
|     else: |     else: | ||||||
|         source_address_tuple = None |         source_address_tuple = None | ||||||
| 
 | 
 | ||||||
|  | @ -575,11 +579,11 @@ def build_user_agent(): | ||||||
|         'speedtest-cli/%s' % __version__ |         'speedtest-cli/%s' % __version__ | ||||||
|     ) |     ) | ||||||
|     user_agent = ' '.join(ua_tuple) |     user_agent = ' '.join(ua_tuple) | ||||||
|     printer(user_agent, debug=True) |     printer('User-Agent: %s' % user_agent, debug=True) | ||||||
|     return user_agent |     return user_agent | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| def build_request(url, data=None, headers=None, bump='', secure=False): | def build_request(url, data=None, headers=None, bump='0', secure=False): | ||||||
|     """Build a urllib2 request object |     """Build a urllib2 request object | ||||||
| 
 | 
 | ||||||
|     This function automatically adds a User-Agent header to all requests |     This function automatically adds a User-Agent header to all requests | ||||||
|  | @ -980,7 +984,7 @@ class Speedtest(object): | ||||||
|         if int(uh.code) != 200: |         if int(uh.code) != 200: | ||||||
|             return None |             return None | ||||||
| 
 | 
 | ||||||
|         printer(''.encode().join(configxml), debug=True) |         printer('Config XML:\n%s' % ''.encode().join(configxml), debug=True) | ||||||
| 
 | 
 | ||||||
|         try: |         try: | ||||||
|             root = ET.fromstring(''.encode().join(configxml)) |             root = ET.fromstring(''.encode().join(configxml)) | ||||||
|  | @ -1042,7 +1046,7 @@ class Speedtest(object): | ||||||
| 
 | 
 | ||||||
|         self.lat_lon = (float(client['lat']), float(client['lon'])) |         self.lat_lon = (float(client['lat']), float(client['lon'])) | ||||||
| 
 | 
 | ||||||
|         printer(self.config, debug=True) |         printer('Config:\n%r' % self.config, debug=True) | ||||||
| 
 | 
 | ||||||
|         return self.config |         return self.config | ||||||
| 
 | 
 | ||||||
|  | @ -1101,7 +1105,8 @@ class Speedtest(object): | ||||||
|                 if int(uh.code) != 200: |                 if int(uh.code) != 200: | ||||||
|                     raise ServersRetrievalError() |                     raise ServersRetrievalError() | ||||||
| 
 | 
 | ||||||
|                 printer(''.encode().join(serversxml), debug=True) |                 printer('Servers XML:\n%s' % ''.encode().join(serversxml), | ||||||
|  |                         debug=True) | ||||||
| 
 | 
 | ||||||
|                 try: |                 try: | ||||||
|                     try: |                     try: | ||||||
|  | @ -1139,8 +1144,6 @@ class Speedtest(object): | ||||||
|                     except KeyError: |                     except KeyError: | ||||||
|                         self.servers[d] = [attrib] |                         self.servers[d] = [attrib] | ||||||
| 
 | 
 | ||||||
|                 printer(''.encode().join(serversxml), debug=True) |  | ||||||
| 
 |  | ||||||
|                 break |                 break | ||||||
| 
 | 
 | ||||||
|             except ServersRetrievalError: |             except ServersRetrievalError: | ||||||
|  | @ -1222,7 +1225,7 @@ class Speedtest(object): | ||||||
|                 continue |                 continue | ||||||
|             break |             break | ||||||
| 
 | 
 | ||||||
|         printer(self.closest, debug=True) |         printer('Closest Servers:\n%r' % self.closest, debug=True) | ||||||
|         return self.closest |         return self.closest | ||||||
| 
 | 
 | ||||||
|     def get_best_server(self, servers=None): |     def get_best_server(self, servers=None): | ||||||
|  | @ -1246,9 +1249,13 @@ class Speedtest(object): | ||||||
|         for server in servers: |         for server in servers: | ||||||
|             cum = [] |             cum = [] | ||||||
|             url = os.path.dirname(server['url']) |             url = os.path.dirname(server['url']) | ||||||
|             urlparts = urlparse('%s/latency.txt' % url) |             stamp = int(timeit.time.time() * 1000) | ||||||
|             printer('%s %s/latency.txt' % ('GET', url), debug=True) |             latency_url = '%s/latency.txt?x=%s' % (url, stamp) | ||||||
|             for _ in range(0, 3): |             for i in range(0, 3): | ||||||
|  |                 this_latency_url = '%s.%s' % (latency_url, i) | ||||||
|  |                 printer('%s %s' % ('GET', this_latency_url), | ||||||
|  |                         debug=True) | ||||||
|  |                 urlparts = urlparse(latency_url) | ||||||
|                 try: |                 try: | ||||||
|                     if urlparts[0] == 'https': |                     if urlparts[0] == 'https': | ||||||
|                         h = SpeedtestHTTPSConnection( |                         h = SpeedtestHTTPSConnection( | ||||||
|  | @ -1261,13 +1268,14 @@ class Speedtest(object): | ||||||
|                             source_address=source_address_tuple |                             source_address=source_address_tuple | ||||||
|                         ) |                         ) | ||||||
|                     headers = {'User-Agent': user_agent} |                     headers = {'User-Agent': user_agent} | ||||||
|  |                     path = '%s?%s' % (urlparts[2], urlparts[4]) | ||||||
|                     start = timeit.default_timer() |                     start = timeit.default_timer() | ||||||
|                     h.request("GET", urlparts[2], headers=headers) |                     h.request("GET", path, headers=headers) | ||||||
|                     r = h.getresponse() |                     r = h.getresponse() | ||||||
|                     total = (timeit.default_timer() - start) |                     total = (timeit.default_timer() - start) | ||||||
|                 except HTTP_ERRORS: |                 except HTTP_ERRORS: | ||||||
|                     e = get_exception() |                     e = get_exception() | ||||||
|                     printer('%r' % e, debug=True) |                     printer('ERROR: %r' % e, debug=True) | ||||||
|                     cum.append(3600) |                     cum.append(3600) | ||||||
|                     continue |                     continue | ||||||
| 
 | 
 | ||||||
|  | @ -1293,7 +1301,7 @@ class Speedtest(object): | ||||||
|         self.results.server = best |         self.results.server = best | ||||||
| 
 | 
 | ||||||
|         self.best.update(best) |         self.best.update(best) | ||||||
|         printer(best, debug=True) |         printer('Best Server:\n%r' % best, debug=True) | ||||||
|         return best |         return best | ||||||
| 
 | 
 | ||||||
|     def download(self, callback=do_nothing): |     def download(self, callback=do_nothing): | ||||||
|  | @ -1690,6 +1698,8 @@ def shell(): | ||||||
|     else: |     else: | ||||||
|         printer('Skipping upload test') |         printer('Skipping upload test') | ||||||
| 
 | 
 | ||||||
|  |     printer('Results:\n%r' % results.dict(), debug=True) | ||||||
|  | 
 | ||||||
|     if args.simple: |     if args.simple: | ||||||
|         print_('Ping: %s ms\nDownload: %0.2f M%s/s\nUpload: %0.2f M%s/s' % |         print_('Ping: %s ms\nDownload: %0.2f M%s/s\nUpload: %0.2f M%s/s' % | ||||||
|                (results.ping, |                (results.ping, | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue