Skip to content

Commit

Permalink
chore: general update
Browse files Browse the repository at this point in the history
  • Loading branch information
severinsimmler committed Nov 4, 2018
1 parent a6f053a commit f80a041
Show file tree
Hide file tree
Showing 22 changed files with 555 additions and 324 deletions.
1 change: 1 addition & 0 deletions application/__init__.py
@@ -0,0 +1 @@
from application.views import web
7 changes: 0 additions & 7 deletions application/constants.py

This file was deleted.

107 changes: 85 additions & 22 deletions application/database.py
@@ -1,17 +1,17 @@
import flask
import json
import sqlite3
import utils

import flask
import pandas as pd
import constants
import json

import utils


def get_db():
"""Create connection to SQLite database.
"""
if "db" not in flask.g:
flask.g.db = sqlite3.connect(constants.DATABASE)
flask.g.db = sqlite3.connect(str(utils.DATABASE))
return flask.g.db


Expand Down Expand Up @@ -40,6 +40,8 @@ def insert_into(table, data):
db = get_db()
if table in {"textfiles"}:
_insert_into_textfiles(db, data)
elif table in {"stopwords"}:
_insert_into_stopwords(db, data)
elif table in {"model"}:
_insert_into_model(db, data)
db.commit()
Expand All @@ -50,11 +52,21 @@ def _insert_into_model(db, data):
"""Insert data into model table.
"""
db.execute("""
INSERT INTO model (doc_topic, topics, doc_sim, topic_sim)
INSERT INTO model (document_topic, topics, document_similarities, topic_similarities)
VALUES(?, ?, ?, ?);
""",
[data["doc_topic"], data["topics"],
data["doc_sim"], data["topic_sim"]])
[data["document_topic"], data["topics"],
data["document_similarities"], data["topic_similarities"]])


def _insert_into_stopwords(db, data):
"""Insert data into stopwords table.
"""
db.execute("""
INSERT INTO stopwords (content)
VALUES(?);
""",
[data])


def select(value, **kwargs):
Expand All @@ -64,12 +76,61 @@ def select(value, **kwargs):
cursor = db.cursor()
if value in {"textfiles"}:
return _select_textfiles(cursor)
elif value in {"doc_topic"}:
return _select_doc_topic(cursor)
elif value in {"titles"}:
return _select_titles(cursor)
elif value in {"document-topic"}:
return _select_document_topic(cursor)
elif value in {"topic-overview"}:
return _select_topic_overview(cursor)
elif value in {"document-overview"}:
return _select_document_overview(cursor, **kwargs)
elif value in {"model-output"}:
return _select_model_output(cursor)


def _select_titles(cursor):
"""Select textfile titles from database.
"""
cursor.execute("""
SELECT title
FROM textfiles;
""")
return [title[0] for title in cursor.fetchall()]


def _select_model_output(cursor):
"""Select model output from database.
"""
stopwords = cursor.execute("""
SELECT content
FROM stopwords;
""").fetchone()

response = cursor.execute("""
SELECT document_topic, topics, document_similarities, topic_similarities
FROM model;
""").fetchone()
document_topic, topics, document_similarities, topic_similarities = response
document_topic = pd.read_json(document_topic)
document_topic.columns = [col.replace(",", "") for col in document_topic.columns]
document_topic.index = [ix.replace(",", "") for ix in document_topic.index]

topics = pd.read_json(topics)
topics.index = ["Topic {}".format(n) for n in topics.index]
topics.columns = ["Word {}".format(n) for n in topics.columns]

topic_similarities = pd.read_json(topic_similarities)
topic_similarities.columns = [col.replace(",", "") for col in topic_similarities.columns]
topic_similarities.index = [ix.replace(",", "") for ix in topic_similarities.index]

document_similarities = pd.read_json(document_similarities)
document_similarities.columns = [col.replace(",", "") for col in document_similarities.columns]
document_similarities.index = [ix.replace(",", "") for ix in document_similarities.index]
return {"document-topic-distribution": document_topic,
"topics": topics,
"topic-similarites": topic_similarities,
"document-similarites": document_similarities,
"stopwords": json.loads(stopwords[0])}


def _select_textfiles(cursor):
Expand All @@ -82,11 +143,11 @@ def _select_textfiles(cursor):
return cursor.fetchall()


def _select_doc_topic(cursor):
def _select_document_topic(cursor):
"""Select document-topic matrix form database.
"""
response = cursor.execute("""
SELECT doc_topic
SELECT document_topic
FROM model;
""").fetchone()[0]
return pd.read_json(response)
Expand All @@ -95,23 +156,25 @@ def _select_doc_topic(cursor):
def _select_topic_overview(cursor):
"""Select values for the topic overview page.
"""
doc_topic, topics, topic_sim = cursor.execute("""
SELECT doc_topic, topics, topic_sim
FROM model;
""").fetchone()
return pd.read_json(doc_topic), json.loads(topics), pd.read_json(topic_sim)
response = cursor.execute("""
SELECT document_topic, topics, topic_similarities
FROM model;
""").fetchone()
document_topic, topics, topic_similarities = response
return pd.read_json(document_topic), json.loads(topics), pd.read_json(topic_similarities)


def _select_document_overview(cursor, title):
"""Select values for the document overview page.
"""
response = cursor.execute("""
SELECT document_topic, topics, document_similarities
FROM model;
""").fetchone()
document_topic, topics, document_similarities = response
text = cursor.execute("""
SELECT content
FROM textfiles
WHERE title is ?;
""", [title]).fetchone()[0]
doc_topic, topics, doc_sim = cursor.execute("""
SELECT doc_topic, topics, doc_sim
FROM model;
""").fetchone()
return text, pd.read_json(doc_topic).T, json.loads(topics), pd.read_json(doc_sim)
return text, pd.read_json(document_topic).T, json.loads(topics), pd.read_json(document_similarities)
14 changes: 10 additions & 4 deletions application/schema.sql
@@ -1,4 +1,5 @@
DROP TABLE IF EXISTS textfiles;
DROP TABLE IF EXISTS stopwords;
DROP TABLE IF EXISTS model;

CREATE TABLE textfiles (
Expand All @@ -7,10 +8,15 @@ CREATE TABLE textfiles (
content TEXT
);

CREATE TABLE stopwords (
id INTEGER PRIMARY KEY,
content TEXT
);

CREATE TABLE model (
id INTEGER PRIMARY KEY,
doc_topic TEXT,
document_topic TEXT,
topics TEXT,
doc_sim TEXT,
topic_sim TEXT
);
document_similarities TEXT,
topic_similarities TEXT
);
File renamed without changes.
Expand Up @@ -2823,4 +2823,48 @@ th {
.site.-full-width .wrap,
.site.-full-width .wrap.-narrow {
max-width: none
}

@keyframes expand {
from {
width: 0%;
}

to {
width: 100%;
}
}

.chart {
width: 0%;
animation: expand 1.5s ease forwards;
}

.block {
height: 50px;
float: left;
background-color: #213365;
border-left: solid 1px white;
opacity: 1;
transition: opacity, .3s ease;
}

.block:hover {
opacity: .9;
}

.value {
display: none;
}

.dariah-flower {
display: block;
margin-left: auto;
margin-right: auto;
margin-bottom: 10px;
width: 50px;
}

.click-button {
text-align: left;
}
File renamed without changes.
File renamed without changes.

0 comments on commit f80a041

Please sign in to comment.