Archived
1
0
This repository has been archived on 2025-04-27. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
dht22/writer.py
2023-01-01 19:08:03 -05:00

63 lines
1.5 KiB
Python

#! env/bin/python3
# import the psycopg2 database adapter for PostgreSQL
import psycopg2
from psycopg2.extras import Json
import json
import sys
def connect_db(db: str,host: str,user: str,passwd: str):
try:
# declare a new PostgreSQL connection object
conn = psycopg2.connect(
dbname = db,
user = user,
host = host,
password = passwd,
# attempt to connect for 3 seconds then raise exception
connect_timeout = 3
)
except (Exception, psycopg2.Error) as err:
# print ("\npsycopg2 connect error:", err)
conn = None
return conn
def get_db_creds(file: str):
with open(file) as cred_file:
creds = json.load(cred_file)
return creds
def insert_data(conn, data):
# insert a new vendor into the vendors table
sql = """
INSERT INTO
dht22(datetime, temperature, humidity, location)
VALUES
(%s, %s, %s, %s)
"""
try:
# open cursor on our db connection
cur = conn.cursor()
# execute the INSERT statement
data = (data["datetime"], data["temperature"], data["humidity"], data["location"])
cur.execute(sql,data)
# commit the changes to the database
conn.commit()
# close communication with the database
cur.close()
except (Exception, psycopg2.DatabaseError) as error:
# print(error)
pass
finally:
if conn is not None:
conn.close()