add hostname to file entry (uncloud filescanner)
This commit is contained in:
		
					parent
					
						
							
								6086fec633
							
						
					
				
			
			
				commit
				
					
						48cc37c438
					
				
			
		
					 1 changed files with 6 additions and 7 deletions
				
			
		| 
						 | 
					@ -14,6 +14,7 @@ from uncloud.shared import shared
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
arg_parser = argparse.ArgumentParser('filescanner', add_help=False)
 | 
					arg_parser = argparse.ArgumentParser('filescanner', add_help=False)
 | 
				
			||||||
 | 
					arg_parser.add_argument('--hostname', required=True)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
def sha512sum(file: str):
 | 
					def sha512sum(file: str):
 | 
				
			||||||
| 
						 | 
					@ -41,7 +42,7 @@ def sha512sum(file: str):
 | 
				
			||||||
    return None
 | 
					    return None
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
def track_file(file, base_dir):
 | 
					def track_file(file, base_dir, host):
 | 
				
			||||||
    file_path = file.relative_to(base_dir)
 | 
					    file_path = file.relative_to(base_dir)
 | 
				
			||||||
    file_str = str(file)
 | 
					    file_str = str(file)
 | 
				
			||||||
    # Get Username
 | 
					    # Get Username
 | 
				
			||||||
| 
						 | 
					@ -60,6 +61,7 @@ def track_file(file, base_dir):
 | 
				
			||||||
            'sha512sum': sha512sum(file_str),
 | 
					            'sha512sum': sha512sum(file_str),
 | 
				
			||||||
            'creation_date': creation_date,
 | 
					            'creation_date': creation_date,
 | 
				
			||||||
            'size': str(bitmath.Byte(os.path.getsize(file_str)).to_MB()),
 | 
					            'size': str(bitmath.Byte(os.path.getsize(file_str)).to_MB()),
 | 
				
			||||||
 | 
					            'host': host
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        logger.info('Tracking %s', file_str)
 | 
					        logger.info('Tracking %s', file_str)
 | 
				
			||||||
| 
						 | 
					@ -67,7 +69,7 @@ def track_file(file, base_dir):
 | 
				
			||||||
        shared.etcd_client.put(entry_key, entry_value, value_in_json=True)
 | 
					        shared.etcd_client.put(entry_key, entry_value, value_in_json=True)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
def main(debug=False):
 | 
					def main(hostname, debug=False):
 | 
				
			||||||
    base_dir = settings['storage']['file_dir']
 | 
					    base_dir = settings['storage']['file_dir']
 | 
				
			||||||
    # Recursively Get All Files and Folder below BASE_DIR
 | 
					    # Recursively Get All Files and Folder below BASE_DIR
 | 
				
			||||||
    files = glob.glob('{}/**'.format(base_dir), recursive=True)
 | 
					    files = glob.glob('{}/**'.format(base_dir), recursive=True)
 | 
				
			||||||
| 
						 | 
					@ -77,11 +79,8 @@ def main(debug=False):
 | 
				
			||||||
    tracked_files = [
 | 
					    tracked_files = [
 | 
				
			||||||
        pathlib.Path(os.path.join(base_dir, f.value['owner'], f.value['filename']))
 | 
					        pathlib.Path(os.path.join(base_dir, f.value['owner'], f.value['filename']))
 | 
				
			||||||
        for f in shared.etcd_client.get_prefix(settings['etcd']['file_prefix'], value_in_json=True)
 | 
					        for f in shared.etcd_client.get_prefix(settings['etcd']['file_prefix'], value_in_json=True)
 | 
				
			||||||
 | 
					        if f.value['host'] == hostname
 | 
				
			||||||
    ]
 | 
					    ]
 | 
				
			||||||
    untracked_files = set(files) - set(tracked_files)
 | 
					    untracked_files = set(files) - set(tracked_files)
 | 
				
			||||||
    for file in untracked_files:
 | 
					    for file in untracked_files:
 | 
				
			||||||
        track_file(file, base_dir)
 | 
					        track_file(file, base_dir, hostname)
 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
if __name__ == '__main__':
 | 
					 | 
				
			||||||
    main()
 | 
					 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue