summaryrefslogtreecommitdiff
path: root/src/db
diff options
context:
space:
mode:
Diffstat (limited to 'src/db')
-rwxr-xr-xsrc/db/dictionary.py8
-rw-r--r--src/db/index.py61
-rw-r--r--src/db/sql.py28
3 files changed, 23 insertions, 74 deletions
diff --git a/src/db/dictionary.py b/src/db/dictionary.py
index f0f5fe9..bd468f1 100755
--- a/src/db/dictionary.py
+++ b/src/db/dictionary.py
@@ -11,9 +11,13 @@ import os
import sys
import time
+from log import get_logger
+
from db import couch
from db.schema import as_index_list, validate_collector_data
+logger = get_logger()
+
class DictDB():
def __init__(self):
@@ -42,9 +46,9 @@ class DictDB():
try:
self.couchdb = self.server.database(self.database)
- print("Database already exists")
+ logger.debug("Database already exists")
except couch.exceptions.NotFound:
- print("Creating database and indexes.")
+ logger.debug("Creating database and indexes.")
self.couchdb = self.server.create(self.database)
for i in as_index_list():
diff --git a/src/db/index.py b/src/db/index.py
deleted file mode 100644
index 688ceeb..0000000
--- a/src/db/index.py
+++ /dev/null
@@ -1,61 +0,0 @@
-from pydantic import BaseSettings
-
-
-class CouchIindex(BaseSettings):
- domain: dict = {
- "index": {
- "fields": [
- "domain",
- ]
- },
- "name": "domain-json-index",
- "type": "json"
- }
- ip: dict = {
- "index": {
- "fields": [
- "domain",
- "ip"
- ]
- },
- "name": "ip-json-index",
- "type": "json"
- }
- port: dict = {
- "index": {
- "fields": [
- "domain",
- "port"
- ]
- },
- "name": "port-json-index",
- "type": "json"
- }
- asn: dict = {
- "index": {
- "fields": [
- "domain",
- "asn"
- ]
- },
- "name": "asn-json-index",
- "type": "json"
- }
- asn_country_code: dict = {
- "index": {
- "fields": [
- "domain",
- "asn_country_code"
- ]
- },
- "name": "asn-country-code-json-index",
- "type": "json"
- }
-
-
-def as_list():
- index_list = list()
- for item in CouchIindex().dict():
- index_list.append(CouchIindex().dict()[item])
-
- return index_list
diff --git a/src/db/sql.py b/src/db/sql.py
index c47a69c..858ab6b 100644
--- a/src/db/sql.py
+++ b/src/db/sql.py
@@ -15,11 +15,12 @@ metadata = Base.metadata
class Log(Base):
__tablename__ = "log"
- id = Column(Integer, primary_key=True)
- timestamp = Column(Date, nullable=False,
- default=datetime.datetime.utcnow)
- username = Column(Text, nullable=False)
- logtext = Column(Text, nullable=False)
+ id = Column(Integer, primary_key=True, server_default=text(
+ "nextval('log_id_seq'::regclass)"))
+ name = Column(Text, nullable=False)
+ level = Column(Text, nullable=False)
+ msg = Column(Text, nullable=False)
+ func = Column(Text, nullable=True)
def as_dict(self):
"""Return JSON serializable dict."""
@@ -34,12 +35,17 @@ class Log(Base):
return d
@classmethod
- def add(cls, username, logtext):
- with sqla_session() as session:
- logentry = Log()
- logentry.username = username
- logentry.logtext = logtext
- session.add(logentry)
+ def add(cls, name, level, msg, func=""):
+ try:
+ with sqla_session() as session:
+ logentry = Log()
+ logentry.name = name
+ logentry.level = level
+ logentry.msg = msg
+ logentry.func = func
+ session.add(logentry)
+ except Exception as e:
+ print(f"Failed to add logentry: {e}")
class Scanner(Base):