| 
														
															@@ -457,23 +457,26 @@ def format_file_mode(mod): 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     return '%s%s%s' % (x(mod // 64), x(mod // 8), x(mod)) 
														 | 
														
														 | 
														
															     return '%s%s%s' % (x(mod // 64), x(mod // 8), x(mod)) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															-def format_file_size(v): 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+def format_file_size(v, precision=2): 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     """Format file size into a human friendly format 
														 | 
														
														 | 
														
															     """Format file size into a human friendly format 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     """ 
														 | 
														
														 | 
														
															     """ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-    return sizeof_fmt_decimal(v, suffix='B', sep=' ') 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    return sizeof_fmt_decimal(v, suffix='B', sep=' ', precision=precision) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															-def sizeof_fmt(num, suffix='B', units=None, power=None, sep=''): 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+def sizeof_fmt(num, suffix='B', units=None, power=None, sep='', precision=2): 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     for unit in units[:-1]: 
														 | 
														
														 | 
														
															     for unit in units[:-1]: 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-        if abs(round(num, 2)) < power: 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-            return "%3.2f%s%s%s" % (num, sep, unit, suffix) 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        if abs(round(num, precision)) < power: 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            if type(num) is int: 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                return "{}{}{}{}".format(num, sep, unit, suffix) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            else: 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                return "{:3.{}f}{}{}{}".format(num, precision, sep, unit, suffix) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         num /= float(power) 
														 | 
														
														 | 
														
															         num /= float(power) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-    return "%.2f%s%s%s" % (num, sep, units[-1], suffix) 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    return "{:.{}f}{}{}{}".format(num, precision, sep, units[-1], suffix) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															-def sizeof_fmt_iec(num, suffix='B', sep=''): 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-   return sizeof_fmt(num, suffix=suffix, sep=sep, units=['','Ki','Mi','Gi','Ti','Pi','Ei','Zi', 'Yi'], power=1024) 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+def sizeof_fmt_iec(num, suffix='B', sep='', precision=2): 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+   return sizeof_fmt(num, suffix=suffix, sep=sep, precision=precision, units=['','Ki','Mi','Gi','Ti','Pi','Ei','Zi', 'Yi'], power=1024) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															-def sizeof_fmt_decimal(num, suffix='B', sep=''): 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-   return sizeof_fmt(num, suffix=suffix, sep=sep, units=['','k','M','G','T','P','E','Z', 'Y'], power=1000) 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+def sizeof_fmt_decimal(num, suffix='B', sep='', precision=2): 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+   return sizeof_fmt(num, suffix=suffix, sep=sep, precision=precision, units=['','k','M','G','T','P','E','Z', 'Y'], power=1000) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															 def format_archive(archive): 
														 | 
														
														 | 
														
															 def format_archive(archive): 
														 |