From 20ea71d84e68e4c6ccc304f5510d723c484f0d8c Mon Sep 17 00:00:00 2001 From: Alex Tremblay Date: Mon, 19 Jun 2023 11:31:12 -0400 Subject: [PATCH 1/8] [dev] workflow improvements --- tasks/new_project_template/uoft_{{name}}/__init__.py.jinja | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tasks/new_project_template/uoft_{{name}}/__init__.py.jinja b/tasks/new_project_template/uoft_{{name}}/__init__.py.jinja index 08250527..07faf203 100644 --- a/tasks/new_project_template/uoft_{{name}}/__init__.py.jinja +++ b/tasks/new_project_template/uoft_{{name}}/__init__.py.jinja @@ -1,5 +1,5 @@ from uoft_core import BaseSettings, Field -from pydantic.types import SecretStr +from uoft_core.types import SecretStr class Settings(BaseSettings): From c3933c1a3aa93765d7122837f0bcf895ed294069 Mon Sep 17 00:00:00 2001 From: Alex Tremblay Date: Mon, 19 Jun 2023 12:23:21 -0400 Subject: [PATCH 2/8] [core] replace references to pydantic SecretStr with references to core SecretStr --- projects/core/uoft_core/__init__.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/projects/core/uoft_core/__init__.py b/projects/core/uoft_core/__init__.py index 9edc2046..9e3751f0 100644 --- a/projects/core/uoft_core/__init__.py +++ b/projects/core/uoft_core/__init__.py @@ -35,11 +35,10 @@ from loguru import logger from pydantic import BaseSettings as PydanticBaseSettings, Extra, root_validator from pydantic.fields import Field -from pydantic.types import SecretStr from pydantic.main import ModelMetaclass from rich.console import Console -from .types import StrEnum +from .types import StrEnum, SecretStr from . import toml from ._vendor.decorator import decorate from ._vendor.platformdirs import PlatformDirs From eb1bf4e0e0fbbf9cfadf7e4f180e17b2753905ba Mon Sep 17 00:00:00 2001 From: Alex Tremblay Date: Thu, 15 Jun 2023 10:46:49 -0400 Subject: [PATCH 3/8] . --- dev_docs/myscript.py | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 dev_docs/myscript.py diff --git a/dev_docs/myscript.py b/dev_docs/myscript.py new file mode 100644 index 00000000..18ec2d19 --- /dev/null +++ b/dev_docs/myscript.py @@ -0,0 +1,14 @@ +import requests +from requests.auth import HTTPBasicAuth + +host = "example-server.utoronto.ca" +username = "myusername" +password = "mypassword" + +response = requests.get( + f"https://{host}/api/v1/data", + auth=HTTPBasicAuth(username, password) +) +mydata = response.json()["the-data-i-want"] + +print(mydata) From 67f1253c14012a6446ad3f830be0648d3fc5d861 Mon Sep 17 00:00:00 2001 From: Alex Tremblay Date: Sun, 18 Jun 2023 20:46:10 -0400 Subject: [PATCH 4/8] add arg parse support --- dev_docs/myscript.py | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/dev_docs/myscript.py b/dev_docs/myscript.py index 18ec2d19..fc327097 100644 --- a/dev_docs/myscript.py +++ b/dev_docs/myscript.py @@ -1,12 +1,20 @@ +from argparse import ArgumentParser + import requests from requests.auth import HTTPBasicAuth -host = "example-server.utoronto.ca" -username = "myusername" -password = "mypassword" +parser = ArgumentParser() +parser.add_argument("host", help="The host to connect to") +parser.add_argument("username", help="The username for the user") +parser.add_argument("password", help="The password for the user") +args = parser.parse_args() + +host = args.host +username = args.username +password = args.password response = requests.get( - f"https://{host}/api/v1/data", + f"https://{host}/api/v1/data", auth=HTTPBasicAuth(username, password) ) mydata = response.json()["the-data-i-want"] From f236181aa6984720f5911e965952e49560c92e9d Mon Sep 17 00:00:00 2001 From: Alex Tremblay Date: Sun, 18 Jun 2023 21:05:51 -0400 Subject: [PATCH 5/8] add support for config parsing --- dev_docs/myscript.py | 22 ++++++++++++++-------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/dev_docs/myscript.py b/dev_docs/myscript.py index fc327097..2b2ba229 100644 --- a/dev_docs/myscript.py +++ b/dev_docs/myscript.py @@ -1,21 +1,27 @@ from argparse import ArgumentParser +from configparser import ConfigParser import requests from requests.auth import HTTPBasicAuth parser = ArgumentParser() -parser.add_argument("host", help="The host to connect to") -parser.add_argument("username", help="The username for the user") -parser.add_argument("password", help="The password for the user") +parser.add_argument("--host", default=None, help="The host to connect to") +parser.add_argument("--username", default=None, help="The username for the user") +parser.add_argument("--password", default=None, help="The password for the user") args = parser.parse_args() -host = args.host -username = args.username -password = args.password +config = ConfigParser() +config.read("config.ini") +host = config["DEFAULT"]["host"] +username = config["DEFAULT"]["username"] +password = config["DEFAULT"]["password"] + +host = args.host if args.host else host +username = args.username if args.username else username +password = args.password if args.password else password response = requests.get( - f"https://{host}/api/v1/data", - auth=HTTPBasicAuth(username, password) + f"https://{host}/api/v1/data", auth=HTTPBasicAuth(username, password) ) mydata = response.json()["the-data-i-want"] From e29a4a1148a20b07c45b0fa85365034fadacab98 Mon Sep 17 00:00:00 2001 From: Alex Tremblay Date: Sun, 18 Jun 2023 21:20:22 -0400 Subject: [PATCH 6/8] Revert "add arg parse support" This reverts commit b831caed3fe479c8da91673167d084e76df529c1. --- dev_docs/myscript.py | 24 +++++------------------- 1 file changed, 5 insertions(+), 19 deletions(-) diff --git a/dev_docs/myscript.py b/dev_docs/myscript.py index 2b2ba229..18ec2d19 100644 --- a/dev_docs/myscript.py +++ b/dev_docs/myscript.py @@ -1,27 +1,13 @@ -from argparse import ArgumentParser -from configparser import ConfigParser - import requests from requests.auth import HTTPBasicAuth -parser = ArgumentParser() -parser.add_argument("--host", default=None, help="The host to connect to") -parser.add_argument("--username", default=None, help="The username for the user") -parser.add_argument("--password", default=None, help="The password for the user") -args = parser.parse_args() - -config = ConfigParser() -config.read("config.ini") -host = config["DEFAULT"]["host"] -username = config["DEFAULT"]["username"] -password = config["DEFAULT"]["password"] - -host = args.host if args.host else host -username = args.username if args.username else username -password = args.password if args.password else password +host = "example-server.utoronto.ca" +username = "myusername" +password = "mypassword" response = requests.get( - f"https://{host}/api/v1/data", auth=HTTPBasicAuth(username, password) + f"https://{host}/api/v1/data", + auth=HTTPBasicAuth(username, password) ) mydata = response.json()["the-data-i-want"] From f1e92e5aae94a074aadc6b5cfe62bb8fac16790b Mon Sep 17 00:00:00 2001 From: Alex Tremblay Date: Sun, 18 Jun 2023 21:20:43 -0400 Subject: [PATCH 7/8] . --- dev_docs/myscript.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dev_docs/myscript.py b/dev_docs/myscript.py index 18ec2d19..5c90e3be 100644 --- a/dev_docs/myscript.py +++ b/dev_docs/myscript.py @@ -6,7 +6,7 @@ password = "mypassword" response = requests.get( - f"https://{host}/api/v1/data", + f"https://{host}/api/v1/data", auth=HTTPBasicAuth(username, password) ) mydata = response.json()["the-data-i-want"] From fb422f18a57576f4ed15ecca57dca02820693124 Mon Sep 17 00:00:00 2001 From: Alex Tremblay Date: Mon, 19 Jun 2023 17:13:42 -0400 Subject: [PATCH 8/8] make the example script work with httpbin --- dev_docs/myscript.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/dev_docs/myscript.py b/dev_docs/myscript.py index 5c90e3be..146ec111 100644 --- a/dev_docs/myscript.py +++ b/dev_docs/myscript.py @@ -6,9 +6,10 @@ password = "mypassword" response = requests.get( - f"https://{host}/api/v1/data", + f"http://{host}/anything", + json={"the-data-i-want": ["result one", "result two", "result three"]}, auth=HTTPBasicAuth(username, password) ) -mydata = response.json()["the-data-i-want"] +mydata = response.json()['json']["the-data-i-want"] print(mydata) pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy