From 7b7468a1f4e9c869ce7c83ca4dbd5616441ac9fe Mon Sep 17 00:00:00 2001 From: efiop Date: Tue, 26 Dec 2023 02:11:50 +0000 Subject: [PATCH] deploy: ea5c8f2605d988536b7dd8ee8ea30826cd95177d --- .doctrees/environment.pickle | Bin 582594 -> 582955 bytes .doctrees/pydrive2.doctree | Bin 230443 -> 230738 bytes pydrive2/index.html | 2 ++ searchindex.js | 2 +- 4 files changed, 3 insertions(+), 1 deletion(-) diff --git a/.doctrees/environment.pickle b/.doctrees/environment.pickle index f21ec72d616c98b687b7fb7df32d6435f666b457..10170c56e6bb36cd73e94abc1e92fcc15a950046 100644 GIT binary patch delta 51200 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

cSQ$b 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 diff --git a/.doctrees/pydrive2.doctree b/.doctrees/pydrive2.doctree index 05f88b674d1971d6f42069e08702bcac341738eb..f434561d5f37521a68d52122b60c2bfb4653f2f2 100644 GIT binary patch delta 27215 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 xwr ztK7UcP7gG#Q>BYIQO=!aM~X^! z`jy~5fNEnV2IFg|*$j#=d>+ig?(MhChIDI;8Ji)H6#}V8_TlDmcyC>Xm7*sJOa;Rb zjkKS|1Y`-&A_wRp0n&J;?TLE5KrL#3YM9gY7Xze^D0ok~FABa)vOR6@?gI_cJx4*h z@kYUoR6&gG-f~|Q+}p<+1@(bGrm(%$N&gM!U8oCtzmJ5$qkZ^DC!^*t__9g4!MX<_ z0@9FP>l~VOkniauF)pr~b*sh$$GG}#R*7z2Au;aS3g>KPvenW&)7>g|U0WfB0o{k- zO9tn$vQp6y=`b6Un}e^kB$(kjR-r3|>IxrLg`~E-bF7Xf6y?>9h+z*1$SjngMxMj-G>7XjCw_g1gyS z(!NGFJ6jNrtsu_|@+-(N{d>X!QVAlNKGWi|2udPUNQI|0&ip@-j}W#8a+45tFR4c= zY%J#xwgn*Kc3bI=-EJ#j+3hfEi!&;Lapr8k^@`rb4e@7~UNJ`ttOwOAW>TTG5LDN$Pg602j%NdiA@r&NM;x@UW&8?QYEp~TVS8P;Qr;g7FnR&q|oA79I>l#j3F zV}}DQQstWUy`hovN;1eG#?1x^*7)0NIQ@_Ac8rx|M)$JXHRBIZ10Q`1V7RZjv`X%# z&zD*g^%#^Qclwg36{A8a z_2}zFrxz+c3-2z`AA&Y~e;LI*yR;RWLc-*a2gE@&%PQHQNHwmfsg=|Acf`Qcre8lR z#dTJi>dWkIsFacZgZ-^VI<_y5^dtMq zNI$YKR9UWb`pR784Si{@GNuOr{m1uA2dS|inFgIm13ZuI@ylcTNK<#Cb(6*;&jyB} z75K5MulR9u)FwZkC3MXYx&r&kz`pq)D-1*bgh5uczOOGUJCJI~xc+WIHKQ;0jeZ3{ z$}8>PSMp?6t)F5ld0db0uFts1iVUtIZrC6;(;XYc=DzHuufQGfJr37kE1wJjqbFo` zr1PzVtyFB|JwDi~(Qo%lpSGL!1I2XD&Pg|3=lq;1h&}9v)X5&$Ih*%u za88`IpEJyIqfgv03W>s%)?L)~=EN|#XGA~lFBm(!=c{JKaO-{zVDiKawCdn)){i|g zd4x4wbvGBPt+eax*L_W+m|Sr;y=h>!!4>-x^(^@TbjOk((9ho$U+*ifSU=Lw70Yh1 zs+CPdhx1n^_4s}b?pR=M8HJ(TTq?~C8c&2uyLXt=qd?;dqEVJF)C0sU&p)aqd@Bb- z{eeIX1Yg~+LGZ3S3FT>f3lV&$=~fNbyMtbdsK@pbQ7^B?@B$|RtF0&X_I~Vjbo{T{ za!!Z7O(1Ujj(*~LqsLm~=nx>v`FP-we&T*dNLkJ&&b}3JJ{@|2$c^xf_H>K6M1=UA z6J){~`67_9FXESd@rWrOXBBEZk}u+50ZBnJ%(p=*eZA>TfY6zk6jMD3mO*D?lB$^E zJ^k1z`6K8(tEe}@NRunkHo83`2|60uql)LDlg!F#kTD&L@hb#=_Ra16*f+-#n4_kC zGUpapWg=^=h~PjpD<)DycWfdxRgQCV7m7uLx*Dqoe&tPIt&Fxv?FqCKrz2594}nrFIAwsMR$#hcn1;$A4MH#;X= z>c8V2iI!=Y?u=WKBpPhmU#xqPHA5Fz8r`aYvL-JvjXJv;H zt@}&*`HT5ws+F!=^_Lv^mqwK_x&ds;uUdtf;!91(r&;MK?+~r0?X>=o7u|Dcpc`*! zsHX~IudAxWUdK+is&v=>92)jdw+gUs?V4f5>%#t$NappIM6#kk2L{H?f#Dr&` z`g-A#j;KTbp~DX8gbV$D3A>Ii^bZ;Aw?lEE5B1yU-MCz$OP?@Y=*#N%S9JM?F1g{j z6w+lGUFzs^m@dcY5+8v}3SH*VWjKBu@$jUNx3$5fLsze&b5~M2{_37)J_UCk=uT0tOw`LwivX zF0|%lx1_ZNTK2KKmEh8oE=%aLoGu^JT8a delta 26981 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⪯ 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 diff --git a/pydrive2/index.html b/pydrive2/index.html index 582881d6..bad573b4 100644 --- a/pydrive2/index.html +++ b/pydrive2/index.html @@ -508,6 +508,8 @@

