From 9a9544b4547b3a750a32e4eca139097b252e3876 Mon Sep 17 00:00:00 2001 From: Raphael Roberts Date: Sun, 18 Nov 2018 15:02:09 -0600 Subject: [PATCH] testing phase --- gapi/drive_api.py | 41 ++++++++++------------------------------- 1 file changed, 10 insertions(+), 31 deletions(-) diff --git a/gapi/drive_api.py b/gapi/drive_api.py index 82095ba..c3eeb63 100644 --- a/gapi/drive_api.py +++ b/gapi/drive_api.py @@ -72,7 +72,7 @@ class drive_folder(drive_file): self.files = {} def create_folder(self,name): - meta = { + meta = { 'name':name, 'mimeType':'application/vnd.google-apps.folder', 'parents' : [self.id] @@ -116,7 +116,7 @@ class drive_api(API): self.root = drive_folder.from_id('root',self,None) root - def get_file_by_path(self,path,ret_file = True,no_parent = True): + def get_file_by_path(self,path,ret_file = True): if path == '/': return self.root '''gets a file or folder by remote path''' @@ -138,18 +138,13 @@ class drive_api(API): raise FileNotFoundError try: if ret_file: - if not 'files' in parent.keys(): - self.__fill_in__(parent) - ret = parent['files'][end] - if no_parent: - ret = without(ret,'parent') - + if not parent.files: + parent.refresh() + ret = parent.files[end] else: - if not 'folders' in parent.keys(): - self.__fill_in__(parent) - ret = parent['folders'][end] - if no_parent: - ret[0] = without(ret[0],'parent') + if not parent.folders: + parent.refresh() + ret = parent.folders[end] return ret except KeyError: raise FileNotFoundError @@ -163,21 +158,13 @@ class drive_api(API): missing = [] for i in range(len(path),-1,-1): try: - parent = self.get_file_by_path(path[:i],False,no_parent = False) + parent = self.get_file_by_path(path[:i],False) break except FileNotFoundError: missing.append(path[i-1]) while len(missing) > 0: - - new_folder = {'folders':{},'files':{}} - new_folder['parent'] = parent name = missing.pop() - new_meta = self.__create_remote_folder__(name,parent) - del new_meta['name'] - del new_meta['kind'] - new_folder[0] = new_meta - parent['folders'][name] = new_folder - parent = new_folder + parent = parent.folders[name] return parent def upload(self,local_path,remote_path): if not isinstance(remote_path,str): @@ -223,14 +210,6 @@ class drive_api(API): parent['files'][end] = new_f_meta return new_f_meta - def __create_remote_folder__(self,name,parent): - - - def __fill_in__(self,parent): - - - - if __name__ == "__main__": my_api = drive_api(APPLICATION_NAME,r'..\test\drive\client_secret.json',r'..\test\drive') service = my_api.service