Get it all working
This commit is contained in:
parent
0654ae2847
commit
b7e35bcc2a
9 changed files with 43 additions and 23 deletions
1
.gitignore
vendored
1
.gitignore
vendored
|
@ -10,3 +10,4 @@
|
||||||
bazel-*
|
bazel-*
|
||||||
tmp/
|
tmp/
|
||||||
public/
|
public/
|
||||||
|
projects/public-dns/config.yml
|
||||||
|
|
|
@ -1,10 +1,12 @@
|
||||||
|
package(default_visibility = ["//visibility:public"])
|
||||||
|
|
||||||
py_library(
|
py_library(
|
||||||
name = "gandi",
|
name = "gandi",
|
||||||
src = globs(["src/python/**/*.py"]),
|
srcs = glob(["src/python/gandi/client.py"], []),
|
||||||
imports = [
|
imports = [
|
||||||
"src/python"
|
"src/python"
|
||||||
],
|
],
|
||||||
deps = [
|
deps = [
|
||||||
py_requirement("requests"),
|
py_requirement("requests"),
|
||||||
]
|
],
|
||||||
)
|
)
|
||||||
|
|
|
@ -1,7 +0,0 @@
|
||||||
python_library(
|
|
||||||
name="gandi",
|
|
||||||
sources=globs("*.py"),
|
|
||||||
dependencies=[
|
|
||||||
"//3rdparty/python:requests",
|
|
||||||
]
|
|
||||||
)
|
|
|
@ -1,9 +1,10 @@
|
||||||
py_binary(
|
py_binary(
|
||||||
name = "updater",
|
name = "updater",
|
||||||
entry_point = "src/python/arrdem/updater/__main__.py",
|
main = "src/python/arrdem/updater/__main__.py",
|
||||||
deps = [
|
deps = [
|
||||||
"//projects/gandi",
|
"//projects/gandi",
|
||||||
py_requirement("jinja2"),
|
py_requirement("jinja2"),
|
||||||
py_requirement("pyyaml"),
|
py_requirement("pyyaml"),
|
||||||
]
|
py_requirement("meraki"),
|
||||||
|
],
|
||||||
)
|
)
|
||||||
|
|
|
@ -1,12 +0,0 @@
|
||||||
python_binary(
|
|
||||||
name='updater',
|
|
||||||
source='__main__.py',
|
|
||||||
dependencies=[
|
|
||||||
"//src/resources/zonefiles",
|
|
||||||
"//src/python/gandi",
|
|
||||||
"//3rdparty/python:requests",
|
|
||||||
"//3rdparty/python:jinja2",
|
|
||||||
"//3rdparty/python:PyYAML",
|
|
||||||
"//3rdparty/python:meraki",
|
|
||||||
]
|
|
||||||
)
|
|
|
@ -2,6 +2,35 @@
|
||||||
A quick and dirty public DNS script, super tightly coupled to my infrastructure.
|
A quick and dirty public DNS script, super tightly coupled to my infrastructure.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
import sys
|
||||||
|
import os
|
||||||
|
|
||||||
|
def module_not_found_helper(excepthook):
|
||||||
|
def _helper(type, value, traceback):
|
||||||
|
if isinstance(value, ModuleNotFoundError):
|
||||||
|
path_fragment = value.name.replace(".", os.path.sep)
|
||||||
|
flag = False
|
||||||
|
for e in sys.path:
|
||||||
|
init = os.path.join(e, path_fragment, "__init__.py")
|
||||||
|
namedfile = os.path.join(e, path_fragment + ".py")
|
||||||
|
if os.path.exists(init):
|
||||||
|
print(f"Found candidate {init}", file=sys.stderr)
|
||||||
|
flag |= True
|
||||||
|
else:
|
||||||
|
print(f"{init} does not exist")
|
||||||
|
|
||||||
|
if os.path.exists(namedfile):
|
||||||
|
print(f"Found candidate {namedfile}", file=sys.stderr)
|
||||||
|
flag |= True
|
||||||
|
else:
|
||||||
|
print(f"{namedfile} does not exist")
|
||||||
|
if not flag:
|
||||||
|
print(f"Found no candidates on the PYTHONPATH", file=sys.stderr)
|
||||||
|
excepthook(type, value, traceback)
|
||||||
|
return _helper
|
||||||
|
|
||||||
|
sys.excepthook = module_not_found_helper(sys.excepthook)
|
||||||
|
|
||||||
import argparse
|
import argparse
|
||||||
import re
|
import re
|
||||||
from pprint import pprint
|
from pprint import pprint
|
||||||
|
|
|
@ -1,6 +1,8 @@
|
||||||
|
aiohttp==3.7.4.post0
|
||||||
alabaster==0.7.12
|
alabaster==0.7.12
|
||||||
anosql==1.0.2
|
anosql==1.0.2
|
||||||
appdirs==1.4.4
|
appdirs==1.4.4
|
||||||
|
async-timeout==3.0.1
|
||||||
attrs==20.3.0
|
attrs==20.3.0
|
||||||
autoflake==1.4
|
autoflake==1.4
|
||||||
Babel==2.9.0
|
Babel==2.9.0
|
||||||
|
@ -24,7 +26,9 @@ livereload==2.6.3
|
||||||
lxml==4.6.3
|
lxml==4.6.3
|
||||||
m2r==0.2.1
|
m2r==0.2.1
|
||||||
MarkupSafe==1.1.1
|
MarkupSafe==1.1.1
|
||||||
|
meraki==1.7.2
|
||||||
mistune==0.8.4
|
mistune==0.8.4
|
||||||
|
multidict==5.1.0
|
||||||
mypy-extensions==0.4.3
|
mypy-extensions==0.4.3
|
||||||
openapi-schema-validator==0.1.5
|
openapi-schema-validator==0.1.5
|
||||||
openapi-spec-validator==0.3.0
|
openapi-spec-validator==0.3.0
|
||||||
|
@ -45,6 +49,7 @@ pytest-pudb==0.7.0
|
||||||
pytz==2021.1
|
pytz==2021.1
|
||||||
PyYAML==5.4.1
|
PyYAML==5.4.1
|
||||||
recommonmark==0.7.1
|
recommonmark==0.7.1
|
||||||
|
redis==3.5.3
|
||||||
regex==2021.4.4
|
regex==2021.4.4
|
||||||
requests==2.25.1
|
requests==2.25.1
|
||||||
six==1.15.0
|
six==1.15.0
|
||||||
|
@ -70,3 +75,4 @@ urllib3==1.26.4
|
||||||
urwid==2.1.2
|
urwid==2.1.2
|
||||||
wcwidth==0.2.5
|
wcwidth==0.2.5
|
||||||
yamllint==1.26.1
|
yamllint==1.26.1
|
||||||
|
yarl==1.6.3
|
||||||
|
|
Loading…
Reference in a new issue