pydrive2 package
Parameters:
    diff --git a/searchindex.js b/searchindex.js index 4f9825b7..39e9f61f 100644 --- a/searchindex.js +++ b/searchindex.js @@ -1 +1 @@ -Search.setIndex({"docnames": ["filelist", "filemanagement", "fsspec", "genindex", "index", "oauth", "pydrive2", "quickstart"], "filenames": ["filelist.rst", "filemanagement.rst", "fsspec.rst", "genindex.rst", "index.rst", "oauth.rst", "pydrive2.rst", "quickstart.rst"], "titles": ["File listing made easy", "File management made easy", "fsspec filesystem", "Index", "Welcome to PyDrive2\u2019s documentation!", "OAuth made easy", "pydrive2 package", "Quickstart"], "terms": {"pydriv": [0, 1, 5], "handl": [0, 4, 5, 6, 7], "pars": [0, 7], "respons": [0, 7], "googledrivefil": [0, 1, 6, 7], "creat": [0, 1, 4, 5, 6], "googledrivefilelist": [0, 6], "instanc": [0, 1, 2, 5, 6, 7], "paramet": [0, 1, 4, 6], "dict": [0, 1, 5, 6, 7], "call": [0, 1, 5, 6, 7], "getlist": [0, 1, 6, 7], "you": [0, 1, 2, 4, 5, 6, 7], "your": [0, 1, 2, 4, 7], "The": [0, 1, 5, 6, 7], "syntax": 0, "possibl": [0, 5], "option": [0, 1, 5, 6], "q": [0, 1, 7], "can": [0, 1, 4, 5, 6, 7], "found": [0, 1], "search": [0, 7], "googl": [0, 1, 4, 5, 6, 7], "document": [0, 1, 7], "from": [0, 2, 4, 5, 6, 7], "pydrive2": [0, 1, 2, 5, 7], "drive": [0, 1, 4, 5, 7], "import": [0, 1, 2, 5, 7], "googledr": [0, 1, 5, 6, 7], "gauth": [0, 1, 5, 7], "authent": [0, 1, 4, 6], "googleauth": [0, 1, 5, 6, 7], "auto": [0, 5, 7], "root": [0, 2, 7], "folder": [0, 4, 5, 6], "file_list": [0, 7], "listfil": [0, 1, 6, 7], "parent": [0, 1, 7], "trash": [0, 2, 4, 6, 7], "fals": [0, 5, 6, 7], "file1": [0, 1, 7], "print": [0, 1, 2, 6, 7], "titl": [0, 1, 4, 6], "": [0, 1, 2, 6, 7], "id": [0, 4, 5, 6], "updat": [0, 4, 6], "metadata": [0, 4, 5, 6, 7], "content": [0, 6, 7], "need": [0, 1, 5, 7], "provid": [0, 1, 2, 5, 6, 7], "python": [0, 4, 6, 7], "wai": [0, 2], "here": [0, 1, 5, 7], "i": [0, 1, 4, 5, 6, 7], "an": [0, 1, 5, 6, 7], "exampl": [0, 1, 5], "how": [0, 2], "do": [0, 1, 5], "thi": [0, 1, 5, 6, 7], "maxresult": [0, 6], "below": [0, 7], "defin": [0, 1, 5], "mani": [0, 1, 4, 7], "retriev": [0, 1, 5, 6], "onc": [0, 6, 7], "we": [0, 1, 5, 6], "wrap": 0, "loop": 0, "sampl": [0, 1], "code": [0, 1, 5, 6, 7], "continu": [0, 1], "abov": [0, 1, 5], "specifi": [0, 6], "number": [0, 2, 6], "max": 0, "result": [0, 1, 6], "true": [0, 1, 2, 5, 6], "10": 0, "receiv": [0, 5], "len": 0, "There": [1, 7], "ar": [1, 2, 5, 6, 7], "method": [1, 2, 5, 6, 7], "With": [1, 7], "don": [1, 5, 6], "t": [1, 5, 6], "have": [1, 5, 6, 7], "care": 1, "about": [1, 2, 6], "ani": [1, 5, 6], "differ": [1, 7], "api": [1, 4, 5, 6, 7], "manipul": [1, 2], "object": [1, 6], "make": [1, 5, 6, 7], "optim": [1, 7], "hello": [1, 7], "txt": [1, 7], "createfil": [1, 6, 7], "file_id": 1, "now": [1, 5, 7], "open": [1, 6, 7], "web": [1, 6, 7], "interfac": 1, "check": [1, 6], "its": [1, 7], "world": [1, 7], "note": [1, 5], "actual": 1, "initi": [1, 6], "itself": [1, 5], "howev": [1, 5], "recommend": 1, "so": 1, "order": [1, 6], "keep": 1, "consist": 1, "mai": 1, "want": [1, 2, 5, 6, 7], "To": [1, 4, 5], "us": [1, 4, 5, 6, 7], "untrash": [1, 6], "move": [1, 2, 6], "recov": 1, "perman": 1, "immedi": 1, "out": [1, 5, 6], "just": [1, 5], "format": [1, 6, 7], "resourc": [1, 6], "helloworld": 1, "chang": [1, 6], "ha": [1, 6, 7], "might": [1, 2, 5], "In": [1, 5], "case": [1, 5], "access": [1, 5, 6], "file2": 1, "mimetyp": [1, 6, 7], "text": [1, 6], "plain": [1, 6], "Not": 1, "all": [1, 4, 5, 6, 7], "set": [1, 4, 7], "describ": 1, "give": 1, "through": [1, 2, 4, 6, 7], "file_object": 1, "fetchmetadata": [1, 6], "function": [1, 6, 7], "two": [1, 4, 6, 7], "field": [1, 5, 6], "fetch_al": [1, 6], "some": [1, 5, 7], "fetch": [1, 6], "basic": 1, "includ": [1, 6, 7], "size": [1, 6, 7], "last": 1, "modifi": [1, 6], "etc": [1, 5, 6], "avail": [1, 5, 6], "like": [1, 5, 6, 7], "label": [1, 6], "For": [1, 5, 6, 7], "more": [1, 2, 5, 7], "inform": [1, 2, 6, 7], "look": [1, 5, 7], "offici": [1, 6], "illustr": 1, "readabl": 1, "who": 1, "link": [1, 5], "insertpermiss": [1, 6], "type": [1, 5, 6, 7], "anyon": 1, "valu": [1, 5, 6], "role": 1, "reader": 1, "alternatelink": 1, "displai": 1, "sharabl": 1, "getpermiss": [1, 6], "after": [1, 6], "successfulli": 1, "find": 1, "permit": 1, "share": [1, 5, 6], "view": 1, "But": 1, "what": 1, "whether": [1, 6], "alreadi": [1, 2], "also": [1, 5, 7], "advanc": 1, "user": [1, 2, 5, 6], "shorthand": 1, "arrai": 1, "further": 1, "allow": [1, 7], "deletepermiss": [1, 6], "permission_id": [1, 6], "one": [1, 5, 6], "time": [1, 6], "1": 1, "name": [1, 6, 7], "other": 1, "constraint": 1, "usual": 1, "filenam": [1, 6], "uniqu": 1, "equal": 1, "extens": 1, "e": [1, 6], "g": [1, 6], "123": 1, "jpeg": 1, "mp3": 1, "expect": 1, "onli": [1, 5], "add": [1, 7], "see": [1, 2, 6, 7], "string": [1, 2, 5, 6, 7], "file_test": 1, "f": [1, 2, 4], "match": [1, 4, 7], "against": [1, 7], "getrevis": [1, 6], "If": [1, 5, 6], "doe": 1, "except": [1, 6], "rais": [1, 6], "either": 1, "setcontentfil": [1, 6], "setcontentstr": [1, 6, 7], "did": 1, "file4": 1, "appdata": 1, "json": [1, 2, 5, 6, 7], "applic": [1, 5, 6, 7], "firstnam": 1, "john": 1, "lastnam": 1, "smith": 1, "claudio": 1, "afshar": 1, "file5": 1, "read": [1, 5, 6], "cat": 1, "png": 1, "imag": 1, "getcontentfil": [1, 6], "which": [1, 2, 4, 5, 6, 7], "charact": 1, "encod": [1, 6], "store": [1, 5], "iso": 1, "8859": 1, "content_str": 1, "getcontentstr": [1, 6], "kept": 1, "when": [1, 5, 6], "io": [1, 6], "modul": [1, 4], "oper": 1, "resid": 1, "base64": 1, "decod": [1, 6], "without": 1, "save": [1, 5, 6], "image_test": 1, "o": [1, 5, 7], "implement": 1, "image_fil": 1, "bytesio": [1, 6], "image_byt": 1, "pass": [1, 6], "param": [1, 6], "previou": 1, "id_drive_fold": 1, "file6": 1, "catlov": 1, "file7": 1, "replac": 1, "familynam": 1, "known": [1, 6], "bom": [1, 6], "mark": [1, 6], "begin": 1, "confus": 1, "parser": 1, "lead": [1, 5], "corrupt": 1, "remove_bom": [1, 6], "strip_bom_exampl": 1, "py": [1, 7], "github": [1, 4], "repositori": 1, "identifi": [1, 2, 6, 7], "malwar": 1, "owner": 1, "been": 1, "spam": 1, "cannot": [1, 6], "error": [1, 6], "acknowledge_abus": [1, 2, 6], "By": [1, 2, 5], "indic": 1, "acknowledg": [1, 2, 6], "risk": [1, 2, 6], "potenti": 1, "easi": [2, 4, 7], "work": [2, 5, 7], "file": [2, 4, 5], "compat": 2, "gdrivefilesystem": [2, 6], "pip": [2, 4], "client_id": [2, 5, 6], "my_client_id": 2, "client_secret": [2, 5, 6, 7], "my_client_secret": 2, "default": [2, 5, 6], "credenti": [2, 5, 6, 7], "cach": 2, "per": 2, "multipl": 2, "profil": 2, "avoid": 2, "accident": 2, "someon": [2, 5], "els": [2, 7], "myprofil": 2, "write": [2, 6], "exist": [2, 5, 6, 7], "interact": 2, "auth": [2, 4, 5, 7], "client_json_file_path": [2, 5], "path": [2, 5, 6, 7], "keyfil": 2, "client_json": [2, 5], "json_str": 2, "use_service_account": 2, "client_user_email": [2, 5, 6], "deleg": [2, 5], "author": [2, 5, 6, 7], "trash_onli": 2, "bool": [2, 5, 6], "instead": 2, "delet": [2, 4, 6], "download": [2, 4, 5, 6, 7], "abus": [2, 4, 6], "info": 2, "dname": 2, "fname": 2, "walk": 2, "dir": 2, "offer": 2, "larg": 2, "get": [2, 4, 5, 6, 7], "refer": [2, 7], "doc": [2, 4], "wrapper": [4, 6], "librari": [4, 6], "client": [4, 5, 6, 7], "simplifi": 4, "common": [4, 6, 7], "task": [4, 7], "packag": 4, "http": [4, 5, 6, 7], "pypi": 4, "org": 4, "iter": [4, 6, 7], "ai": 4, "sourc": 4, "com": [4, 5, 6], "changelog": 4, "releas": 4, "regular": 4, "command": [4, 5, 6], "current": [4, 6, 7], "develop": 4, "version": 4, "git": 4, "egg": 4, "quickstart": [4, 5], "list": [4, 5, 6], "return": [4, 5, 6], "via": 4, "brows": 4, "oauth": [4, 7], "made": [4, 7], "line": [4, 6], "automat": [4, 6], "custom": 4, "yaml": [4, 6], "build": [4, 6], "own": [4, 7], "flow": [4, 6], "servic": [4, 6], "account": [4, 6], "manag": [4, 7], "upload": [4, 6, 7], "new": [4, 6, 7], "un": 4, "special": [4, 5, 7], "complex": [4, 5, 7], "queri": [4, 7], "data": [4, 5, 6, 7], "byte": [4, 6], "memori": 4, "buffer": [4, 6], "specif": [4, 6], "pagin": [4, 6, 7], "fsspec": [4, 6], "filesystem": [4, 6], "local": [4, 5, 6, 7], "webserv": [4, 5, 7], "addit": [4, 6], "apiattr": 4, "index": 4, "oauth2": [5, 6, 7], "0": [5, 6, 7], "difficult": 5, "start": 5, "simpl": [5, 7], "localwebserverauth": [5, 6, 7], "Or": 5, "commandlineauth": [5, 6], "past": [5, 7], "browser": [5, 6, 7], "site": 5, "token": [5, 6], "comment": 5, "altern": 5, "copi": [5, 6, 7], "entir": 5, "thing": 5, "editor": 5, "configur": [5, 6, 7], "consol": [5, 6, 7], "take": [5, 7], "detail": [5, 6, 7], "instruct": [5, 7], "built": 5, "up": 5, "manual": 5, "section": 5, "silent": 5, "remot": 5, "machin": 5, "setup": 5, "complic": 5, "requir": [5, 6, 7], "lot": 5, "most": [5, 6], "scope": 5, "www": [5, 6], "googleapi": [5, 6], "refresh": [5, 6], "while": [5, 6], "maintain": 5, "clean": [5, 6], "directori": [5, 7], "behavior": 5, "These": 5, "client_config_backend": [5, 6], "str": [5, 6], "client_config_fil": [5, 6], "client_config": [5, 6], "auth_uri": [5, 6], "token_uri": [5, 6], "redirect_uri": [5, 6], "revoke_uri": [5, 6], "service_config": 5, "client_json_dict": 5, "save_credenti": [5, 6], "save_credentials_backend": 5, "save_credentials_fil": 5, "save_credentials_dict": 5, "save_credentials_kei": 5, "get_refresh_token": 5, "oauth_scop": [5, 6], "explain": 5, "where": [5, 6], "valid": [5, 6], "No": 5, "contain": [5, 6], "place": [5, 7], "hold": 5, "dictionari": [5, 6], "ye": 5, "secret": 5, "server": [5, 6], "endpoint": 5, "uri": [5, 7], "redirect": [5, 7], "urn": 5, "ietf": 5, "wg": 5, "2": 5, "oob": 5, "revok": 5, "none": [5, 6, 7], "email": [5, 6], "wa": 5, "kei": [5, 6], "load": [5, 6], "backend": [5, 6], "destin": [5, 6], "within": 5, "along": 5, "9637341109347": 5, "app": [5, 7], "googleusercont": 5, "psdskoowr1p602pxrthi": 5, "instal": 5, "integr": 5, "websit": 5, "follw": 5, "url": [5, 6], "getauthurl": [5, 6], "ask": [5, 7], "visit": [5, 6], "grant": [5, 6], "oauth2callback": 5, "step": [5, 7], "too": 5, "auth_url": 5, "askusertovisitlinkandgivecod": 5, "A": [5, 6, 7], "intend": 5, "repres": 5, "non": 5, "human": 5, "typic": 5, "scenario": 5, "run": [5, 7], "workload": 5, "virtual": 5, "vm": 5, "center": 5, "ti": 5, "lifecycl": 5, "login": 5, "def": [5, 7], "login_with_service_account": 5, "serviceauth": [5, 6], "class": 6, "apiattribut": 6, "base": 6, "descriptor": 6, "apiattributemixin": 6, "mixin": 6, "global": 6, "variabl": 6, "apiresourc": 6, "arg": 6, "kwarg": 6, "super": 6, "inherit": 6, "behav": 6, "self": 6, "element": [6, 7], "effici": 6, "getchang": 6, "updatemetadata": 6, "them": 6, "overwritten": 6, "apiresourcelist": 6, "abstract": 6, "everi": 6, "otherwis": 6, "pagetoken": 6, "reset": 6, "autherror": 6, "authenticationerror": 6, "gener": 6, "authenticationreject": 6, "reject": 6, "checkauth": 6, "decorate": 6, "decor": 6, "request": 6, "checkserviceauth": 6, "settings_fil": 6, "http_timeout": 6, "oauth2client": 6, "perform": 6, "relat": 6, "given": [6, 7], "back": 6, "client_configs_list": 6, "commandlin": 6, "default_set": 6, "getflow": 6, "invalidconfigerror": 6, "get_http_object": 6, "httplib2": 6, "necessari": 6, "thread": 6, "safeti": 6, "each": 6, "rtype": 6, "loadclientconfig": 6, "accord": 6, "mind": 6, "correspond": 6, "loadclientconfigfil": 6, "config": 6, "loadclientconfigset": 6, "loadcredenti": 6, "empti": 6, "doesn": 6, "target": 6, "loadcredentialsfil": 6, "credentials_fil": 6, "invalidcredentialserror": 6, "loadserviceconfigset": 6, "host_nam": 6, "localhost": [6, 7], "port_numb": 6, "launch_brows": 6, "bind_addr": 6, "It": 6, "standalon": 6, "host": 6, "port": 6, "tri": 6, "should": 6, "launch": 6, "ip": 6, "address": 6, "listen": 6, "access_token": 6, "refresherror": 6, "service_configs_list": 6, "savecredenti": 6, "savecredentialsfil": 6, "p12": 6, "privat": 6, "properti": 6, "access_token_expir": 6, "expir": 6, "auth_method": 6, "oserror": 6, "try": 6, "loadauth": 6, "main": 6, "would": 6, "getabout": 6, "usag": 6, "quota": 6, "sent": 6, "apirequesterror": 6, "http_error": 6, "getfield": 6, "first": 6, "filenotdownloadableerror": 6, "runtimeerror": 6, "filenotuploadederror": 6, "target_fold": 6, "new_titl": 6, "hard": 6, "permiss": 6, "succe": 6, "fetchcont": 6, "download_url": 6, "entri": [6, 7], "separ": 6, "comma": 6, "callback": 6, "chunksiz": 6, "104857600": 6, "remov": 6, "argument": [6, 7], "total": 6, "transfer": 6, "int": 6, "standard": 6, "100": 6, "mb": 6, "1024": 6, "getcontentiobuff": 6, "mediaioread": 6, "utf": 6, "8": 6, "strip": 6, "collect": 6, "revis": 6, "new_permiss": 6, "insert": 6, "re": 6, "pleas": 6, "guid": 6, "Will": 6, "close": 6, "mean": 6, "choos": 6, "filelist": 6, "equival": 6, "iobuff": 6, "lightweight": 6, "retent": 6, "chunk": 6, "loadmetadata": 6, "pre_buff": 6, "remove_prefix": 6, "b": 6, "done": [6, 7], "loadsettingsfil": 6, "settingserror": 6, "validateset": 6, "abstractfilesystem": 6, "gdrive": 6, "life": 7, "much": 7, "easier": 7, "go": 7, "project": 7, "select": 7, "click": 7, "enabl": 7, "left": 7, "menu": 7, "product": 7, "consent": 7, "screen": 7, "follow": 7, "finish": 7, "enter": 7, "appropri": 7, "input": 7, "8080": 7, "right": 7, "side": 7, "client_secret_": 7, "realli": 7, "long": 7, "renam": 7, "accept": 7, "know": 7, "let": 7, "again": 7, "execut": 7, "treat": 7, "everyth": 7, "assign": 7, "thu": 7, "subfold": 7, "create_fold": 7, "parent_folder_id": 7, "subfolder_nam": 7, "newfold": 7, "kind": 7, "filelink": 7, "vnd": 7, "get_id_of_titl": 7, "demonstr": 7, "workflow": 7, "parent_directory_id": 7, "compar": 7, "foldered_list": 7, "output": 7, "attribut": 7, "parent_id": 7, "folder_brows": 7, "folder_list": 7, "nenter": 7, "inp": 7, "elif": 7, "home_directori": 7, "root_folder_nam": 7, "sep": 7, "usernam": 7, "makedir": 7, "folder_select": 7, "struc": 7, "append": 7, "insid": 7, "present": 7}, "objects": {"pydrive2": [[6, 0, 0, "-", "apiattr"], [6, 0, 0, "-", "auth"], [6, 0, 0, "-", "drive"], [6, 0, 0, "-", "files"], [6, 0, 0, "-", "settings"]], "pydrive2.apiattr": [[6, 1, 1, "", "ApiAttribute"], [6, 1, 1, "", "ApiAttributeMixin"], [6, 1, 1, "", "ApiResource"], [6, 1, 1, "", "ApiResourceList"]], "pydrive2.apiattr.ApiResource": [[6, 2, 1, "", "GetChanges"], [6, 2, 1, "", "UpdateMetadata"], [6, 3, 1, "", "auth"], [6, 2, 1, "", "update"]], "pydrive2.apiattr.ApiResourceList": [[6, 2, 1, "", "GetList"], [6, 2, 1, "", "Reset"], [6, 3, 1, "", "metadata"]], "pydrive2.auth": [[6, 4, 1, "", "AuthError"], [6, 4, 1, "", "AuthenticationError"], [6, 4, 1, "", "AuthenticationRejected"], [6, 5, 1, "", "CheckAuth"], [6, 5, 1, "", "CheckServiceAuth"], [6, 1, 1, "", "GoogleAuth"], [6, 4, 1, "", "InvalidCredentialsError"], [6, 5, 1, "", "LoadAuth"], [6, 4, 1, "", "RefreshError"]], "pydrive2.auth.GoogleAuth": [[6, 2, 1, "", "Auth"], [6, 2, 1, "", "Authenticate"], [6, 2, 1, "", "Authorize"], [6, 3, 1, "", "CLIENT_CONFIGS_LIST"], [6, 2, 1, "", "CommandLineAuth"], [6, 3, 1, "", "DEFAULT_SETTINGS"], [6, 2, 1, "", "GetAuthUrl"], [6, 2, 1, "", "GetFlow"], [6, 2, 1, "", "Get_Http_Object"], [6, 2, 1, "", "LoadClientConfig"], [6, 2, 1, "", "LoadClientConfigFile"], [6, 2, 1, "", "LoadClientConfigSettings"], [6, 2, 1, "", "LoadCredentials"], [6, 2, 1, "", "LoadCredentialsFile"], [6, 2, 1, "", "LoadServiceConfigSettings"], [6, 2, 1, "", "LocalWebserverAuth"], [6, 2, 1, "", "Refresh"], [6, 3, 1, "", "SERVICE_CONFIGS_LIST"], [6, 2, 1, "", "SaveCredentials"], [6, 2, 1, "", "SaveCredentialsFile"], [6, 2, 1, "", "ServiceAuth"], [6, 6, 1, "", "access_token_expired"], [6, 3, 1, "", "auth_method"], [6, 3, 1, "", "client_config"], [6, 3, 1, "", "credentials"], [6, 3, 1, "", "flow"], [6, 3, 1, "", "http"], [6, 3, 1, "", "service"], [6, 3, 1, "", "settings"]], "pydrive2.drive": [[6, 1, 1, "", "GoogleDrive"]], "pydrive2.drive.GoogleDrive": [[6, 2, 1, "", "CreateFile"], [6, 2, 1, "", "GetAbout"], [6, 2, 1, "", "ListFile"]], "pydrive2.files": [[6, 4, 1, "", "ApiRequestError"], [6, 4, 1, "", "FileNotDownloadableError"], [6, 4, 1, "", "FileNotUploadedError"], [6, 1, 1, "", "GoogleDriveFile"], [6, 1, 1, "", "GoogleDriveFileList"], [6, 1, 1, "", "IoBuffer"], [6, 5, 1, "", "LoadMetadata"], [6, 1, 1, "", "MediaIoReadable"]], "pydrive2.files.ApiRequestError": [[6, 2, 1, "", "GetField"]], "pydrive2.files.GoogleDriveFile": [[6, 2, 1, "", "Copy"], [6, 2, 1, "", "Delete"], [6, 2, 1, "", "DeletePermission"], [6, 2, 1, "", "FetchContent"], [6, 2, 1, "", "FetchMetadata"], [6, 2, 1, "", "GetContentFile"], [6, 2, 1, "", "GetContentIOBuffer"], [6, 2, 1, "", "GetContentString"], [6, 2, 1, "", "GetPermissions"], [6, 2, 1, "", "GetRevisions"], [6, 2, 1, "", "InsertPermission"], [6, 2, 1, "", "SetContentFile"], [6, 2, 1, "", "SetContentString"], [6, 2, 1, "", "Trash"], [6, 2, 1, "", "UnTrash"], [6, 2, 1, "", "Upload"], [6, 3, 1, "", "content"], [6, 3, 1, "", "metadata"], [6, 3, 1, "", "uploaded"]], "pydrive2.files.IoBuffer": [[6, 2, 1, "", "read"], [6, 2, 1, "", "write"]], "pydrive2.files.MediaIoReadable": [[6, 2, 1, "", "read"]], "pydrive2.fs": [[6, 1, 1, "", "GDriveFileSystem"]], "pydrive2.settings": [[6, 4, 1, "", "InvalidConfigError"], [6, 5, 1, "", "LoadSettingsFile"], [6, 4, 1, "", "SettingsError"], [6, 5, 1, "", "ValidateSettings"]]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:method", "3": "py:attribute", "4": "py:exception", "5": "py:function", "6": "py:property"}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "class", "Python class"], "2": ["py", "method", "Python method"], "3": ["py", "attribute", "Python attribute"], "4": ["py", "exception", "Python exception"], "5": ["py", "function", "Python function"], "6": ["py", "property", "Python property"]}, "titleterms": {"file": [0, 1, 6, 7], "list": [0, 1, 7], "made": [0, 1, 5], "easi": [0, 1, 5], "get": [0, 1], "all": 0, "which": 0, "match": 0, "queri": [0, 1], "pagin": 0, "iter": 0, "through": 0, "manag": 1, "upload": 1, "new": 1, "delet": 1, "trash": 1, "un": 1, "updat": [1, 7], "metadata": 1, "download": 1, "from": 1, "id": [1, 7], "handl": 1, "special": 1, "insert": 1, "permiss": 1, "remov": 1, "complex": 1, "revis": 1, "content": [1, 4], "data": 1, "byte": 1, "memori": 1, "buffer": 1, "specif": 1, "folder": [1, 7], "abus": 1, "fsspec": 2, "filesystem": 2, "instal": [2, 4], "local": 2, "webserv": 2, "servic": [2, 5], "account": [2, 5], "addit": 2, "paramet": 2, "us": 2, "index": 3, "welcom": 4, "pydrive2": [4, 6], "": 4, "document": 4, "project": 4, "info": 4, "how": 4, "tabl": 4, "oauth": 5, "authent": [5, 7], "two": 5, "line": 5, "automat": 5, "custom": 5, "set": [5, 6], "yaml": 5, "sampl": 5, "build": 5, "your": 5, "own": 5, "flow": 5, "packag": 6, "apiattr": 6, "modul": 6, "auth": 6, "drive": 6, "f": 6, "quickstart": 7, "creat": 7, "return": 7, "via": 7, "titl": 7, "brows": 7}, "envversion": {"sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx": 58}, "alltitles": {"File listing made easy": [[0, "file-listing-made-easy"]], "Get all files which matches the query": [[0, "get-all-files-which-matches-the-query"]], "Paginate and iterate through files": [[0, "paginate-and-iterate-through-files"]], "File management made easy": [[1, "file-management-made-easy"]], "Upload a new file": [[1, "upload-a-new-file"]], "Delete, Trash and un-Trash files": [[1, "delete-trash-and-un-trash-files"]], "Update file metadata": [[1, "update-file-metadata"]], "Download file metadata from file ID": [[1, "download-file-metadata-from-file-id"]], "Handling special metadata": [[1, "handling-special-metadata"]], "Insert permissions": [[1, "insert-permissions"]], "List permissions": [[1, "list-permissions"]], "Remove a Permission": [[1, "remove-a-permission"]], "Get files by complex queries": [[1, "get-files-by-complex-queries"]], "List revisions": [[1, "list-revisions"]], "Upload and update file content": [[1, "upload-and-update-file-content"]], "Upload data as bytes in memory buffer": [[1, "upload-data-as-bytes-in-memory-buffer"]], "Upload file to a specific folder": [[1, "upload-file-to-a-specific-folder"]], "Download file content": [[1, "download-file-content"]], "Abusive files": [[1, "abusive-files"]], "fsspec filesystem": [[2, "fsspec-filesystem"]], "Installation": [[2, "installation"]], "Local webserver": [[2, "local-webserver"]], "Service account": [[2, "service-account"]], "Additional parameters": [[2, "additional-parameters"]], "Using filesystem": [[2, "using-filesystem"]], "Index": [[3, "index"]], "Welcome to PyDrive2\u2019s documentation!": [[4, "welcome-to-pydrive2-s-documentation"]], "Project Info": [[4, "project-info"]], "How to install": [[4, "how-to-install"]], "Table of Contents": [[4, "table-of-contents"]], "OAuth made easy": [[5, "oauth-made-easy"]], "Authentication in two lines": [[5, "authentication-in-two-lines"]], "Automatic and custom authentication with settings.yaml": [[5, "automatic-and-custom-authentication-with-settings-yaml"]], "Sample settings.yaml": [[5, "sample-settings-yaml"]], "Building your own authentication flow": [[5, "building-your-own-authentication-flow"]], "Authentication with a service account": [[5, "authentication-with-a-service-account"]], "pydrive2 package": [[6, "pydrive2-package"]], "pydrive2.apiattr module": [[6, "module-pydrive2.apiattr"]], "pydrive2.auth module": [[6, "module-pydrive2.auth"]], "pydrive2.drive module": [[6, "module-pydrive2.drive"]], "pydrive2.files module": [[6, "module-pydrive2.files"]], "pydrive2.settings module": [[6, "module-pydrive2.settings"]], "pydrive2.fs module": [[6, "pydrive2-fs-module"]], "Quickstart": [[7, "quickstart"]], "Authentication": [[7, "authentication"]], "Creating and Updating Files": [[7, "creating-and-updating-files"]], "Listing Files": [[7, "listing-files"]], "Creating a Folder": [[7, "creating-a-folder"]], "Return File ID via File Title": [[7, "return-file-id-via-file-title"]], "Browse Folders": [[7, "browse-folders"]]}, "indexentries": {"apiattribute (class in pydrive2.apiattr)": [[6, "pydrive2.apiattr.ApiAttribute"]], "apiattributemixin (class in pydrive2.apiattr)": [[6, "pydrive2.apiattr.ApiAttributeMixin"]], "apirequesterror": [[6, "pydrive2.files.ApiRequestError"]], "apiresource (class in pydrive2.apiattr)": [[6, "pydrive2.apiattr.ApiResource"]], "apiresourcelist (class in pydrive2.apiattr)": [[6, "pydrive2.apiattr.ApiResourceList"]], "auth() (pydrive2.auth.googleauth method)": [[6, "pydrive2.auth.GoogleAuth.Auth"]], "autherror": [[6, "pydrive2.auth.AuthError"]], "authenticate() (pydrive2.auth.googleauth method)": [[6, "pydrive2.auth.GoogleAuth.Authenticate"]], "authenticationerror": [[6, "pydrive2.auth.AuthenticationError"]], "authenticationrejected": [[6, "pydrive2.auth.AuthenticationRejected"]], "authorize() (pydrive2.auth.googleauth method)": [[6, "pydrive2.auth.GoogleAuth.Authorize"]], "client_configs_list (pydrive2.auth.googleauth attribute)": [[6, "pydrive2.auth.GoogleAuth.CLIENT_CONFIGS_LIST"]], "checkauth() (in module pydrive2.auth)": [[6, "pydrive2.auth.CheckAuth"]], "checkserviceauth() (in module pydrive2.auth)": [[6, "pydrive2.auth.CheckServiceAuth"]], "commandlineauth() (pydrive2.auth.googleauth method)": [[6, "pydrive2.auth.GoogleAuth.CommandLineAuth"]], "copy() (pydrive2.files.googledrivefile method)": [[6, "pydrive2.files.GoogleDriveFile.Copy"]], "createfile() (pydrive2.drive.googledrive method)": [[6, "pydrive2.drive.GoogleDrive.CreateFile"]], "default_settings (pydrive2.auth.googleauth attribute)": [[6, "pydrive2.auth.GoogleAuth.DEFAULT_SETTINGS"]], "delete() (pydrive2.files.googledrivefile method)": [[6, "pydrive2.files.GoogleDriveFile.Delete"]], "deletepermission() (pydrive2.files.googledrivefile method)": [[6, "pydrive2.files.GoogleDriveFile.DeletePermission"]], "fetchcontent() (pydrive2.files.googledrivefile method)": [[6, "pydrive2.files.GoogleDriveFile.FetchContent"]], "fetchmetadata() (pydrive2.files.googledrivefile method)": [[6, "pydrive2.files.GoogleDriveFile.FetchMetadata"]], "filenotdownloadableerror": [[6, "pydrive2.files.FileNotDownloadableError"]], "filenotuploadederror": [[6, "pydrive2.files.FileNotUploadedError"]], "gdrivefilesystem (class in pydrive2.fs)": [[6, "pydrive2.fs.GDriveFileSystem"]], "getabout() (pydrive2.drive.googledrive method)": [[6, "pydrive2.drive.GoogleDrive.GetAbout"]], "getauthurl() (pydrive2.auth.googleauth method)": [[6, "pydrive2.auth.GoogleAuth.GetAuthUrl"]], "getchanges() (pydrive2.apiattr.apiresource method)": [[6, "pydrive2.apiattr.ApiResource.GetChanges"]], "getcontentfile() (pydrive2.files.googledrivefile method)": [[6, "pydrive2.files.GoogleDriveFile.GetContentFile"]], "getcontentiobuffer() (pydrive2.files.googledrivefile method)": [[6, "pydrive2.files.GoogleDriveFile.GetContentIOBuffer"]], "getcontentstring() (pydrive2.files.googledrivefile method)": [[6, "pydrive2.files.GoogleDriveFile.GetContentString"]], "getfield() (pydrive2.files.apirequesterror method)": [[6, "pydrive2.files.ApiRequestError.GetField"]], "getflow() (pydrive2.auth.googleauth method)": [[6, "pydrive2.auth.GoogleAuth.GetFlow"]], "getlist() (pydrive2.apiattr.apiresourcelist method)": [[6, "pydrive2.apiattr.ApiResourceList.GetList"]], "getpermissions() (pydrive2.files.googledrivefile method)": [[6, "pydrive2.files.GoogleDriveFile.GetPermissions"]], "getrevisions() (pydrive2.files.googledrivefile method)": [[6, "pydrive2.files.GoogleDriveFile.GetRevisions"]], "get_http_object() (pydrive2.auth.googleauth method)": [[6, "pydrive2.auth.GoogleAuth.Get_Http_Object"]], "googleauth (class in pydrive2.auth)": [[6, "pydrive2.auth.GoogleAuth"]], "googledrive (class in pydrive2.drive)": [[6, "pydrive2.drive.GoogleDrive"]], "googledrivefile (class in pydrive2.files)": [[6, "pydrive2.files.GoogleDriveFile"]], "googledrivefilelist (class in pydrive2.files)": [[6, "pydrive2.files.GoogleDriveFileList"]], "insertpermission() (pydrive2.files.googledrivefile method)": [[6, "pydrive2.files.GoogleDriveFile.InsertPermission"]], "invalidconfigerror": [[6, "pydrive2.settings.InvalidConfigError"]], "invalidcredentialserror": [[6, "pydrive2.auth.InvalidCredentialsError"]], "iobuffer (class in pydrive2.files)": [[6, "pydrive2.files.IoBuffer"]], "listfile() (pydrive2.drive.googledrive method)": [[6, "pydrive2.drive.GoogleDrive.ListFile"]], "loadauth() (in module pydrive2.auth)": [[6, "pydrive2.auth.LoadAuth"]], "loadclientconfig() (pydrive2.auth.googleauth method)": [[6, "pydrive2.auth.GoogleAuth.LoadClientConfig"]], "loadclientconfigfile() (pydrive2.auth.googleauth method)": [[6, "pydrive2.auth.GoogleAuth.LoadClientConfigFile"]], "loadclientconfigsettings() (pydrive2.auth.googleauth method)": [[6, "pydrive2.auth.GoogleAuth.LoadClientConfigSettings"]], "loadcredentials() (pydrive2.auth.googleauth method)": [[6, "pydrive2.auth.GoogleAuth.LoadCredentials"]], "loadcredentialsfile() (pydrive2.auth.googleauth method)": [[6, "pydrive2.auth.GoogleAuth.LoadCredentialsFile"]], "loadmetadata() (in module pydrive2.files)": [[6, "pydrive2.files.LoadMetadata"]], "loadserviceconfigsettings() (pydrive2.auth.googleauth method)": [[6, "pydrive2.auth.GoogleAuth.LoadServiceConfigSettings"]], "loadsettingsfile() (in module pydrive2.settings)": [[6, "pydrive2.settings.LoadSettingsFile"]], "localwebserverauth() (pydrive2.auth.googleauth method)": [[6, "pydrive2.auth.GoogleAuth.LocalWebserverAuth"]], "mediaioreadable (class in pydrive2.files)": [[6, "pydrive2.files.MediaIoReadable"]], "refresh() (pydrive2.auth.googleauth method)": [[6, "pydrive2.auth.GoogleAuth.Refresh"]], "refresherror": [[6, "pydrive2.auth.RefreshError"]], "reset() (pydrive2.apiattr.apiresourcelist method)": [[6, "pydrive2.apiattr.ApiResourceList.Reset"]], "service_configs_list (pydrive2.auth.googleauth attribute)": [[6, "pydrive2.auth.GoogleAuth.SERVICE_CONFIGS_LIST"]], "savecredentials() (pydrive2.auth.googleauth method)": [[6, "pydrive2.auth.GoogleAuth.SaveCredentials"]], "savecredentialsfile() (pydrive2.auth.googleauth method)": [[6, "pydrive2.auth.GoogleAuth.SaveCredentialsFile"]], "serviceauth() (pydrive2.auth.googleauth method)": [[6, "pydrive2.auth.GoogleAuth.ServiceAuth"]], "setcontentfile() (pydrive2.files.googledrivefile method)": [[6, "pydrive2.files.GoogleDriveFile.SetContentFile"]], "setcontentstring() (pydrive2.files.googledrivefile method)": [[6, "pydrive2.files.GoogleDriveFile.SetContentString"]], "settingserror": [[6, "pydrive2.settings.SettingsError"]], "trash() (pydrive2.files.googledrivefile method)": [[6, "pydrive2.files.GoogleDriveFile.Trash"]], "untrash() (pydrive2.files.googledrivefile method)": [[6, "pydrive2.files.GoogleDriveFile.UnTrash"]], "updatemetadata() (pydrive2.apiattr.apiresource method)": [[6, "pydrive2.apiattr.ApiResource.UpdateMetadata"]], "upload() (pydrive2.files.googledrivefile method)": [[6, "pydrive2.files.GoogleDriveFile.Upload"]], "validatesettings() (in module pydrive2.settings)": [[6, "pydrive2.settings.ValidateSettings"]], "access_token_expired (pydrive2.auth.googleauth property)": [[6, "pydrive2.auth.GoogleAuth.access_token_expired"]], "auth (pydrive2.apiattr.apiresource attribute)": [[6, "pydrive2.apiattr.ApiResource.auth"]], "auth_method (pydrive2.auth.googleauth attribute)": [[6, "pydrive2.auth.GoogleAuth.auth_method"]], "client_config (pydrive2.auth.googleauth attribute)": [[6, "pydrive2.auth.GoogleAuth.client_config"]], "content (pydrive2.files.googledrivefile attribute)": [[6, "pydrive2.files.GoogleDriveFile.content"]], "credentials (pydrive2.auth.googleauth attribute)": [[6, "pydrive2.auth.GoogleAuth.credentials"]], "flow (pydrive2.auth.googleauth attribute)": [[6, "pydrive2.auth.GoogleAuth.flow"]], "http (pydrive2.auth.googleauth attribute)": [[6, "pydrive2.auth.GoogleAuth.http"]], "metadata (pydrive2.apiattr.apiresourcelist attribute)": [[6, "pydrive2.apiattr.ApiResourceList.metadata"]], "metadata (pydrive2.files.googledrivefile attribute)": [[6, "pydrive2.files.GoogleDriveFile.metadata"]], "module": [[6, "module-pydrive2.apiattr"], [6, "module-pydrive2.auth"], [6, "module-pydrive2.drive"], [6, "module-pydrive2.files"], [6, "module-pydrive2.settings"]], "pydrive2.apiattr": [[6, "module-pydrive2.apiattr"]], "pydrive2.auth": [[6, "module-pydrive2.auth"]], "pydrive2.drive": [[6, "module-pydrive2.drive"]], "pydrive2.files": [[6, "module-pydrive2.files"]], "pydrive2.settings": [[6, "module-pydrive2.settings"]], "read() (pydrive2.files.iobuffer method)": [[6, "pydrive2.files.IoBuffer.read"]], "read() (pydrive2.files.mediaioreadable method)": [[6, "pydrive2.files.MediaIoReadable.read"]], "service (pydrive2.auth.googleauth attribute)": [[6, "pydrive2.auth.GoogleAuth.service"]], "settings (pydrive2.auth.googleauth attribute)": [[6, "pydrive2.auth.GoogleAuth.settings"]], "update() (pydrive2.apiattr.apiresource method)": [[6, "pydrive2.apiattr.ApiResource.update"]], "uploaded (pydrive2.files.googledrivefile attribute)": [[6, "pydrive2.files.GoogleDriveFile.uploaded"]], "write() (pydrive2.files.iobuffer method)": [[6, "pydrive2.files.IoBuffer.write"]]}}) \ No newline at end of file +Search.setIndex({"docnames": ["filelist", "filemanagement", "fsspec", "genindex", "index", "oauth", "pydrive2", "quickstart"], "filenames": ["filelist.rst", "filemanagement.rst", "fsspec.rst", "genindex.rst", "index.rst", "oauth.rst", "pydrive2.rst", "quickstart.rst"], "titles": ["File listing made easy", "File management made easy", "fsspec filesystem", "Index", "Welcome to PyDrive2\u2019s documentation!", "OAuth made easy", "pydrive2 package", "Quickstart"], "terms": {"pydriv": [0, 1, 5], "handl": [0, 4, 5, 6, 7], "pars": [0, 7], "respons": [0, 7], "googledrivefil": [0, 1, 6, 7], "creat": [0, 1, 4, 5, 6], "googledrivefilelist": [0, 6], "instanc": [0, 1, 2, 5, 6, 7], "paramet": [0, 1, 4, 6], "dict": [0, 1, 5, 6, 7], "call": [0, 1, 5, 6, 7], "getlist": [0, 1, 6, 7], "you": [0, 1, 2, 4, 5, 6, 7], "your": [0, 1, 2, 4, 7], "The": [0, 1, 5, 6, 7], "syntax": 0, "possibl": [0, 5], "option": [0, 1, 5, 6], "q": [0, 1, 7], "can": [0, 1, 4, 5, 6, 7], "found": [0, 1], "search": [0, 7], "googl": [0, 1, 4, 5, 6, 7], "document": [0, 1, 7], "from": [0, 2, 4, 5, 6, 7], "pydrive2": [0, 1, 2, 5, 7], "drive": [0, 1, 4, 5, 7], "import": [0, 1, 2, 5, 7], "googledr": [0, 1, 5, 6, 7], "gauth": [0, 1, 5, 7], "authent": [0, 1, 4, 6], "googleauth": [0, 1, 5, 6, 7], "auto": [0, 5, 7], "root": [0, 2, 7], "folder": [0, 4, 5, 6], "file_list": [0, 7], "listfil": [0, 1, 6, 7], "parent": [0, 1, 7], "trash": [0, 2, 4, 6, 7], "fals": [0, 5, 6, 7], "file1": [0, 1, 7], "print": [0, 1, 2, 6, 7], "titl": [0, 1, 4, 6], "": [0, 1, 2, 6, 7], "id": [0, 4, 5, 6], "updat": [0, 4, 6], "metadata": [0, 4, 5, 6, 7], "content": [0, 6, 7], "need": [0, 1, 5, 7], "provid": [0, 1, 2, 5, 6, 7], "python": [0, 4, 6, 7], "wai": [0, 2], "here": [0, 1, 5, 7], "i": [0, 1, 4, 5, 6, 7], "an": [0, 1, 5, 6, 7], "exampl": [0, 1, 5], "how": [0, 2], "do": [0, 1, 5], "thi": [0, 1, 5, 6, 7], "maxresult": [0, 6], "below": [0, 7], "defin": [0, 1, 5], "mani": [0, 1, 4, 7], "retriev": [0, 1, 5, 6], "onc": [0, 6, 7], "we": [0, 1, 5, 6], "wrap": 0, "loop": 0, "sampl": [0, 1], "code": [0, 1, 5, 6, 7], "continu": [0, 1], "abov": [0, 1, 5], "specifi": [0, 6], "number": [0, 2, 6], "max": 0, "result": [0, 1, 6], "true": [0, 1, 2, 5, 6], "10": 0, "receiv": [0, 5], "len": 0, "There": [1, 7], "ar": [1, 2, 5, 6, 7], "method": [1, 2, 5, 6, 7], "With": [1, 7], "don": [1, 5, 6], "t": [1, 5, 6], "have": [1, 5, 6, 7], "care": 1, "about": [1, 2, 6], "ani": [1, 5, 6], "differ": [1, 7], "api": [1, 4, 5, 6, 7], "manipul": [1, 2], "object": [1, 6], "make": [1, 5, 6, 7], "optim": [1, 7], "hello": [1, 7], "txt": [1, 7], "createfil": [1, 6, 7], "file_id": 1, "now": [1, 5, 7], "open": [1, 6, 7], "web": [1, 6, 7], "interfac": 1, "check": [1, 6], "its": [1, 7], "world": [1, 7], "note": [1, 5], "actual": 1, "initi": [1, 6], "itself": [1, 5], "howev": [1, 5], "recommend": 1, "so": 1, "order": [1, 6], "keep": 1, "consist": 1, "mai": 1, "want": [1, 2, 5, 6, 7], "To": [1, 4, 5], "us": [1, 4, 5, 6, 7], "untrash": [1, 6], "move": [1, 2, 6], "recov": 1, "perman": 1, "immedi": 1, "out": [1, 5, 6], "just": [1, 5], "format": [1, 6, 7], "resourc": [1, 6], "helloworld": 1, "chang": [1, 6], "ha": [1, 6, 7], "might": [1, 2, 5], "In": [1, 5], "case": [1, 5], "access": [1, 5, 6], "file2": 1, "mimetyp": [1, 6, 7], "text": [1, 6], "plain": [1, 6], "Not": 1, "all": [1, 4, 5, 6, 7], "set": [1, 4, 7], "describ": 1, "give": 1, "through": [1, 2, 4, 6, 7], "file_object": 1, "fetchmetadata": [1, 6], "function": [1, 6, 7], "two": [1, 4, 6, 7], "field": [1, 5, 6], "fetch_al": [1, 6], "some": [1, 5, 7], "fetch": [1, 6], "basic": 1, "includ": [1, 6, 7], "size": [1, 6, 7], "last": 1, "modifi": [1, 6], "etc": [1, 5, 6], "avail": [1, 5, 6], "like": [1, 5, 6, 7], "label": [1, 6], "For": [1, 5, 6, 7], "more": [1, 2, 5, 7], "inform": [1, 2, 6, 7], "look": [1, 5, 7], "offici": [1, 6], "illustr": 1, "readabl": 1, "who": 1, "link": [1, 5], "insertpermiss": [1, 6], "type": [1, 5, 6, 7], "anyon": 1, "valu": [1, 5, 6], "role": 1, "reader": 1, "alternatelink": 1, "displai": 1, "sharabl": 1, "getpermiss": [1, 6], "after": [1, 6], "successfulli": 1, "find": 1, "permit": 1, "share": [1, 5, 6], "view": 1, "But": 1, "what": 1, "whether": [1, 6], "alreadi": [1, 2], "also": [1, 5, 7], "advanc": 1, "user": [1, 2, 5, 6], "shorthand": 1, "arrai": 1, "further": 1, "allow": [1, 7], "deletepermiss": [1, 6], "permission_id": [1, 6], "one": [1, 5, 6], "time": [1, 6], "1": 1, "name": [1, 6, 7], "other": 1, "constraint": 1, "usual": 1, "filenam": [1, 6], "uniqu": 1, "equal": 1, "extens": 1, "e": [1, 6], "g": [1, 6], "123": 1, "jpeg": 1, "mp3": 1, "expect": 1, "onli": [1, 5], "add": [1, 7], "see": [1, 2, 6, 7], "string": [1, 2, 5, 6, 7], "file_test": 1, "f": [1, 2, 4], "match": [1, 4, 7], "against": [1, 7], "getrevis": [1, 6], "If": [1, 5, 6], "doe": 1, "except": [1, 6], "rais": [1, 6], "either": 1, "setcontentfil": [1, 6], "setcontentstr": [1, 6, 7], "did": 1, "file4": 1, "appdata": 1, "json": [1, 2, 5, 6, 7], "applic": [1, 5, 6, 7], "firstnam": 1, "john": 1, "lastnam": 1, "smith": 1, "claudio": 1, "afshar": 1, "file5": 1, "read": [1, 5, 6], "cat": 1, "png": 1, "imag": 1, "getcontentfil": [1, 6], "which": [1, 2, 4, 5, 6, 7], "charact": 1, "encod": [1, 6], "store": [1, 5], "iso": 1, "8859": 1, "content_str": 1, "getcontentstr": [1, 6], "kept": 1, "when": [1, 5, 6], "io": [1, 6], "modul": [1, 4], "oper": 1, "resid": 1, "base64": 1, "decod": [1, 6], "without": 1, "save": [1, 5, 6], "image_test": 1, "o": [1, 5, 7], "implement": 1, "image_fil": 1, "bytesio": [1, 6], "image_byt": 1, "pass": [1, 6], "param": [1, 6], "previou": 1, "id_drive_fold": 1, "file6": 1, "catlov": 1, "file7": 1, "replac": 1, "familynam": 1, "known": [1, 6], "bom": [1, 6], "mark": [1, 6], "begin": 1, "confus": 1, "parser": 1, "lead": [1, 5], "corrupt": 1, "remove_bom": [1, 6], "strip_bom_exampl": 1, "py": [1, 7], "github": [1, 4], "repositori": 1, "identifi": [1, 2, 6, 7], "malwar": 1, "owner": 1, "been": 1, "spam": 1, "cannot": [1, 6], "error": [1, 6], "acknowledge_abus": [1, 2, 6], "By": [1, 2, 5], "indic": 1, "acknowledg": [1, 2, 6], "risk": [1, 2, 6], "potenti": 1, "easi": [2, 4, 7], "work": [2, 5, 7], "file": [2, 4, 5], "compat": 2, "gdrivefilesystem": [2, 6], "pip": [2, 4], "client_id": [2, 5, 6], "my_client_id": 2, "client_secret": [2, 5, 6, 7], "my_client_secret": 2, "default": [2, 5, 6], "credenti": [2, 5, 6, 7], "cach": 2, "per": 2, "multipl": 2, "profil": 2, "avoid": 2, "accident": 2, "someon": [2, 5], "els": [2, 7], "myprofil": 2, "write": [2, 6], "exist": [2, 5, 6, 7], "interact": 2, "auth": [2, 4, 5, 7], "client_json_file_path": [2, 5], "path": [2, 5, 6, 7], "keyfil": 2, "client_json": [2, 5], "json_str": 2, "use_service_account": 2, "client_user_email": [2, 5, 6], "deleg": [2, 5], "author": [2, 5, 6, 7], "trash_onli": 2, "bool": [2, 5, 6], "instead": 2, "delet": [2, 4, 6], "download": [2, 4, 5, 6, 7], "abus": [2, 4, 6], "info": 2, "dname": 2, "fname": 2, "walk": 2, "dir": 2, "offer": 2, "larg": 2, "get": [2, 4, 5, 6, 7], "refer": [2, 7], "doc": [2, 4], "wrapper": [4, 6], "librari": [4, 6], "client": [4, 5, 6, 7], "simplifi": 4, "common": [4, 6, 7], "task": [4, 7], "packag": 4, "http": [4, 5, 6, 7], "pypi": 4, "org": 4, "iter": [4, 6, 7], "ai": 4, "sourc": 4, "com": [4, 5, 6], "changelog": 4, "releas": 4, "regular": 4, "command": [4, 5, 6], "current": [4, 6, 7], "develop": 4, "version": 4, "git": 4, "egg": 4, "quickstart": [4, 5], "list": [4, 5, 6], "return": [4, 5, 6], "via": 4, "brows": 4, "oauth": [4, 7], "made": [4, 7], "line": [4, 6], "automat": [4, 6], "custom": 4, "yaml": [4, 6], "build": [4, 6], "own": [4, 7], "flow": [4, 6], "servic": [4, 6], "account": [4, 6], "manag": [4, 7], "upload": [4, 6, 7], "new": [4, 6, 7], "un": 4, "special": [4, 5, 7], "complex": [4, 5, 7], "queri": [4, 7], "data": [4, 5, 6, 7], "byte": [4, 6], "memori": 4, "buffer": [4, 6], "specif": [4, 6], "pagin": [4, 6, 7], "fsspec": [4, 6], "filesystem": [4, 6], "local": [4, 5, 6, 7], "webserv": [4, 5, 7], "addit": [4, 6], "apiattr": 4, "index": 4, "oauth2": [5, 6, 7], "0": [5, 6, 7], "difficult": 5, "start": 5, "simpl": [5, 7], "localwebserverauth": [5, 6, 7], "Or": 5, "commandlineauth": [5, 6], "past": [5, 7], "browser": [5, 6, 7], "site": 5, "token": [5, 6], "comment": 5, "altern": 5, "copi": [5, 6, 7], "entir": 5, "thing": 5, "editor": 5, "configur": [5, 6, 7], "consol": [5, 6, 7], "take": [5, 7], "detail": [5, 6, 7], "instruct": [5, 7], "built": 5, "up": 5, "manual": 5, "section": 5, "silent": 5, "remot": 5, "machin": 5, "setup": 5, "complic": 5, "requir": [5, 6, 7], "lot": 5, "most": [5, 6], "scope": 5, "www": [5, 6], "googleapi": [5, 6], "refresh": [5, 6], "while": [5, 6], "maintain": 5, "clean": [5, 6], "directori": [5, 7], "behavior": 5, "These": 5, "client_config_backend": [5, 6], "str": [5, 6], "client_config_fil": [5, 6], "client_config": [5, 6], "auth_uri": [5, 6], "token_uri": [5, 6], "redirect_uri": [5, 6], "revoke_uri": [5, 6], "service_config": 5, "client_json_dict": 5, "save_credenti": [5, 6], "save_credentials_backend": 5, "save_credentials_fil": 5, "save_credentials_dict": 5, "save_credentials_kei": 5, "get_refresh_token": 5, "oauth_scop": [5, 6], "explain": 5, "where": [5, 6], "valid": [5, 6], "No": 5, "contain": [5, 6], "place": [5, 7], "hold": 5, "dictionari": [5, 6], "ye": 5, "secret": 5, "server": [5, 6], "endpoint": 5, "uri": [5, 7], "redirect": [5, 7], "urn": 5, "ietf": 5, "wg": 5, "2": 5, "oob": 5, "revok": 5, "none": [5, 6, 7], "email": [5, 6], "wa": 5, "kei": [5, 6], "load": [5, 6], "backend": [5, 6], "destin": [5, 6], "within": 5, "along": 5, "9637341109347": 5, "app": [5, 7], "googleusercont": 5, "psdskoowr1p602pxrthi": 5, "instal": 5, "integr": 5, "websit": 5, "follw": 5, "url": [5, 6], "getauthurl": [5, 6], "ask": [5, 7], "visit": [5, 6], "grant": [5, 6], "oauth2callback": 5, "step": [5, 7], "too": 5, "auth_url": 5, "askusertovisitlinkandgivecod": 5, "A": [5, 6, 7], "intend": 5, "repres": 5, "non": 5, "human": 5, "typic": 5, "scenario": 5, "run": [5, 7], "workload": 5, "virtual": 5, "vm": 5, "center": 5, "ti": 5, "lifecycl": 5, "login": 5, "def": [5, 7], "login_with_service_account": 5, "serviceauth": [5, 6], "class": 6, "apiattribut": 6, "base": 6, "descriptor": 6, "apiattributemixin": 6, "mixin": 6, "global": 6, "variabl": 6, "apiresourc": 6, "arg": 6, "kwarg": 6, "super": 6, "inherit": 6, "behav": 6, "self": 6, "element": [6, 7], "effici": 6, "getchang": 6, "updatemetadata": 6, "them": 6, "overwritten": 6, "apiresourcelist": 6, "abstract": 6, "everi": 6, "otherwis": 6, "pagetoken": 6, "reset": 6, "autherror": 6, "authenticationerror": 6, "gener": 6, "authenticationreject": 6, "reject": 6, "checkauth": 6, "decorate": 6, "decor": 6, "request": 6, "checkserviceauth": 6, "settings_fil": 6, "http_timeout": 6, "oauth2client": 6, "perform": 6, "relat": 6, "given": [6, 7], "back": 6, "client_configs_list": 6, "commandlin": 6, "default_set": 6, "getflow": 6, "invalidconfigerror": 6, "get_http_object": 6, "httplib2": 6, "necessari": 6, "thread": 6, "safeti": 6, "each": 6, "rtype": 6, "loadclientconfig": 6, "accord": 6, "mind": 6, "correspond": 6, "loadclientconfigfil": 6, "config": 6, "loadclientconfigset": 6, "loadcredenti": 6, "empti": 6, "doesn": 6, "target": 6, "loadcredentialsfil": 6, "credentials_fil": 6, "invalidcredentialserror": 6, "loadserviceconfigset": 6, "host_nam": 6, "localhost": [6, 7], "port_numb": 6, "launch_brows": 6, "bind_addr": 6, "It": 6, "standalon": 6, "gdrive_non_interact": 6, "environ": 6, "host": 6, "port": 6, "tri": 6, "should": 6, "launch": 6, "ip": 6, "address": 6, "listen": 6, "access_token": 6, "refresherror": 6, "service_configs_list": 6, "savecredenti": 6, "savecredentialsfil": 6, "p12": 6, "privat": 6, "properti": 6, "access_token_expir": 6, "expir": 6, "auth_method": 6, "oserror": 6, "try": 6, "loadauth": 6, "main": 6, "would": 6, "getabout": 6, "usag": 6, "quota": 6, "sent": 6, "apirequesterror": 6, "http_error": 6, "getfield": 6, "first": 6, "filenotdownloadableerror": 6, "runtimeerror": 6, "filenotuploadederror": 6, "target_fold": 6, "new_titl": 6, "hard": 6, "permiss": 6, "succe": 6, "fetchcont": 6, "download_url": 6, "entri": [6, 7], "separ": 6, "comma": 6, "callback": 6, "chunksiz": 6, "104857600": 6, "remov": 6, "argument": [6, 7], "total": 6, "transfer": 6, "int": 6, "standard": 6, "100": 6, "mb": 6, "1024": 6, "getcontentiobuff": 6, "mediaioread": 6, "utf": 6, "8": 6, "strip": 6, "collect": 6, "revis": 6, "new_permiss": 6, "insert": 6, "re": 6, "pleas": 6, "guid": 6, "Will": 6, "close": 6, "mean": 6, "choos": 6, "filelist": 6, "equival": 6, "iobuff": 6, "lightweight": 6, "retent": 6, "chunk": 6, "loadmetadata": 6, "pre_buff": 6, "remove_prefix": 6, "b": 6, "done": [6, 7], "loadsettingsfil": 6, "settingserror": 6, "validateset": 6, "abstractfilesystem": 6, "gdrive": 6, "life": 7, "much": 7, "easier": 7, "go": 7, "project": 7, "select": 7, "click": 7, "enabl": 7, "left": 7, "menu": 7, "product": 7, "consent": 7, "screen": 7, "follow": 7, "finish": 7, "enter": 7, "appropri": 7, "input": 7, "8080": 7, "right": 7, "side": 7, "client_secret_": 7, "realli": 7, "long": 7, "renam": 7, "accept": 7, "know": 7, "let": 7, "again": 7, "execut": 7, "treat": 7, "everyth": 7, "assign": 7, "thu": 7, "subfold": 7, "create_fold": 7, "parent_folder_id": 7, "subfolder_nam": 7, "newfold": 7, "kind": 7, "filelink": 7, "vnd": 7, "get_id_of_titl": 7, "demonstr": 7, "workflow": 7, "parent_directory_id": 7, "compar": 7, "foldered_list": 7, "output": 7, "attribut": 7, "parent_id": 7, "folder_brows": 7, "folder_list": 7, "nenter": 7, "inp": 7, "elif": 7, "home_directori": 7, "root_folder_nam": 7, "sep": 7, "usernam": 7, "makedir": 7, "folder_select": 7, "struc": 7, "append": 7, "insid": 7, "present": 7}, "objects": {"pydrive2": [[6, 0, 0, "-", "apiattr"], [6, 0, 0, "-", "auth"], [6, 0, 0, "-", "drive"], [6, 0, 0, "-", "files"], [6, 0, 0, "-", "settings"]], "pydrive2.apiattr": [[6, 1, 1, "", "ApiAttribute"], [6, 1, 1, "", "ApiAttributeMixin"], [6, 1, 1, "", "ApiResource"], [6, 1, 1, "", "ApiResourceList"]], "pydrive2.apiattr.ApiResource": [[6, 2, 1, "", "GetChanges"], [6, 2, 1, "", "UpdateMetadata"], [6, 3, 1, "", "auth"], [6, 2, 1, "", "update"]], "pydrive2.apiattr.ApiResourceList": [[6, 2, 1, "", "GetList"], [6, 2, 1, "", "Reset"], [6, 3, 1, "", "metadata"]], "pydrive2.auth": [[6, 4, 1, "", "AuthError"], [6, 4, 1, "", "AuthenticationError"], [6, 4, 1, "", "AuthenticationRejected"], [6, 5, 1, "", "CheckAuth"], [6, 5, 1, "", "CheckServiceAuth"], [6, 1, 1, "", "GoogleAuth"], [6, 4, 1, "", "InvalidCredentialsError"], [6, 5, 1, "", "LoadAuth"], [6, 4, 1, "", "RefreshError"]], "pydrive2.auth.GoogleAuth": [[6, 2, 1, "", "Auth"], [6, 2, 1, "", "Authenticate"], [6, 2, 1, "", "Authorize"], [6, 3, 1, "", "CLIENT_CONFIGS_LIST"], [6, 2, 1, "", "CommandLineAuth"], [6, 3, 1, "", "DEFAULT_SETTINGS"], [6, 2, 1, "", "GetAuthUrl"], [6, 2, 1, "", "GetFlow"], [6, 2, 1, "", "Get_Http_Object"], [6, 2, 1, "", "LoadClientConfig"], [6, 2, 1, "", "LoadClientConfigFile"], [6, 2, 1, "", "LoadClientConfigSettings"], [6, 2, 1, "", "LoadCredentials"], [6, 2, 1, "", "LoadCredentialsFile"], [6, 2, 1, "", "LoadServiceConfigSettings"], [6, 2, 1, "", "LocalWebserverAuth"], [6, 2, 1, "", "Refresh"], [6, 3, 1, "", "SERVICE_CONFIGS_LIST"], [6, 2, 1, "", "SaveCredentials"], [6, 2, 1, "", "SaveCredentialsFile"], [6, 2, 1, "", "ServiceAuth"], [6, 6, 1, "", "access_token_expired"], [6, 3, 1, "", "auth_method"], [6, 3, 1, "", "client_config"], [6, 3, 1, "", "credentials"], [6, 3, 1, "", "flow"], [6, 3, 1, "", "http"], [6, 3, 1, "", "service"], [6, 3, 1, "", "settings"]], "pydrive2.drive": [[6, 1, 1, "", "GoogleDrive"]], "pydrive2.drive.GoogleDrive": [[6, 2, 1, "", "CreateFile"], [6, 2, 1, "", "GetAbout"], [6, 2, 1, "", "ListFile"]], "pydrive2.files": [[6, 4, 1, "", "ApiRequestError"], [6, 4, 1, "", "FileNotDownloadableError"], [6, 4, 1, "", "FileNotUploadedError"], [6, 1, 1, "", "GoogleDriveFile"], [6, 1, 1, "", "GoogleDriveFileList"], [6, 1, 1, "", "IoBuffer"], [6, 5, 1, "", "LoadMetadata"], [6, 1, 1, "", "MediaIoReadable"]], "pydrive2.files.ApiRequestError": [[6, 2, 1, "", "GetField"]], "pydrive2.files.GoogleDriveFile": [[6, 2, 1, "", "Copy"], [6, 2, 1, "", "Delete"], [6, 2, 1, "", "DeletePermission"], [6, 2, 1, "", "FetchContent"], [6, 2, 1, "", "FetchMetadata"], [6, 2, 1, "", "GetContentFile"], [6, 2, 1, "", "GetContentIOBuffer"], [6, 2, 1, "", "GetContentString"], [6, 2, 1, "", "GetPermissions"], [6, 2, 1, "", "GetRevisions"], [6, 2, 1, "", "InsertPermission"], [6, 2, 1, "", "SetContentFile"], [6, 2, 1, "", "SetContentString"], [6, 2, 1, "", "Trash"], [6, 2, 1, "", "UnTrash"], [6, 2, 1, "", "Upload"], [6, 3, 1, "", "content"], [6, 3, 1, "", "metadata"], [6, 3, 1, "", "uploaded"]], "pydrive2.files.IoBuffer": [[6, 2, 1, "", "read"], [6, 2, 1, "", "write"]], "pydrive2.files.MediaIoReadable": [[6, 2, 1, "", "read"]], "pydrive2.fs": [[6, 1, 1, "", "GDriveFileSystem"]], "pydrive2.settings": [[6, 4, 1, "", "InvalidConfigError"], [6, 5, 1, "", "LoadSettingsFile"], [6, 4, 1, "", "SettingsError"], [6, 5, 1, "", "ValidateSettings"]]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:method", "3": "py:attribute", "4": "py:exception", "5": "py:function", "6": "py:property"}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "class", "Python class"], "2": ["py", "method", "Python method"], "3": ["py", "attribute", "Python attribute"], "4": ["py", "exception", "Python exception"], "5": ["py", "function", "Python function"], "6": ["py", "property", "Python property"]}, "titleterms": {"file": [0, 1, 6, 7], "list": [0, 1, 7], "made": [0, 1, 5], "easi": [0, 1, 5], "get": [0, 1], "all": 0, "which": 0, "match": 0, "queri": [0, 1], "pagin": 0, "iter": 0, "through": 0, "manag": 1, "upload": 1, "new": 1, "delet": 1, "trash": 1, "un": 1, "updat": [1, 7], "metadata": 1, "download": 1, "from": 1, "id": [1, 7], "handl": 1, "special": 1, "insert": 1, "permiss": 1, "remov": 1, "complex": 1, "revis": 1, "content": [1, 4], "data": 1, "byte": 1, "memori": 1, "buffer": 1, "specif": 1, "folder": [1, 7], "abus": 1, "fsspec": 2, "filesystem": 2, "instal": [2, 4], "local": 2, "webserv": 2, "servic": [2, 5], "account": [2, 5], "addit": 2, "paramet": 2, "us": 2, "index": 3, "welcom": 4, "pydrive2": [4, 6], "": 4, "document": 4, "project": 4, "info": 4, "how": 4, "tabl": 4, "oauth": 5, "authent": [5, 7], "two": 5, "line": 5, "automat": 5, "custom": 5, "set": [5, 6], "yaml": 5, "sampl": 5, "build": 5, "your": 5, "own": 5, "flow": 5, "packag": 6, "apiattr": 6, "modul": 6, "auth": 6, "drive": 6, "f": 6, "quickstart": 7, "creat": 7, "return": 7, "via": 7, "titl": 7, "brows": 7}, "envversion": {"sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx": 58}, "alltitles": {"File listing made easy": [[0, "file-listing-made-easy"]], "Get all files which matches the query": [[0, "get-all-files-which-matches-the-query"]], "Paginate and iterate through files": [[0, "paginate-and-iterate-through-files"]], "File management made easy": [[1, "file-management-made-easy"]], "Upload a new file": [[1, "upload-a-new-file"]], "Delete, Trash and un-Trash files": [[1, "delete-trash-and-un-trash-files"]], "Update file metadata": [[1, "update-file-metadata"]], "Download file metadata from file ID": [[1, "download-file-metadata-from-file-id"]], "Handling special metadata": [[1, "handling-special-metadata"]], "Insert permissions": [[1, "insert-permissions"]], "List permissions": [[1, "list-permissions"]], "Remove a Permission": [[1, "remove-a-permission"]], "Get files by complex queries": [[1, "get-files-by-complex-queries"]], "List revisions": [[1, "list-revisions"]], "Upload and update file content": [[1, "upload-and-update-file-content"]], "Upload data as bytes in memory buffer": [[1, "upload-data-as-bytes-in-memory-buffer"]], "Upload file to a specific folder": [[1, "upload-file-to-a-specific-folder"]], "Download file content": [[1, "download-file-content"]], "Abusive files": [[1, "abusive-files"]], "fsspec filesystem": [[2, "fsspec-filesystem"]], "Installation": [[2, "installation"]], "Local webserver": [[2, "local-webserver"]], "Service account": [[2, "service-account"]], "Additional parameters": [[2, "additional-parameters"]], "Using filesystem": [[2, "using-filesystem"]], "Index": [[3, "index"]], "Welcome to PyDrive2\u2019s documentation!": [[4, "welcome-to-pydrive2-s-documentation"]], "Project Info": [[4, "project-info"]], "How to install": [[4, "how-to-install"]], "Table of Contents": [[4, "table-of-contents"]], "OAuth made easy": [[5, "oauth-made-easy"]], "Authentication in two lines": [[5, "authentication-in-two-lines"]], "Automatic and custom authentication with settings.yaml": [[5, "automatic-and-custom-authentication-with-settings-yaml"]], "Sample settings.yaml": [[5, "sample-settings-yaml"]], "Building your own authentication flow": [[5, "building-your-own-authentication-flow"]], "Authentication with a service account": [[5, "authentication-with-a-service-account"]], "pydrive2 package": [[6, "pydrive2-package"]], "pydrive2.apiattr module": [[6, "module-pydrive2.apiattr"]], "pydrive2.auth module": [[6, "module-pydrive2.auth"]], "pydrive2.drive module": [[6, "module-pydrive2.drive"]], "pydrive2.files module": [[6, "module-pydrive2.files"]], "pydrive2.settings module": [[6, "module-pydrive2.settings"]], "pydrive2.fs module": [[6, "pydrive2-fs-module"]], "Quickstart": [[7, "quickstart"]], "Authentication": [[7, "authentication"]], "Creating and Updating Files": [[7, "creating-and-updating-files"]], "Listing Files": [[7, "listing-files"]], "Creating a Folder": [[7, "creating-a-folder"]], "Return File ID via File Title": [[7, "return-file-id-via-file-title"]], "Browse Folders": [[7, "browse-folders"]]}, "indexentries": {"apiattribute (class in pydrive2.apiattr)": [[6, "pydrive2.apiattr.ApiAttribute"]], "apiattributemixin (class in pydrive2.apiattr)": [[6, "pydrive2.apiattr.ApiAttributeMixin"]], "apirequesterror": [[6, "pydrive2.files.ApiRequestError"]], "apiresource (class in pydrive2.apiattr)": [[6, "pydrive2.apiattr.ApiResource"]], "apiresourcelist (class in pydrive2.apiattr)": [[6, "pydrive2.apiattr.ApiResourceList"]], "auth() (pydrive2.auth.googleauth method)": [[6, "pydrive2.auth.GoogleAuth.Auth"]], "autherror": [[6, "pydrive2.auth.AuthError"]], "authenticate() (pydrive2.auth.googleauth method)": [[6, "pydrive2.auth.GoogleAuth.Authenticate"]], "authenticationerror": [[6, "pydrive2.auth.AuthenticationError"]], "authenticationrejected": [[6, "pydrive2.auth.AuthenticationRejected"]], "authorize() (pydrive2.auth.googleauth method)": [[6, "pydrive2.auth.GoogleAuth.Authorize"]], "client_configs_list (pydrive2.auth.googleauth attribute)": [[6, "pydrive2.auth.GoogleAuth.CLIENT_CONFIGS_LIST"]], "checkauth() (in module pydrive2.auth)": [[6, "pydrive2.auth.CheckAuth"]], "checkserviceauth() (in module pydrive2.auth)": [[6, "pydrive2.auth.CheckServiceAuth"]], "commandlineauth() (pydrive2.auth.googleauth method)": [[6, "pydrive2.auth.GoogleAuth.CommandLineAuth"]], "copy() (pydrive2.files.googledrivefile method)": [[6, "pydrive2.files.GoogleDriveFile.Copy"]], "createfile() (pydrive2.drive.googledrive method)": [[6, "pydrive2.drive.GoogleDrive.CreateFile"]], "default_settings (pydrive2.auth.googleauth attribute)": [[6, "pydrive2.auth.GoogleAuth.DEFAULT_SETTINGS"]], "delete() (pydrive2.files.googledrivefile method)": [[6, "pydrive2.files.GoogleDriveFile.Delete"]], "deletepermission() (pydrive2.files.googledrivefile method)": [[6, "pydrive2.files.GoogleDriveFile.DeletePermission"]], "fetchcontent() (pydrive2.files.googledrivefile method)": [[6, "pydrive2.files.GoogleDriveFile.FetchContent"]], "fetchmetadata() (pydrive2.files.googledrivefile method)": [[6, "pydrive2.files.GoogleDriveFile.FetchMetadata"]], "filenotdownloadableerror": [[6, "pydrive2.files.FileNotDownloadableError"]], "filenotuploadederror": [[6, "pydrive2.files.FileNotUploadedError"]], "gdrivefilesystem (class in pydrive2.fs)": [[6, "pydrive2.fs.GDriveFileSystem"]], "getabout() (pydrive2.drive.googledrive method)": [[6, "pydrive2.drive.GoogleDrive.GetAbout"]], "getauthurl() (pydrive2.auth.googleauth method)": [[6, "pydrive2.auth.GoogleAuth.GetAuthUrl"]], "getchanges() (pydrive2.apiattr.apiresource method)": [[6, "pydrive2.apiattr.ApiResource.GetChanges"]], "getcontentfile() (pydrive2.files.googledrivefile method)": [[6, "pydrive2.files.GoogleDriveFile.GetContentFile"]], "getcontentiobuffer() (pydrive2.files.googledrivefile method)": [[6, "pydrive2.files.GoogleDriveFile.GetContentIOBuffer"]], "getcontentstring() (pydrive2.files.googledrivefile method)": [[6, "pydrive2.files.GoogleDriveFile.GetContentString"]], "getfield() (pydrive2.files.apirequesterror method)": [[6, "pydrive2.files.ApiRequestError.GetField"]], "getflow() (pydrive2.auth.googleauth method)": [[6, "pydrive2.auth.GoogleAuth.GetFlow"]], "getlist() (pydrive2.apiattr.apiresourcelist method)": [[6, "pydrive2.apiattr.ApiResourceList.GetList"]], "getpermissions() (pydrive2.files.googledrivefile method)": [[6, "pydrive2.files.GoogleDriveFile.GetPermissions"]], "getrevisions() (pydrive2.files.googledrivefile method)": [[6, "pydrive2.files.GoogleDriveFile.GetRevisions"]], "get_http_object() (pydrive2.auth.googleauth method)": [[6, "pydrive2.auth.GoogleAuth.Get_Http_Object"]], "googleauth (class in pydrive2.auth)": [[6, "pydrive2.auth.GoogleAuth"]], "googledrive (class in pydrive2.drive)": [[6, "pydrive2.drive.GoogleDrive"]], "googledrivefile (class in pydrive2.files)": [[6, "pydrive2.files.GoogleDriveFile"]], "googledrivefilelist (class in pydrive2.files)": [[6, "pydrive2.files.GoogleDriveFileList"]], "insertpermission() (pydrive2.files.googledrivefile method)": [[6, "pydrive2.files.GoogleDriveFile.InsertPermission"]], "invalidconfigerror": [[6, "pydrive2.settings.InvalidConfigError"]], "invalidcredentialserror": [[6, "pydrive2.auth.InvalidCredentialsError"]], "iobuffer (class in pydrive2.files)": [[6, "pydrive2.files.IoBuffer"]], "listfile() (pydrive2.drive.googledrive method)": [[6, "pydrive2.drive.GoogleDrive.ListFile"]], "loadauth() (in module pydrive2.auth)": [[6, "pydrive2.auth.LoadAuth"]], "loadclientconfig() (pydrive2.auth.googleauth method)": [[6, "pydrive2.auth.GoogleAuth.LoadClientConfig"]], "loadclientconfigfile() (pydrive2.auth.googleauth method)": [[6, "pydrive2.auth.GoogleAuth.LoadClientConfigFile"]], "loadclientconfigsettings() (pydrive2.auth.googleauth method)": [[6, "pydrive2.auth.GoogleAuth.LoadClientConfigSettings"]], "loadcredentials() (pydrive2.auth.googleauth method)": [[6, "pydrive2.auth.GoogleAuth.LoadCredentials"]], "loadcredentialsfile() (pydrive2.auth.googleauth method)": [[6, "pydrive2.auth.GoogleAuth.LoadCredentialsFile"]], "loadmetadata() (in module pydrive2.files)": [[6, "pydrive2.files.LoadMetadata"]], "loadserviceconfigsettings() (pydrive2.auth.googleauth method)": [[6, "pydrive2.auth.GoogleAuth.LoadServiceConfigSettings"]], "loadsettingsfile() (in module pydrive2.settings)": [[6, "pydrive2.settings.LoadSettingsFile"]], "localwebserverauth() (pydrive2.auth.googleauth method)": [[6, "pydrive2.auth.GoogleAuth.LocalWebserverAuth"]], "mediaioreadable (class in pydrive2.files)": [[6, "pydrive2.files.MediaIoReadable"]], "refresh() (pydrive2.auth.googleauth method)": [[6, "pydrive2.auth.GoogleAuth.Refresh"]], "refresherror": [[6, "pydrive2.auth.RefreshError"]], "reset() (pydrive2.apiattr.apiresourcelist method)": [[6, "pydrive2.apiattr.ApiResourceList.Reset"]], "service_configs_list (pydrive2.auth.googleauth attribute)": [[6, "pydrive2.auth.GoogleAuth.SERVICE_CONFIGS_LIST"]], "savecredentials() (pydrive2.auth.googleauth method)": [[6, "pydrive2.auth.GoogleAuth.SaveCredentials"]], "savecredentialsfile() (pydrive2.auth.googleauth method)": [[6, "pydrive2.auth.GoogleAuth.SaveCredentialsFile"]], "serviceauth() (pydrive2.auth.googleauth method)": [[6, "pydrive2.auth.GoogleAuth.ServiceAuth"]], "setcontentfile() (pydrive2.files.googledrivefile method)": [[6, "pydrive2.files.GoogleDriveFile.SetContentFile"]], "setcontentstring() (pydrive2.files.googledrivefile method)": [[6, "pydrive2.files.GoogleDriveFile.SetContentString"]], "settingserror": [[6, "pydrive2.settings.SettingsError"]], "trash() (pydrive2.files.googledrivefile method)": [[6, "pydrive2.files.GoogleDriveFile.Trash"]], "untrash() (pydrive2.files.googledrivefile method)": [[6, "pydrive2.files.GoogleDriveFile.UnTrash"]], "updatemetadata() (pydrive2.apiattr.apiresource method)": [[6, "pydrive2.apiattr.ApiResource.UpdateMetadata"]], "upload() (pydrive2.files.googledrivefile method)": [[6, "pydrive2.files.GoogleDriveFile.Upload"]], "validatesettings() (in module pydrive2.settings)": [[6, "pydrive2.settings.ValidateSettings"]], "access_token_expired (pydrive2.auth.googleauth property)": [[6, "pydrive2.auth.GoogleAuth.access_token_expired"]], "auth (pydrive2.apiattr.apiresource attribute)": [[6, "pydrive2.apiattr.ApiResource.auth"]], "auth_method (pydrive2.auth.googleauth attribute)": [[6, "pydrive2.auth.GoogleAuth.auth_method"]], "client_config (pydrive2.auth.googleauth attribute)": [[6, "pydrive2.auth.GoogleAuth.client_config"]], "content (pydrive2.files.googledrivefile attribute)": [[6, "pydrive2.files.GoogleDriveFile.content"]], "credentials (pydrive2.auth.googleauth attribute)": [[6, "pydrive2.auth.GoogleAuth.credentials"]], "flow (pydrive2.auth.googleauth attribute)": [[6, "pydrive2.auth.GoogleAuth.flow"]], "http (pydrive2.auth.googleauth attribute)": [[6, "pydrive2.auth.GoogleAuth.http"]], "metadata (pydrive2.apiattr.apiresourcelist attribute)": [[6, "pydrive2.apiattr.ApiResourceList.metadata"]], "metadata (pydrive2.files.googledrivefile attribute)": [[6, "pydrive2.files.GoogleDriveFile.metadata"]], "module": [[6, "module-pydrive2.apiattr"], [6, "module-pydrive2.auth"], [6, "module-pydrive2.drive"], [6, "module-pydrive2.files"], [6, "module-pydrive2.settings"]], "pydrive2.apiattr": [[6, "module-pydrive2.apiattr"]], "pydrive2.auth": [[6, "module-pydrive2.auth"]], "pydrive2.drive": [[6, "module-pydrive2.drive"]], "pydrive2.files": [[6, "module-pydrive2.files"]], "pydrive2.settings": [[6, "module-pydrive2.settings"]], "read() (pydrive2.files.iobuffer method)": [[6, "pydrive2.files.IoBuffer.read"]], "read() (pydrive2.files.mediaioreadable method)": [[6, "pydrive2.files.MediaIoReadable.read"]], "service (pydrive2.auth.googleauth attribute)": [[6, "pydrive2.auth.GoogleAuth.service"]], "settings (pydrive2.auth.googleauth attribute)": [[6, "pydrive2.auth.GoogleAuth.settings"]], "update() (pydrive2.apiattr.apiresource method)": [[6, "pydrive2.apiattr.ApiResource.update"]], "uploaded (pydrive2.files.googledrivefile attribute)": [[6, "pydrive2.files.GoogleDriveFile.uploaded"]], "write() (pydrive2.files.iobuffer method)": [[6, "pydrive2.files.IoBuffer.write"]]}}) \ No newline at end of file