Parser: makes keys case-insensitive

This commit is contained in:
Akemi Izuko 2024-07-22 18:23:10 -06:00
parent 5b9fc5033c
commit 299f1db167
Signed by: akemi
GPG key ID: 8DE0764E1809E9FC
11 changed files with 98 additions and 98 deletions

View file

@ -45,7 +45,7 @@ def expand_for_loop(props):
expanded_props = dict() expanded_props = dict()
for loop in props.get("for", []): for loop in props.get("for", []):
prop = loop["property"] prop = loop["property"].lower()
if expanded_props.get(prop) is None: if expanded_props.get(prop) is None:
expanded_props[prop] = list() expanded_props[prop] = list()
@ -74,8 +74,8 @@ def parse_props(host, props, hosts):
parsed = dict() parsed = dict()
# Standard ssh properties # Standard ssh properties
for k, v in props.get("ssh_props", {}).items(): for prop, v in props.get("ssh_props", {}).items():
parsed[k] = v if isinstance(v, list) else [v] parsed[prop.lower()] = v if isinstance(v, list) else [v]
# For-loops in config # For-loops in config
for prop, values in expand_for_loop(props).items(): for prop, values in expand_for_loop(props).items():
@ -92,9 +92,9 @@ def parse_props(host, props, hosts):
f"Template `{template}` required by `{host}` is not declared above `{host}` in the yaml" f"Template `{template}` required by `{host}` is not declared above `{host}` in the yaml"
) )
elif template: elif template:
for k, v in hosts[props.get("template")].items(): for prop, v in hosts[props.get("template")].items():
if k not in parsed: if prop not in parsed:
parsed[k] = v parsed[prop] = v
return parsed return parsed

View file

@ -1,15 +1,15 @@
Host ohaton Host ohaton
ForwardX11 no forwardx11 no
Hostname ohaton.cs.ualberta.ca hostname ohaton.cs.ualberta.ca
IdentitiesOnly yes identitiesonly yes
IdentityFile ~/.ssh/id_ed25519 identityfile ~/.ssh/id_ed25519
Port 22 port 22
User emiliko user emiliko
Host coronation Host coronation
ForwardX11 no forwardx11 no
Hostname coronation.cs.ualberta.ca hostname coronation.cs.ualberta.ca
IdentitiesOnly yes identitiesonly yes
IdentityFile ~/.ssh/id_ed25519 identityfile ~/.ssh/id_ed25519
Port 22 port 22
User emiliko user emiliko

View file

@ -1,5 +1,5 @@
Host orca Host orca
Hostname 10.42.43.1 hostname 10.42.43.1
SendEnv BAR=foo sendenv BAR=foo
SendEnv FOO=bar sendenv FOO=bar
User emiliko user emiliko

View file

@ -1,19 +1,19 @@
Host orca Host orca
Hostname 10.42.43.1 hostname 10.42.43.1
LocalForward 9026 localhost:9026 localforward 9026 localhost:9026
LocalForward 9027 localhost:9027 localforward 9027 localhost:9027
LocalForward 9028 localhost:9028 localforward 9028 localhost:9028
LocalForward 9029 localhost:9029 localforward 9029 localhost:9029
LocalForward 9030 localhost:9030 localforward 9030 localhost:9030
LocalForward 9031 localhost:9031 localforward 9031 localhost:9031
LocalForward 9032 localhost:9032 localforward 9032 localhost:9032
LocalForward 9033 localhost:9033 localforward 9033 localhost:9033
LocalForward 9034 localhost:9034 localforward 9034 localhost:9034
LocalForward 9035 localhost:9035 localforward 9035 localhost:9035
LocalForward 9036 localhost:9036 localforward 9036 localhost:9036
LocalForward 9037 localhost:9037 localforward 9037 localhost:9037
LocalForward 9038 localhost:9038 localforward 9038 localhost:9038
LocalForward 9039 localhost:9039 localforward 9039 localhost:9039
LocalForward 9040 localhost:9040 localforward 9040 localhost:9040
LocalForward 9041 localhost:9041 localforward 9041 localhost:9041
User emiliko user emiliko

View file

