Merge 12d868f8d9 into 22210ca352
				
					
				
			This commit is contained in:
		
						commit
						fae3918bfc
					
				
							
								
								
									
										48
									
								
								speedtest.py
								
								
								
								
							
							
						
						
									
										48
									
								
								speedtest.py
								
								
								
								
							|  | @ -59,6 +59,18 @@ PY25PLUS = sys.version_info[:2] >= (2, 5) | |||
| PY26PLUS = sys.version_info[:2] >= (2, 6) | ||||
| PY32PLUS = sys.version_info[:2] >= (3, 2) | ||||
| PY310PLUS = sys.version_info[:2] >= (3, 10) | ||||
| SIZEMAP = { | ||||
|     "Mibyte": 8. * 1024 * 1024, | ||||
|     "Mbyte": 8. * 1000 * 1000, | ||||
|     "Mibit": 1. * 1024 * 1024, | ||||
|     "Mbit": 1. * 1000 * 1000, | ||||
|     "Kibyte": 8. * 1024, | ||||
|     "Kbyte": 8. * 1000, | ||||
|     "Kibit": 1. * 1024, | ||||
|     "Kbit": 1. * 1000, | ||||
|     "byte": 8., | ||||
|     "bit": 1., | ||||
| } | ||||
| 
 | ||||
| # Begin import game to handle Python 2 and Python 3 | ||||
| try: | ||||
|  | @ -957,7 +969,7 @@ class SpeedtestResults(object): | |||
|         self.client = client or {} | ||||
| 
 | ||||
|         self._share = None | ||||
|         self.timestamp = '%sZ' % datetime.datetime.utcnow().isoformat() | ||||
|         self.timestamp = '%sZ' % datetime.datetime.now(datetime.UTC).isoformat() | ||||
|         self.bytes_received = 0 | ||||
|         self.bytes_sent = 0 | ||||
| 
 | ||||
|  | @ -1733,11 +1745,14 @@ def parse_args(): | |||
|                         help='Only use a single connection instead of ' | ||||
|                              'multiple. This simulates a typical file ' | ||||
|                              'transfer.') | ||||
|     parser.add_argument('--bytes', dest='units', action='store_const', | ||||
|                         const=('byte', 8), default=('bit', 1), | ||||
|     parser.add_argument('--bytes', default=False, action='store_true', | ||||
|                         help='Display values in bytes instead of bits. Does ' | ||||
|                              'not affect the image generated by --share, nor ' | ||||
|                              'output from --json or --csv') | ||||
|     parser.add_argument('--units', choices=tuple(SIZEMAP), | ||||
|                         help='Determines which units to display values in. Does ' | ||||
|                              'not affect the image generated by --share, nor ' | ||||
|                              'output from --json or --csv') | ||||
|     parser.add_argument('--share', action='store_true', | ||||
|                         help='Generate and provide a URL to the speedtest.net ' | ||||
|                              'share results image, not displayed with --csv') | ||||
|  | @ -1747,7 +1762,7 @@ def parse_args(): | |||
|     parser.add_argument('--csv', action='store_true', default=False, | ||||
|                         help='Suppress verbose output, only show basic ' | ||||
|                              'information in CSV format. Speeds listed in ' | ||||
|                              'bit/s and not affected by --bytes') | ||||
|                              'bit/s and not affected by --bytes or --units') | ||||
|     parser.add_argument('--csv-delimiter', default=',', type=PARSER_TYPE_STR, | ||||
|                         help='Single character delimiter to use in CSV ' | ||||
|                              'output. Default ","') | ||||
|  | @ -1756,7 +1771,7 @@ def parse_args(): | |||
|     parser.add_argument('--json', action='store_true', default=False, | ||||
|                         help='Suppress verbose output, only show basic ' | ||||
|                              'information in JSON format. Speeds listed in ' | ||||
|                              'bit/s and not affected by --bytes') | ||||
|                              'bit/s and not affected by --bytes or --units') | ||||
|     parser.add_argument('--list', action='store_true', | ||||
|                         help='Display a list of speedtest.net servers ' | ||||
|                              'sorted by distance') | ||||
|  | @ -1850,6 +1865,10 @@ def shell(): | |||
|         raise SpeedtestCLIError('Cannot supply both --no-download and ' | ||||
|                                 '--no-upload') | ||||
| 
 | ||||
|     if args.bytes and args.units: | ||||
|         raise SpeedtestCLIError('Cannot supply both --bytes and ' | ||||
|                                 '--units') | ||||
| 
 | ||||
|     if len(args.csv_delimiter) != 1: | ||||
|         raise SpeedtestCLIError('--csv-delimiter must be a single character') | ||||
| 
 | ||||
|  | @ -1864,6 +1883,13 @@ def shell(): | |||
|     if debug: | ||||
|         DEBUG = True | ||||
| 
 | ||||
|     if args.bytes: | ||||
|         units = 'Mbyte' | ||||
|     elif args.units: | ||||
|         units = args.units | ||||
|     else: | ||||
|         units = 'Mbit' | ||||
| 
 | ||||
|     if args.simple or args.csv or args.json: | ||||
|         quiet = True | ||||
|     else: | ||||
|  | @ -1951,9 +1977,9 @@ def shell(): | |||
|             callback=callback, | ||||
|             threads=(None, 1)[args.single] | ||||
|         ) | ||||
|         printer('Download: %0.2f M%s/s' % | ||||
|                 ((results.download / 1000.0 / 1000.0) / args.units[1], | ||||
|                  args.units[0]), | ||||
|         printer('Download: %0.2f %s/s' % | ||||
|                 (results.download / SIZEMAP[units], | ||||
|                  units), | ||||
|                 quiet) | ||||
|     else: | ||||
|         printer('Skipping download test', quiet) | ||||
|  | @ -1966,9 +1992,9 @@ def shell(): | |||
|             pre_allocate=args.pre_allocate, | ||||
|             threads=(None, 1)[args.single] | ||||
|         ) | ||||
|         printer('Upload: %0.2f M%s/s' % | ||||
|                 ((results.upload / 1000.0 / 1000.0) / args.units[1], | ||||
|                  args.units[0]), | ||||
|         printer('Upload: %0.2f %s/s' % | ||||
|                 (results.upload / SIZEMAP[units], | ||||
|                  units), | ||||
|                 quiet) | ||||
|     else: | ||||
|         printer('Skipping upload test', quiet) | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue