mirror of
				https://github.com/kerberos-io/openalpr-base.git
				synced 2025-10-31 09:56:19 +08:00 
			
		
		
		
	
		
			
				
	
	
		
			76 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			76 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| import os
 | |
| import shutil
 | |
| 
 | |
| BYTES_IN_A_MEGABYTE = 1048576
 | |
| 
 | |
| size_quota_mb=200000
 | |
| size_quota_bytes = size_quota_mb * BYTES_IN_A_MEGABYTE
 | |
| dir='/var/www/html/plates/'
 | |
| 
 | |
| 
 | |
| def get_size(start_path = '.'):
 | |
|     total_size = 0
 | |
|     for dirpath, dirnames, filenames in os.walk(start_path):
 | |
|         for f in filenames:
 | |
|             fp = os.path.join(dirpath, f)
 | |
|             total_size += os.path.getsize(fp)
 | |
|     return total_size
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| all_files = []
 | |
| 
 | |
| os.chdir(dir)
 | |
| 
 | |
| initial_dir_size = get_size()
 | |
| print initial_dir_size
 | |
| 
 | |
| if (initial_dir_size <= size_quota_bytes):
 | |
|     dir_size_mb = float(initial_dir_size) / float(BYTES_IN_A_MEGABYTE)
 | |
|     print "Directory is within quota (" + str(dir_size_mb) + " / " + str(size_quota_mb) + " MB)"
 | |
|     exit()
 | |
| 
 | |
| for files in os.listdir("."):
 | |
|     #print files
 | |
|     #print " -- " + str(os.stat(files))
 | |
|     if os.path.isdir(files):
 | |
|         filetuple = ( os.stat(files).st_mtime, get_size(files), files)
 | |
|         all_files.append( filetuple )
 | |
|     else:
 | |
|         filetuple = ( os.stat(files).st_mtime, os.stat(files).st_size, files)
 | |
|         all_files.append( filetuple )
 | |
| 
 | |
| 
 | |
| print "UNSORTED"
 | |
| 
 | |
| for file in all_files:
 | |
|     print file[0]
 | |
| 
 | |
| #print all_files
 | |
| 
 | |
| all_files.sort(key=lambda tup: tup[0])
 | |
| 
 | |
| print "SORTED"
 | |
| 
 | |
| for file in all_files:
 | |
|     print file[2]
 | |
| 
 | |
| bytes_left_to_delete = initial_dir_size - size_quota_bytes
 | |
| 
 | |
| for fileinfo in all_files:
 | |
|     if bytes_left_to_delete <= 0:
 | |
|         break
 | |
|     filename = fileinfo[2]
 | |
|     filebytes = fileinfo[1]
 | |
| 
 | |
|     print "Deleting: " + filename + " (" + str(filebytes) + " bytes)"
 | |
| 
 | |
|     if (os.path.isdir(filename)):
 | |
|         shutil.rmtree(filename, True)
 | |
|     else:
 | |
|         os.remove(filename)
 | |
|     bytes_left_to_delete = bytes_left_to_delete - filebytes
 | |
| 
 | 