@ -1,16 +1,16 @@
Host orca Host orca
Hostname 10.42.43.1 hostname 10.42.43.1
LocalForward 1026 localhost:1026 localforward 1026 localhost:1026
LocalForward 1251 localhost:1251 localforward 1251 localhost:1251
LocalForward 1476 localhost:1476 localforward 1476 localhost:1476
LocalForward 1701 localhost:1701 localforward 1701 localhost:1701
LocalForward 1926 localhost:1926 localforward 1926 localhost:1926
LocalForward 9026 localhost:9026 localforward 9026 localhost:9026
LocalForward 9028 localhost:9028 localforward 9028 localhost:9028
LocalForward 9030 localhost:9030 localforward 9030 localhost:9030
LocalForward 9032 localhost:9032 localforward 9032 localhost:9032
LocalForward 9034 localhost:9034 localforward 9034 localhost:9034
LocalForward 9036 localhost:9036 localforward 9036 localhost:9036
LocalForward 9038 localhost:9038 localforward 9038 localhost:9038
LocalForward 9040 localhost:9040 localforward 9040 localhost:9040
User emiliko user emiliko

View file

@ -1,20 +1,20 @@
Host orca Host orca
Hostname 10.42.43.1 hostname 10.42.43.1
LocalForward 1006 localhost:1006 localforward 1006 localhost:1006
LocalForward 1007 localhost:1007 localforward 1007 localhost:1007
LocalForward 1008 localhost:1008 localforward 1008 localhost:1008
LocalForward 1009 localhost:1009 localforward 1009 localhost:1009
LocalForward 1010 localhost:1010 localforward 1010 localhost:1010
LocalForward 1011 localhost:1011 localforward 1011 localhost:1011
LocalForward 1012 localhost:1012 localforward 1012 localhost:1012
LocalForward 1013 localhost:1013 localforward 1013 localhost:1013
LocalForward 1014 localhost:1014 localforward 1014 localhost:1014
LocalForward 1015 localhost:1015 localforward 1015 localhost:1015
LocalForward 1016 localhost:1016 localforward 1016 localhost:1016
LocalForward 1017 localhost:1017 localforward 1017 localhost:1017
LocalForward 1018 localhost:1018 localforward 1018 localhost:1018
LocalForward 1019 localhost:1019 localforward 1019 localhost:1019
SendEnv BAR=foo sendenv BAR=foo
SendEnv BAZ=baz sendenv BAZ=baz
SendEnv FOO=bar sendenv FOO=bar
User emiliko user emiliko

View file

@ -1,4 +1,4 @@
Host uni Host uni
LocalForward 3000 localhost:3000 localforward 3000 localhost:3000
LocalForward 3302 localhost:3302 localforward 3302 localhost:3302
LocalForward 3306 localhost:3306 localforward 3306 localhost:3306

View file

@ -1,6 +1,6 @@
Host github.com Host github.com
Hostname github.com hostname github.com
IdentityFile ~/.ssh/github_main identityfile ~/.ssh/github_main
LocalForward 3000 localhost:3000 localforward 3000 localhost:3000
LocalForward 3302 localhost:3302 localforward 3302 localhost:3302
LocalForward 3306 localhost:3306 localforward 3306 localhost:3306

View file

@ -1,2 +1,2 @@
Host ohaton Host ohaton
LocalForward 9000 localhost:9000 localforward 9000 localhost:9000

View file

@ -1,4 +1,4 @@
Host ohaton Host ohaton
LocalForward 3000 localhost:3000 localforward 3000 localhost:3000
LocalForward 3302 localhost:3302 localforward 3302 localhost:3302
LocalForward 3306 localhost:3306 localforward 3306 localhost:3306

View file

@ -1,15 +1,15 @@
Host ohaton Host ohaton
ForwardX11 no forwardx11 no
Hostname ohaton.cs.ualberta.ca hostname ohaton.cs.ualberta.ca
IdentitiesOnly yes identitiesonly yes
IdentityFile ~/.ssh/id_ed25519 identityfile ~/.ssh/id_ed25519
Port 22 port 22
User emiliko user emiliko
Host coronation Host coronation
ForwardX11 no forwardx11 no
Hostname coronation.cs.ualberta.ca hostname coronation.cs.ualberta.ca
IdentitiesOnly yes identitiesonly yes
IdentityFile ~/.ssh/id_ed25519 identityfile ~/.ssh/id_ed25519
Port 22 port 22
User emiliko user emiliko