mirror of
https://github.com/github/octodns.git
synced 2024-05-11 05:55:00 +00:00
Add PlanHtml
This commit is contained in:
@@ -151,8 +151,7 @@ def _value_stringifier(record, sep):
|
||||
|
||||
class PlanMarkdown(_PlanOutput):
|
||||
|
||||
def run(self, plans, *args, **kwargs):
|
||||
fh = stdout
|
||||
def run(self, plans, fh=stdout, *args, **kwargs):
|
||||
if plans:
|
||||
current_zone = None
|
||||
for target, plan in plans:
|
||||
@@ -184,10 +183,7 @@ class PlanMarkdown(_PlanOutput):
|
||||
if existing:
|
||||
fh.write(str(existing.ttl))
|
||||
fh.write(' | ')
|
||||
if existing:
|
||||
fh.write(_value_stringifier(existing, '; '))
|
||||
else:
|
||||
fh.write('n/a')
|
||||
fh.write(_value_stringifier(existing, '; '))
|
||||
fh.write(' | |\n')
|
||||
if new:
|
||||
fh.write('| | | | ')
|
||||
@@ -205,3 +201,66 @@ class PlanMarkdown(_PlanOutput):
|
||||
fh.write('\n\n')
|
||||
else:
|
||||
fh.write('## No changes were planned\n')
|
||||
|
||||
|
||||
class PlanHtml(_PlanOutput):
|
||||
|
||||
def run(self, plans, fh=stdout, *args, **kwargs):
|
||||
if plans:
|
||||
current_zone = None
|
||||
for target, plan in plans:
|
||||
if plan.desired.name != current_zone:
|
||||
current_zone = plan.desired.name
|
||||
fh.write('<h2>')
|
||||
fh.write(current_zone)
|
||||
fh.write('</h2>\n')
|
||||
|
||||
fh.write('<h3>')
|
||||
fh.write(target.id)
|
||||
fh.write('''</h3>
|
||||
<table border=3>
|
||||
<tr>
|
||||
<th>Operation</th>
|
||||
<th>Name</th>
|
||||
<th>Type</th>
|
||||
<th>TTL</th>
|
||||
<th>Value</th>
|
||||
<th>Source</th>
|
||||
</tr>
|
||||
''')
|
||||
|
||||
for change in plan.changes:
|
||||
existing = change.existing
|
||||
new = change.new
|
||||
record = change.record
|
||||
fh.write(' <tr>\n <td>')
|
||||
fh.write(change.__class__.__name__)
|
||||
fh.write('</td>\n <td>')
|
||||
fh.write(record.name)
|
||||
fh.write('</td>\n <td>')
|
||||
fh.write(record._type)
|
||||
fh.write('</td>\n')
|
||||
# TTL
|
||||
if existing:
|
||||
fh.write(' <td>')
|
||||
fh.write(str(existing.ttl))
|
||||
fh.write('</td>\n <td>')
|
||||
fh.write(_value_stringifier(existing, '<br/>'))
|
||||
fh.write('</td>\n <td></td>\n </tr>\n')
|
||||
if new:
|
||||
fh.write(' <tr>\n <td colspan=3></td>\n')
|
||||
|
||||
if new:
|
||||
fh.write(' <td>')
|
||||
fh.write(str(new.ttl))
|
||||
fh.write('</td>\n <td>')
|
||||
fh.write(_value_stringifier(new, '<br/>'))
|
||||
fh.write('</td>\n <td>')
|
||||
fh.write(new.source.id)
|
||||
fh.write('</td>\n </tr>\n')
|
||||
|
||||
fh.write(' <tr>\n <td colspan=6>Summary: ')
|
||||
fh.write(str(plan))
|
||||
fh.write('</td>\n </tr>\n</table>\n')
|
||||
else:
|
||||
fh.write('<h2>No changes were planned</h2>')
|
||||
|
Reference in New Issue
Block a user