| 
									
										
										
										
											2018-06-01 11:04:45 +02:00
										 |  |  | import os.path | 
					
						
							| 
									
										
										
										
											2018-06-14 14:58:13 +02:00
										 |  |  | import math | 
					
						
							| 
									
										
										
										
											2018-06-01 11:04:45 +02:00
										 |  |  | import textwrap | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | def format_duration(seconds): | 
					
						
							| 
									
										
										
										
											2018-06-14 14:58:13 +02:00
										 |  |  |     ms = math.ceil(seconds * 1e3) | 
					
						
							|  |  |  |     seconds, ms = divmod(ms, 1000) | 
					
						
							|  |  |  |     minutes, seconds = divmod(seconds, 60) | 
					
						
							|  |  |  |     hours, minutes = divmod(minutes, 60) | 
					
						
							| 
									
										
										
										
											2018-06-01 11:04:45 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-06-14 14:58:13 +02:00
										 |  |  |     parts = [] | 
					
						
							| 
									
										
										
										
											2018-06-01 11:04:45 +02:00
										 |  |  |     if hours: | 
					
						
							| 
									
										
										
										
											2018-06-14 14:58:13 +02:00
										 |  |  |         parts.append('%s hour' % hours) | 
					
						
							|  |  |  |     if minutes: | 
					
						
							|  |  |  |         parts.append('%s min' % minutes) | 
					
						
							|  |  |  |     if seconds: | 
					
						
							|  |  |  |         parts.append('%s sec' % seconds) | 
					
						
							|  |  |  |     if ms: | 
					
						
							|  |  |  |         parts.append('%s ms' % ms) | 
					
						
							|  |  |  |     if not parts: | 
					
						
							|  |  |  |         return '0 ms' | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     parts = parts[:2] | 
					
						
							|  |  |  |     return ' '.join(parts) | 
					
						
							| 
									
										
										
										
											2018-06-01 11:04:45 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | def removepy(names): | 
					
						
							|  |  |  |     if not names: | 
					
						
							|  |  |  |         return | 
					
						
							|  |  |  |     for idx, name in enumerate(names): | 
					
						
							|  |  |  |         basename, ext = os.path.splitext(name) | 
					
						
							|  |  |  |         if ext == '.py': | 
					
						
							|  |  |  |             names[idx] = basename | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | def count(n, word): | 
					
						
							|  |  |  |     if n == 1: | 
					
						
							|  |  |  |         return "%d %s" % (n, word) | 
					
						
							|  |  |  |     else: | 
					
						
							|  |  |  |         return "%d %ss" % (n, word) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | def printlist(x, width=70, indent=4, file=None): | 
					
						
							|  |  |  |     """Print the elements of iterable x to stdout.
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     Optional arg width (default 70) is the maximum line length. | 
					
						
							|  |  |  |     Optional arg indent (default 4) is the number of blanks with which to | 
					
						
							|  |  |  |     begin each line. | 
					
						
							|  |  |  |     """
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     blanks = ' ' * indent | 
					
						
							|  |  |  |     # Print the sorted list: 'x' may be a '--random' list or a set() | 
					
						
							|  |  |  |     print(textwrap.fill(' '.join(str(elt) for elt in sorted(x)), width, | 
					
						
							|  |  |  |                         initial_indent=blanks, subsequent_indent=blanks), | 
					
						
							|  |  |  |           file=file) |