aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHugo Hörnquist <hugo@lysator.liu.se>2022-06-18 02:19:11 +0200
committerHugo Hörnquist <hugo@lysator.liu.se>2022-06-18 02:19:11 +0200
commit0e36ceca6bee19474a98e64ef2cbdf78373e5ca8 (patch)
tree2064910d5ea4d0bb8302dd6025dee024ef628d80
parentAdd direnv .envrc file. (diff)
downloadpuppet-classifier-0e36ceca6bee19474a98e64ef2cbdf78373e5ca8.tar.gz
puppet-classifier-0e36ceca6bee19474a98e64ef2cbdf78373e5ca8.tar.xz
Fix pycodestyle.
-rw-r--r--pyenc/__init__.py36
-rw-r--r--pyenc/db.py5
-rw-r--r--pyenc/enc.py5
-rw-r--r--pyenc/model.py19
4 files changed, 41 insertions, 24 deletions
diff --git a/pyenc/__init__.py b/pyenc/__init__.py
index 851488c..08f724b 100644
--- a/pyenc/__init__.py
+++ b/pyenc/__init__.py
@@ -19,6 +19,7 @@ from . import model
import yaml
+
def create_app():
app = Flask(__name__, instance_relative_config=True)
@@ -33,7 +34,8 @@ def create_app():
# not API
@app.route('/')
def root_page():
- return flask.render_template('start_page.html',
+ return flask.render_template(
+ 'start_page.html',
hosts=model.Host.query.order_by(model.Host.fqdn),
random=random,
str=str,
@@ -53,23 +55,29 @@ def create_app():
q = request.args.get('q', '')
qq = '%{}%'.format('%'.join(q.split(' ')))
- results = model.PuppetClass.query.where(model.PuppetClass.class_name.like(qq)).all()
+ results = \
+ model \
+ .PuppetClass \
+ .query \
+ .where(model.PuppetClass.class_name.like(qq)) \
+ .all()
print(qq)
return Response(json.dumps([x.class_name for x in results]),
- mimetype='application/json')
+ mimetype='application/json')
@app.route('/api/classes-for')
def classes_for():
fqdn = request.args.get('fqdn')
- classes = [cls.class_name for cls in
- model.Host.query.where(model.Host.fqdn==fqdn).first().classes]
+ classes = [cls.class_name
+ for cls in model.Host.query.where(model.Host.fqdn == fqdn)
+ .first().classes]
return Response(json.dumps(classes),
- mimetype='application/json')
+ mimetype='application/json')
@app.route('/api/change-classes', methods=['POST'])
def change_classes():
j = request.json
- host = model.Host.query.where(model.Host.fqdn==j['fqdn']).first()
+ host = model.Host.query.where(model.Host.fqdn == j['fqdn']).first()
remove_set = set(j['removed'])
new_cls = []
@@ -86,27 +94,25 @@ def create_app():
print(remove_set, db.db.session.dirty)
return flask.redirect(url_for('classes_for', fqdn=j['fqdn']))
-
@app.route('/api/hosts')
def list_hosts():
- return Response(flask.json.dumps([x.serialize() for x in model.Host.query.all()]),
- mimetype='application/json')
+ data = [x.serialize() for x in model.Host.query.all()]
+ return Response(flask.json.dumps(data),
+ mimetype='application/json')
@app.route('/enc')
def enc():
fqdn = request.args.get('fqdn', 'default')
- host = model.Host.query.where(model.Host.fqdn==fqdn).first()
+ host = model.Host.query.where(model.Host.fqdn == fqdn).first()
if not host:
return Response(f"No host with name {fqdn}",
- status=404,
- )
+ status=404)
out = {
'environment': host.environment,
'classes': [cls.class_name for cls in host.classes],
}
return Response(yaml.dump(out),
- mimetype='application/x-yaml')
-
+ mimetype='application/x-yaml')
return app
diff --git a/pyenc/db.py b/pyenc/db.py
index ea7cc14..3bf2bba 100644
--- a/pyenc/db.py
+++ b/pyenc/db.py
@@ -7,21 +7,24 @@ from flask import current_app, g
from flask.cli import with_appcontext
from .model import db
+
@with_appcontext
def init_db():
db.create_all()
+
@click.command('init-db')
@with_appcontext
def init_db_command():
"""
"""
# init_db()
- #print(db)
+ # print(db)
print(db)
db.create_all()
click.echo('Initialized the database.')
+
def init_app(app):
# app.teardown_appcontext(close_db)
db.init_app(app)
diff --git a/pyenc/enc.py b/pyenc/enc.py
index 7ec3a8e..5df6ecb 100644
--- a/pyenc/enc.py
+++ b/pyenc/enc.py
@@ -1,4 +1,3 @@
-
import click
from flask import current_app, g
from flask.cli import with_appcontext
@@ -7,11 +6,12 @@ from . import model
import yaml
+
@click.command('enc')
@click.option('--fqdn', help='Node to get data for')
@with_appcontext
def run_enc(fqdn):
- host = model.Host.query.where(model.Host.fqdn==fqdn).first()
+ host = model.Host.query.where(model.Host.fqdn == fqdn).first()
if not host:
print(f"No host with name {fqdn}")
return 1
@@ -21,5 +21,6 @@ def run_enc(fqdn):
}
print(yaml.dump(out))
+
def init_app(app):
app.cli.add_command(run_enc)
diff --git a/pyenc/model.py b/pyenc/model.py
index 10b2336..0382e96 100644
--- a/pyenc/model.py
+++ b/pyenc/model.py
@@ -8,7 +8,8 @@ import yaml
db = SQLAlchemy()
-host_classes = db.Table('host_classes',
+host_classes = db.Table(
+ 'host_classes',
db.Column('host_id', db.ForeignKey('host.id')),
db.Column('class_id', db.ForeignKey('puppet_class.id')))
@@ -18,19 +19,22 @@ host_classes = db.Table('host_classes',
# host_id = db.Column(db.Integer, db.ForeignKey('host.id'), nullable=False)
# class_id = db.Column(db.Integer, db.ForeignKey('puppet_class.id'), nullable=False)
+
class Host(db.Model):
__tablename__ = 'host'
id = db.Column(db.Integer, primary_key=True)
fqdn = db.Column(db.Text, nullable=False)
environment = db.Column(db.Text)
# classes = db.relationship('HostClasses', backref='host', lazy='dynamic')
- classes = db.relationship('PuppetClass',
+ classes = db.relationship(
+ 'PuppetClass',
back_populates='hosts',
secondary=host_classes)
def serialize(self):
- return { column.name: self.__getattribute__(column.name)
- for column in self.__table__.columns }
+ return {column.name: self.__getattribute__(column.name)
+ for column in self.__table__.columns}
+
class PuppetFile(db.Model):
__tablename__ = 'puppet_file'
@@ -41,12 +45,15 @@ class PuppetFile(db.Model):
# classes = db.relationship('PuppetClass', back_populates='comes_from')
classes = db.relationship('PuppetClass', backref='comes_from')
+
class PuppetClass(db.Model):
__tablename__ = 'puppet_class'
id = db.Column(db.Integer, primary_key=True)
class_name = db.Column(db.Text, nullable=False)
# comes_from = db.relationship('PuppetFile', back_populates='classes')
- comes_from_id = db.Column(db.Integer, db.ForeignKey(f'{PuppetFile.__tablename__}.id'))
- hosts = db.relationship('Host',
+ comes_from_id = db.Column(db.Integer,
+ db.ForeignKey(f'{PuppetFile.__tablename__}.id'))
+ hosts = db.relationship(
+ 'Host',
back_populates='classes',
secondary=host_classes)