Compare commits
3 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
aef6a98f98 | ||
|
|
99e4fa3c79 | ||
|
|
f9cc52cc83 |
24
docs/day5.md
24
docs/day5.md
@@ -336,3 +336,27 @@ If we want our menu functions to be useful outside our menu app we have some wor
|
||||
12. Now type `update = menu.update_people()` and press ++enter++. Nothing should print.
|
||||
13. Wait a moment for "successfully updated people." to print to the terminal
|
||||
14. Type `people = menu.list_people(update)`. Your people should list! You successfully turned your menu into an importable package!
|
||||
15. Type `exit()` to exit.
|
||||
|
||||
### Using our imported menu
|
||||
|
||||
For our last trick we'll use our menu functions in a new program.
|
||||
|
||||
1. Create a new file named "print_people.py"
|
||||
|
||||

|
||||
|
||||
2. Add the following:
|
||||
|
||||
```python
|
||||
from menu import update_people, list_people
|
||||
from concurrent.futures import wait
|
||||
|
||||
update = update_people()
|
||||
wait([update])
|
||||
list_people(update)
|
||||
```
|
||||
|
||||
3. Type `python print_people.py` and press ++enter++ to run your program. You should see your people print after a while.
|
||||
|
||||
Congratulations! You've just imported a program you wrote to communciate with an API and used it to do something automatically.
|
||||
BIN
docs/img/day5/print.gif
Normal file
BIN
docs/img/day5/print.gif
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 1.1 MiB |
@@ -38,4 +38,5 @@
|
||||
### [Day 5](day5.md): import
|
||||
|
||||
- "import"
|
||||
-
|
||||
- Breaking apart our terrible weather app
|
||||
- Importing our menu
|
||||
@@ -1,31 +1,27 @@
|
||||
apiVersion: traefik.containo.us/v1alpha1
|
||||
kind: IngressRoute
|
||||
metadata:
|
||||
name: {{ .Release.Name }}-internal-tls
|
||||
name: {{ .Release.Name }}-tls
|
||||
annotations:
|
||||
kubernetes.io/ingress.class: traefik-internal
|
||||
kubernetes.io/ingress.class: traefik
|
||||
spec:
|
||||
entryPoints:
|
||||
- websecure
|
||||
tls:
|
||||
certResolver: myresolver
|
||||
domains:
|
||||
- main: "*.ducoterra.net"
|
||||
certResolver: duconet
|
||||
routes:
|
||||
- match: Host(`{{ .Release.Name }}.ducoterra.net`)
|
||||
kind: Rule
|
||||
services:
|
||||
- name: {{ .Release.Name }}
|
||||
port: {{ .Values.port }}
|
||||
|
||||
---
|
||||
|
||||
apiVersion: traefik.containo.us/v1alpha1
|
||||
kind: IngressRoute
|
||||
metadata:
|
||||
name: {{ .Release.Name }}-internal-web
|
||||
name: {{ .Release.Name }}
|
||||
annotations:
|
||||
kubernetes.io/ingress.class: traefik-internal
|
||||
kubernetes.io/ingress.class: traefik
|
||||
spec:
|
||||
entryPoints:
|
||||
- web
|
||||
@@ -36,43 +32,22 @@ spec:
|
||||
- name: {{ .Release.Name }}
|
||||
port: {{ .Values.port }}
|
||||
middlewares:
|
||||
- name: httpsredirect
|
||||
|
||||
- name: httpsredirect-{{ .Release.Name }}
|
||||
---
|
||||
apiVersion: traefik.containo.us/v1alpha1
|
||||
kind: IngressRoute
|
||||
kind: Middleware
|
||||
metadata:
|
||||
name: {{ .Release.Name }}-external-tls
|
||||
annotations:
|
||||
kubernetes.io/ingress.class: traefik-external
|
||||
name: httpsredirect-{{ .Release.Name }}
|
||||
spec:
|
||||
entryPoints:
|
||||
- websecure
|
||||
tls:
|
||||
certResolver: myresolver
|
||||
routes:
|
||||
- match: Host(`{{ .Release.Name }}.ducoterra.net`)
|
||||
kind: Rule
|
||||
services:
|
||||
- name: {{ .Release.Name }}
|
||||
port: {{ .Values.port }}
|
||||
|
||||
redirectScheme:
|
||||
scheme: https
|
||||
permanent: true
|
||||
---
|
||||
|
||||
apiVersion: traefik.containo.us/v1alpha1
|
||||
kind: IngressRoute
|
||||
kind: Middleware
|
||||
metadata:
|
||||
name: {{ .Release.Name }}-external-web
|
||||
annotations:
|
||||
kubernetes.io/ingress.class: traefik-external
|
||||
name: basic-auth-{{ .Release.Name }}
|
||||
spec:
|
||||
entryPoints:
|
||||
- web
|
||||
routes:
|
||||
- match: Host(`{{ .Release.Name }}.ducoterra.net`)
|
||||
kind: Rule
|
||||
services:
|
||||
- name: {{ .Release.Name }}
|
||||
port: {{ .Values.port }}
|
||||
middlewares:
|
||||
- name: httpsredirect
|
||||
basicAuth:
|
||||
secret: authsecret
|
||||
removeHeader: true
|
||||
@@ -6,6 +6,7 @@ nav:
|
||||
- Day 2: day2.md
|
||||
- Day 3: day3.md
|
||||
- Day 4: day4.md
|
||||
- Day 5: day5.md
|
||||
theme:
|
||||
name: material
|
||||
markdown_extensions:
|
||||
|
||||
Reference in New Issue
Block a user