|  | @@ -7,7 +7,7 @@ import shutil
 | 
	
		
			
				|  |  |  import sys
 | 
	
		
			
				|  |  |  import time
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -from .helpers import get_keys_dir, get_cache_dir
 | 
	
		
			
				|  |  | +from .helpers import get_keys_dir, get_cache_dir, ProgressIndicatorPercent
 | 
	
		
			
				|  |  |  from .locking import UpgradableLock
 | 
	
		
			
				|  |  |  from .repository import Repository, MAGIC
 | 
	
		
			
				|  |  |  from .key import KeyfileKey, KeyfileNotFoundError
 | 
	
	
		
			
				|  | @@ -65,17 +65,15 @@ class AtticRepositoryUpgrader(Repository):
 | 
	
		
			
				|  |  |          luckily the magic string length didn't change so we can just
 | 
	
		
			
				|  |  |          replace the 8 first bytes of all regular files in there."""
 | 
	
		
			
				|  |  |          logger.info("converting %d segments..." % len(segments))
 | 
	
		
			
				|  |  | -        i = 0
 | 
	
		
			
				|  |  | -        for filename in segments:
 | 
	
		
			
				|  |  | -            i += 1
 | 
	
		
			
				|  |  | -            print("\rconverting segment %d/%d, %.2f%% done (%s)"
 | 
	
		
			
				|  |  | -                  % (i, len(segments), 100*float(i)/len(segments), filename),
 | 
	
		
			
				|  |  | -                  end='', file=sys.stderr)
 | 
	
		
			
				|  |  | +        segment_count = len(segments)
 | 
	
		
			
				|  |  | +        pi = ProgressIndicatorPercent(total=segment_count, msg="Converting segments %3.0f%%", same_line=True)
 | 
	
		
			
				|  |  | +        for i, filename in enumerate(segments):
 | 
	
		
			
				|  |  | +            pi.show(i)
 | 
	
		
			
				|  |  |              if dryrun:
 | 
	
		
			
				|  |  |                  time.sleep(0.001)
 | 
	
		
			
				|  |  |              else:
 | 
	
		
			
				|  |  |                  AtticRepositoryUpgrader.header_replace(filename, ATTIC_MAGIC, MAGIC, inplace=inplace)
 | 
	
		
			
				|  |  | -        print(file=sys.stderr)
 | 
	
		
			
				|  |  | +        pi.finish()
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      @staticmethod
 | 
	
		
			
				|  |  |      def header_replace(filename, old_magic, new_magic, inplace=True):
 |