Spaces:
Build error
Build error
import time | |
import threading | |
from googleapiclient.discovery import build | |
class Clean: | |
def __init__(self, every=300): | |
self.service = build('drive', 'v3') | |
self.every = every | |
self.trash_cleanup_thread = None | |
def delete(self): | |
page_token = None | |
while 1: | |
response = self.service.files().list(q="trashed=true", spaces='drive', fields="nextPageToken, files(id, name)", pageToken=page_token).execute() | |
for file in response.get('files', []): | |
if file['name'].startswith("G_") or file['name'].startswith("D_"): | |
try: | |
self.service.files().delete(fileId=file['id']).execute() | |
except Exception as e: | |
raise RuntimeError(e) | |
page_token = response.get('nextPageToken', None) | |
if page_token is None: break | |
def clean(self): | |
while 1: | |
self.delete() | |
time.sleep(self.every) | |
def start(self): | |
self.trash_cleanup_thread = threading.Thread(target=self.clean) | |
self.trash_cleanup_thread.daemon = True | |
self.trash_cleanup_thread.start() | |
def stop(self): | |
if self.trash_cleanup_thread: self.trash_cleanup_thread.join() |