Skip to content

Commit c5e837f

Browse files
committed
auth: validate dictionary backend settings
1 parent 37abe56 commit c5e837f

File tree

2 files changed

+14
-5
lines changed

2 files changed

+14
-5
lines changed

pydrive2/auth.py

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -349,10 +349,15 @@ def _InitializeStoragesFromSettings(self):
349349
)
350350
result[backend] = Storage(credentials_file)
351351
elif backend == "dictionary":
352-
result[backend] = DictionaryStorage(
353-
self.settings["save_credentials_dict"],
354-
self.settings["save_credentials_key"],
355-
)
352+
creds_dict = self.settings.get("save_credentials_dict")
353+
if creds_dict is None:
354+
raise InvalidConfigError("Please specify credentials dict")
355+
356+
creds_key = self.settings.get("save_credentials_key")
357+
if creds_key is None:
358+
raise InvalidConfigError("Please specify credentials key")
359+
360+
result[backend] = DictionaryStorage(creds_dict, creds_key)
356361
elif save_credentials:
357362
raise InvalidConfigError(
358363
"Unknown save_credentials_backend: %s" % backend

pydrive2/settings.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,9 @@
3636
"type": str,
3737
"required": False,
3838
"dependency": [
39-
{"value": "file", "attribute": ["save_credentials_file"]}
39+
{"value": "file", "attribute": ["save_credentials_file"]},
40+
{"value": "dictionary", "attribute": ["save_credentials_dict"]},
41+
{"value": "dictionary", "attribute": ["save_credentials_key"]},
4042
],
4143
},
4244
"client_config": {
@@ -84,6 +86,8 @@
8486
"default": ["https://www.googleapis.com/auth/drive"],
8587
},
8688
"save_credentials_file": {"type": str, "required": False},
89+
"save_credentials_dict": {"type": dict, "required": False},
90+
"save_credentials_key": {"type": str, "required": False},
8791
}
8892

8993

0 commit comments

Comments
 (0)