remember seen files
This commit is contained in:
		
							parent
							
								
									3be2b27bcc
								
							
						
					
					
						commit
						c3de28a14d
					
				
					 1 changed files with 13 additions and 0 deletions
				
			
		| 
						 | 
				
			
			@ -6,10 +6,17 @@ if sys.version_info < (3, 3):
 | 
			
		|||
    sys.exit(1)
 | 
			
		||||
 | 
			
		||||
import os
 | 
			
		||||
import pickle
 | 
			
		||||
import shlex
 | 
			
		||||
from pydrive.auth import GoogleAuth
 | 
			
		||||
from pydrive.drive import GoogleDrive
 | 
			
		||||
 | 
			
		||||
try:
 | 
			
		||||
    with open(os.path.expanduser('~/.local/share/drive-download/seen.pickle'), 'rb') as f:
 | 
			
		||||
        seen = pickle.load(f)
 | 
			
		||||
except FileNotFoundError:
 | 
			
		||||
    seen = set()
 | 
			
		||||
 | 
			
		||||
gauth = GoogleAuth(settings_file=os.path.expanduser('~/.config/drive-download/settings.yaml'))
 | 
			
		||||
gauth.CommandLineAuth()
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -19,9 +26,15 @@ file_list = drive.ListFile({'q': "'{}' in parents and trashed=false".format(FOLD
 | 
			
		|||
for file1 in file_list:
 | 
			
		||||
    if file1['mimeType'] == 'application/vnd.google-apps.folder':
 | 
			
		||||
        continue
 | 
			
		||||
    if file1['id'] in seen:
 | 
			
		||||
        continue
 | 
			
		||||
 | 
			
		||||
    local_filename = file1['title']
 | 
			
		||||
    print(shlex.quote(local_filename))
 | 
			
		||||
    if not os.path.exists(local_filename):
 | 
			
		||||
        file1.GetContentFile(local_filename)
 | 
			
		||||
        seen.add(file1['id'])
 | 
			
		||||
        with open(os.path.expanduser('~/.local/share/drive-download/seen.pickle'), 'wb') as f:
 | 
			
		||||
            pickle.dump(seen, f)
 | 
			
		||||
    else:
 | 
			
		||||
        raise RuntimeError("{} exists".format(shlex.quote(local_filename)))
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue