add multi_apps; update chrome utilities
This commit is contained in:
@@ -2,8 +2,9 @@ import json
|
||||
import logging
|
||||
import os
|
||||
import sqlite3
|
||||
from typing import Dict
|
||||
|
||||
from typing import Dict, Any
|
||||
from pydrive.auth import GoogleAuth
|
||||
from pydrive.drive import GoogleDrive, GoogleDriveFileList, GoogleDriveFile
|
||||
from playwright.sync_api import sync_playwright
|
||||
|
||||
logger = logging.getLogger("desktopenv.getters.chrome")
|
||||
@@ -461,3 +462,49 @@ def get_number_of_search_results(env, config: Dict[str, str]):
|
||||
browser.close()
|
||||
|
||||
return actual_count
|
||||
|
||||
|
||||
def get_googledrive_file(env, config: Dict[str, Any]) -> str:
|
||||
""" Get the desired file from Google Drive based on config, return the downloaded local filepath.
|
||||
"""
|
||||
settings_file = config.get('settings_file', 'evaluation_examples/settings/googledrive/settings.json')
|
||||
auth = GoogleAuth(settings_file=settings_file)
|
||||
drive = GoogleDrive(auth)
|
||||
|
||||
q = config['query']
|
||||
filelist: GoogleDriveFileList = drive.ListFile({'q': q}).GetList()
|
||||
if len(filelist) == 0: # target file not found
|
||||
return None
|
||||
|
||||
file: GoogleDriveFile = filelist[0] # HACK: if multiple candidates, just download the first one
|
||||
_path = os.path.join(env.cache_dir, config['dest'])
|
||||
|
||||
try:
|
||||
file.GetContentFile(_path, mimetype=file.metadata['mimeType'])
|
||||
except:
|
||||
logger.info('[ERROR]: Failed to download the file from Google Drive')
|
||||
return None
|
||||
return _path
|
||||
|
||||
|
||||
def get_googledrive_file(env, config: Dict[str, Any]) -> str:
|
||||
""" Get the desired file from Google Drive based on config, return the downloaded local filepath.
|
||||
"""
|
||||
settings_file = config.get('settings_file', 'evaluation_examples/settings/googledrive/settings.json')
|
||||
auth = GoogleAuth(settings_file=settings_file)
|
||||
drive = GoogleDrive(auth)
|
||||
|
||||
q = config['query']
|
||||
filelist: GoogleDriveFileList = drive.ListFile({'q': q}).GetList()
|
||||
if len(filelist) == 0: # target file not found
|
||||
return None
|
||||
|
||||
file: GoogleDriveFile = filelist[0] # HACK: if multiple candidates, just download the first one
|
||||
_path = os.path.join(env.cache_dir, config['dest'])
|
||||
|
||||
try:
|
||||
file.GetContentFile(_path, mimetype=file.metadata['mimeType'])
|
||||
except:
|
||||
logger.info('[ERROR]: Failed to download the file from Google Drive')
|
||||
return None
|
||||
return _path
|
||||
Reference in New Issue
Block a user