Jon Solow
commited on
Commit
·
24d027c
1
Parent(s):
d8aaa4e
Create custom gsheets connection class to overwrite secrets access
Browse files- src/login.py +20 -1
src/login.py
CHANGED
@@ -1,9 +1,28 @@
|
|
1 |
import hmac
|
2 |
import streamlit as st
|
3 |
from streamlit_gsheets import GSheetsConnection
|
|
|
4 |
|
5 |
|
6 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
7 |
|
8 |
|
9 |
def get_user_id_from_email_if_exists(email: str) -> int:
|
|
|
1 |
import hmac
|
2 |
import streamlit as st
|
3 |
from streamlit_gsheets import GSheetsConnection
|
4 |
+
from streamlit.runtime.secrets import AttrDict, secrets_singleton
|
5 |
|
6 |
|
7 |
+
class HFFriendlyGSheetsConnection(GSheetsConnection):
|
8 |
+
# HF doesnt currently support nested secrets as in secrets.toml
|
9 |
+
# this class overwrites the logic for where to find the secrets and instead creates them from the top level of secrets
|
10 |
+
@property
|
11 |
+
def _secrets(self) -> AttrDict:
|
12 |
+
"""Get the secrets for this connection from the corresponding st.secrets section.
|
13 |
+
|
14 |
+
We expect this property to be used primarily by connection authors when they
|
15 |
+
are implementing their class' ``_connect`` method. User scripts should, for the
|
16 |
+
most part, have no reason to use this property.
|
17 |
+
"""
|
18 |
+
connections_section = None
|
19 |
+
if secrets_singleton.load_if_toml_exists():
|
20 |
+
connections_section = secrets_singleton
|
21 |
+
|
22 |
+
return AttrDict(connections_section)
|
23 |
+
|
24 |
+
|
25 |
+
conn = st.connection("gsheets", type=HFFriendlyGSheetsConnection)
|
26 |
|
27 |
|
28 |
def get_user_id_from_email_if_exists(email: str) -> int:
|