Skip to content

Commit

Permalink
Merge pull request #84 from keegandahm/keegandahm/improve-session-fil…
Browse files Browse the repository at this point in the history
…e-handling
  • Loading branch information
hammem authored Mar 6, 2024
2 parents 9f2607f + 1e8aca5 commit 651ae4b
Showing 1 changed file with 10 additions and 4 deletions.
14 changes: 10 additions & 4 deletions monarchmoney/monarchmoney.py
Original file line number Diff line number Diff line change
Expand Up @@ -2481,21 +2481,27 @@ async def gql_call(
document=graphql_query, operation_name=operation, variable_values=variables
)

def save_session(self, filename: str) -> None:
def save_session(self, filename: Optional[str] = None) -> None:
"""
Saves the auth token needed to access a Monarch Money account.
"""
if filename is None:
filename = self._session_file
filename = os.path.abspath(filename)

session_data = {"token": self._token}
if not os.path.exists(SESSION_DIR):
os.makedirs(SESSION_DIR)

os.makedirs(os.path.dirname(filename), exist_ok=True)
with open(filename, "wb") as fh:
pickle.dump(session_data, fh)

def load_session(self, filename: str = SESSION_FILE) -> None:
def load_session(self, filename: Optional[str] = None) -> None:
"""
Loads pre-existing auth token from a Python pickle file.
"""
if filename is None:
filename = self._session_file

with open(filename, "rb") as fh:
data = pickle.load(fh)
self.set_token(data["token"])
Expand Down

0 comments on commit 651ae4b

Please sign in to comment.