| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 |
- #!/usr/bin/env python3
- from jinja2 import Environment
- import sqlite3
- con = sqlite3.connect('new_eden.db')
- cur = con.cursor()
- def genLabel(name):
- name = str.replace(name, "-","")
- name = str.replace(name, " ","")
- return name
- def id2name(id):
- r = cur.execute("SELECT * FROM systems WHERE id="+str(id))
- row = r.fetchone()
- return row[1]
- systems = []
- deps = []
- processed = []
- r = cur.execute("SELECT distinct id FROM systems WHERE region_id=10000027")
- for system in r.fetchall():
- processed.append(system[0])
- temp_systems = {}
- temp_systems['name'] = id2name(system[0])
- temp_systems['label']= genLabel(id2name(system[0]))
- temp_gateways = []
- r = cur.execute( "SELECT systen_id_to FROM gates WHERE system_id_from="+str(system[0]) )
- for gateway in r.fetchall():
- temp_gateways.append(genLabel(id2name(gateway[0])))
- deps.append(gateway[0])
- temp_systems['gateways'] = temp_gateways
- systems.append(temp_systems)
- for dep in deps:
- if not dep in processed:
- temp_systems = {}
- temp_systems['name'] = id2name(dep)
- temp_systems['label']= genLabel(id2name(dep))
- processed.append(dep)
- systems.append(temp_systems)
- con.close()
- template = """
- digraph {{name}} {
- concentrate=true
- layout=sfdp
- overlap = false;
- splines = true;
- {% for system in systems %}
- "{{system.label}}" [label="{{system.name}}", URL="https://evemaps.dotlan.net/system/{{system.name}}"]
- {% for gateway in system.gateways %} "{{system.label}}" -> "{{gateway}}" [arrowhead="none"];
- {% endfor %}{% endfor %}
- }
- """
- print(Environment().from_string(template).render(systems=systems))
- # print(systems)
|