Get the updater zapping nicely
This commit is contained in:
parent
958ab203d0
commit
b49d0b4d40
3 changed files with 12 additions and 8 deletions
|
@ -4,7 +4,7 @@ py_library(
|
||||||
name = "gandi",
|
name = "gandi",
|
||||||
srcs = glob(["src/python/gandi/client.py"]),
|
srcs = glob(["src/python/gandi/client.py"]),
|
||||||
imports = [
|
imports = [
|
||||||
"src/python"
|
"src/python",
|
||||||
],
|
],
|
||||||
deps = [
|
deps = [
|
||||||
py_requirement("requests"),
|
py_requirement("requests"),
|
||||||
|
|
|
@ -1,6 +1,9 @@
|
||||||
py_binary(
|
zapp_binary(
|
||||||
name = "updater",
|
name = "updater",
|
||||||
main = "src/python/arrdem/updater/__main__.py",
|
main = "src/python/arrdem/updater/__main__.py",
|
||||||
|
imports = [
|
||||||
|
"src/python",
|
||||||
|
],
|
||||||
deps = [
|
deps = [
|
||||||
"//projects/gandi",
|
"//projects/gandi",
|
||||||
py_requirement("jinja2"),
|
py_requirement("jinja2"),
|
||||||
|
|
|
@ -9,9 +9,6 @@ import re
|
||||||
import sys
|
import sys
|
||||||
|
|
||||||
|
|
||||||
for e in sys.path:
|
|
||||||
print(e)
|
|
||||||
|
|
||||||
from gandi.client import GandiAPI
|
from gandi.client import GandiAPI
|
||||||
import jinja2
|
import jinja2
|
||||||
import meraki
|
import meraki
|
||||||
|
@ -30,8 +27,10 @@ RECORD_LINE_PATTERN = re.compile(
|
||||||
|
|
||||||
def update(m, k, f, *args, **kwargs):
|
def update(m, k, f, *args, **kwargs):
|
||||||
"""clojure.core/update for Python's stateful maps."""
|
"""clojure.core/update for Python's stateful maps."""
|
||||||
|
|
||||||
if k in m:
|
if k in m:
|
||||||
m[k] = f(m[k], *args, **kwargs)
|
m[k] = f(m[k], *args, **kwargs)
|
||||||
|
|
||||||
return m
|
return m
|
||||||
|
|
||||||
|
|
||||||
|
@ -70,8 +69,8 @@ def template_and_parse_zone(template_file, template_bindings):
|
||||||
assert template_file is not None
|
assert template_file is not None
|
||||||
assert template_bindings is not None
|
assert template_bindings is not None
|
||||||
|
|
||||||
with open(template_file) as f:
|
with open(template_file) as fp:
|
||||||
dat = jinja2.Template(f.read()).render(**template_bindings)
|
dat = jinja2.Template(fp.read()).render(**template_bindings)
|
||||||
|
|
||||||
uncommitted_records = []
|
uncommitted_records = []
|
||||||
for line in dat.splitlines():
|
for line in dat.splitlines():
|
||||||
|
@ -138,7 +137,9 @@ parser.add_argument("--dry-run", dest="dry", action="store_true", default=False)
|
||||||
|
|
||||||
def main():
|
def main():
|
||||||
args = parser.parse_args()
|
args = parser.parse_args()
|
||||||
config = yaml.safe_load(open(args.config_file, "r"))
|
|
||||||
|
with open(args.config_file, "r") as fp:
|
||||||
|
config = yaml.safe_load(fp)
|
||||||
|
|
||||||
dashboard = meraki.DashboardAPI(config["meraki"]["key"], output_log=False)
|
dashboard = meraki.DashboardAPI(config["meraki"]["key"], output_log=False)
|
||||||
org = config["meraki"]["organization"]
|
org = config["meraki"]["organization"]
|
||||||
|
|
Loading…
Reference in a new issue