Skip to content

Commit

Permalink
bug fixes, bump to 0.3.1
Browse files Browse the repository at this point in the history
  • Loading branch information
dmulyalin committed Jul 3, 2022
1 parent ef12c87 commit dc84da6
Show file tree
Hide file tree
Showing 12 changed files with 789 additions and 71 deletions.
2 changes: 1 addition & 1 deletion N2G/plugins/data/cli_l2_data.py
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@
huawei:
* ``display lldp neighbor details`` - mandatory
* ``display current-configuration`` - optional, used for LAG and interfaces config
* ``display current-configuration interface`` - optional, used for LAG and interfaces config
* ``display interface`` - optional, used for interfaces state and to add all connected nodes
juniper:
Expand Down
2 changes: 1 addition & 1 deletion N2G/plugins/data/xlsx_data.py
Original file line number Diff line number Diff line change
Expand Up @@ -109,7 +109,7 @@
try:
from openpyxl import load_workbook
except ImportError:
log.error("Failed to import openpyxl module")
log.debug("N2G xlsx data plugin failed to import openpyxl module")


def translate_headers(headers, translate_dict):
Expand Down
7 changes: 3 additions & 4 deletions N2G/plugins/diagrams/N2G_DrawIO.py
Original file line number Diff line number Diff line change
Expand Up @@ -421,15 +421,14 @@ def dump_file(self, filename=None, folder="./Output/"):
"""
import time

# check output folder, if not exists, create it
if not os.path.exists(folder):
os.makedirs(folder)
# create output folder if it does not exists
os.makedirs(folder, exist_ok=True)
# create file name
if not filename:
ctime = time.ctime().replace(":", "-")
filename = "{}_output.drawio".format(ctime)
# save file to disk
with open(folder + filename, "w") as outfile:
with open(os.path.join(folder, filename), "w") as outfile:
outfile.write(self.dump_xml())

def layout(self, algo="kk", **kwargs):
Expand Down
7 changes: 3 additions & 4 deletions N2G/plugins/diagrams/N2G_V3D.py
Original file line number Diff line number Diff line change
Expand Up @@ -502,15 +502,14 @@ def dump_file(self, filename=None, folder="./Output/", json_kwargs=None):
import time

json_kwargs = json_kwargs or {"sort_keys": True, "indent": 4}
# check output folder, if not exists, create it
if not os.path.exists(folder):
os.makedirs(folder)
# create output folder if it does not exists
os.makedirs(folder, exist_ok=True)
# create file name
if not filename:
ctime = time.ctime().replace(":", "-")
filename = "{}_output.txt".format(ctime)
# save file to disk
with open(folder + filename, "w") as outfile:
with open(os.path.join(folder, filename), "w") as outfile:
outfile.write(self.dump_json(**json_kwargs))

def run(
Expand Down
7 changes: 3 additions & 4 deletions N2G/plugins/diagrams/N2G_yEd.py
Original file line number Diff line number Diff line change
Expand Up @@ -951,15 +951,14 @@ def dump_file(self, filename=None, folder="./Output/"):
import os
import time

# check output folder, if not exists, create it
if not os.path.exists(folder):
os.makedirs(folder)
# create output folder if it does not exists
os.makedirs(folder, exist_ok=True)
# create file name
if not filename:
ctime = time.ctime().replace(":", "-")
filename = "{}_output.graphml".format(ctime)
# save file to disk
with open(folder + filename, "w") as outfile:
with open(os.path.join(folder, filename), "w") as outfile:
outfile.write(self.dump_xml())

def set_attributes(
Expand Down
27 changes: 16 additions & 11 deletions N2G/plugins/viewers/v3d_viewer/v3d_viewer.py
Original file line number Diff line number Diff line change
Expand Up @@ -48,21 +48,31 @@
]
}
"""
from flask import Flask, render_template, Markup
import os
import json
import logging

try:
from flask import Flask, render_template, Markup

HAS_FLASK = True
except ImportError:
HAS_FLASK = False

log = logging.getLogger(__name__)

app_dir = os.path.abspath(os.path.dirname(__file__))

app = Flask(
__name__, static_folder=app_dir, static_url_path="", template_folder=app_dir
)
if HAS_FLASK:
app = Flask(
__name__, static_folder=app_dir, static_url_path="", template_folder=app_dir
)
# based on https://stackoverflow.com/a/19269087/12300761 answer
app.jinja_env.filters["json"] = lambda v: Markup(json.dumps(v))

# based on https://stackoverflow.com/a/19269087/12300761 answer
app.jinja_env.filters["json"] = lambda v: Markup(json.dumps(v))
@app.route("/")
def home():
return render_template("v3d_viewer.html", json_data=diagram_content)


def run_v3d_viewer(
Expand Down Expand Up @@ -97,8 +107,3 @@ def run_v3d_viewer(
log.error("No diagram file or diagram data provided, stopping...")
return
app.run(host=ip, port=port, debug=debug, **kwargs)


@app.route("/")
def home():
return render_template("v3d_viewer.html", json_data=diagram_content)
35 changes: 20 additions & 15 deletions N2G/plugins/viewers/yed_viewer/yed_viewer.py
Original file line number Diff line number Diff line change
Expand Up @@ -29,18 +29,34 @@
Diagrams directory should contain SVG files produced by yED Graph Editor application
using ``File -> Export -> Save as type: SVG format`` feature.
"""
from flask import Flask, render_template
import os
import json
import logging

try:
from flask import Flask, render_template

HAS_FLASK = True
except ImportError:
HAS_FLASK = False

log = logging.getLogger(__name__)

app_dir = os.path.abspath(os.path.dirname(__file__))

app = Flask(
__name__, static_folder=app_dir, static_url_path="", template_folder=app_dir
)
if HAS_FLASK:
app = Flask(
__name__, static_folder=app_dir, static_url_path="", template_folder=app_dir
)

@app.route("/")
def home():
return render_template("yed_viewer.html", select2_menu_data=scan_graphs())

@app.route("/diagrams/<diagram_name>")
def get_diagram(diagram_name):
with open(os.path.join(diagrams_directory, diagram_name)) as f:
return f.read()


def scan_graphs() -> str:
Expand Down Expand Up @@ -81,16 +97,5 @@ def run_yed_viewer(
app.run(host=ip, port=port, debug=debug, **kwargs)


@app.route("/")
def home():
return render_template("yed_viewer.html", select2_menu_data=scan_graphs())


@app.route("/diagrams/<diagram_name>")
def get_diagram(diagram_name):
with open(os.path.join(diagrams_directory, diagram_name)) as f:
return f.read()


if __name__ == "__main__":
run_yed_viewer()
44 changes: 22 additions & 22 deletions poetry.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 2 additions & 2 deletions pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[tool.poetry]
name = "n2g"
version = "0.3.0"
name = "N2G"
version = "0.3.1"
description = "Need To Graph"
authors = ["Denis Mulyalin <[email protected]>"]
maintainers = ["Denis Mulyalin <[email protected]>"]
Expand Down
Loading

0 comments on commit dc84da6

Please sign in to comment.