def route_gdrive(sub): logger.debug('route_gdrive:%s' % sub) if sub == 'token': if request.method == 'POST': token_name = request.form['token_name'] logger.debug('token:%s', token_name) ret = GDrive.make_token(request.host, name=token_name) return str(ret) elif sub == 'code': code = request.args.get('code') if GDrive.save_token(code): return u'토큰이 저장되었습니다' elif sub == 'start': if request.method == 'POST': match_rule = request.form['match_rule'] logger.debug('match_rule:%s', match_rule) gdrive = GDrive(match_rule) gdrive.start_change_watch() pms_global.gdrive_list.append(gdrive) elif sub == 'stop': for _ in pms_global.gdrive_list: _.stop() pms_global.gdrive_list = [] return 'ok'
def __init__(self, smartrc_dir=None): if smartrc_dir is None: smartrc_dir = sys.argv[1] super().__init__(smartrc_dir) if not self.is_settingfile: raise FileNotFoundError("smartrc setting file is not found") self.smartrc_pattern = re.compile(r'smartrc.*') self.gdrive = GDrive(smartrc_dir=smartrc_dir)
def __init__(self, smartrc_dir=None): if smartrc_dir is None: self.SMARTRC_DIR = sys.argv[1] else: self.SMARTRC_DIR = smartrc_dir setting_filename =\ path.join(self.SMARTRC_DIR, "setting/.smartrc.cfg") self.is_settingfile = False if path.isfile(setting_filename): self.read_setting() self.is_settingfile = True self.irrpfile = IRRPFile(smartrc_dir=self.SMARTRC_DIR) self.gdrive = GDrive(smartrc_dir=self.SMARTRC_DIR)
def _download_worker(self, file_id, local_file, mime_type, sleep_delay=1): """Download file worker thread.""" # For moment create new GDrive as http module used by underlying api is # not multi-thread aware and also add delay in for google 403 error if more # than approx 8 requests a second are made. # # TO DO: Get rid of delay and GDrive creation for each download. try: drive = GDrive(self._remote_drive.credentials) drive.file_download(file_id, local_file, mime_type) time.sleep(sleep_delay) except GDriveError as e: logging.error(e) self._download_errors += 1
def __init__(self, credentials, local_upload_path, file_translator): """Set attributes, create file observer and start watching it.""" try: self._credentials = credentials self._local_upload_path = local_upload_path self._remote_upload_folder = os.path.basename(local_upload_path) self._file_translator = file_translator if not os.path.exists(local_upload_path): os.makedirs(local_upload_path) self._drive = GDrive(self._credentials) # If remote folder does not exist create it off root file_query = "(name = '{}') and (not trashed)".format( self._remote_upload_folder) self._upload_folder = self._drive.file_list( query=file_query, file_fields='name, id, parents') if len(self._upload_folder) == 0: self._drive.folder_create(self._remote_upload_folder) self._upload_folder = self._drive.file_list( query=file_query, file_fields='name, id, parents') # Create observer and start watching folder self._observer = Observer() self._observer.schedule(self, self._local_upload_path, recursive=False) self._observer.start() except (Exception, GDriveError) as e: logging.error(e) raise e
from gdrive import GDrive GD = GDrive() GD.listaArchivos() # id = GD.crearFolder() # if(id): # print(id)