-
Notifications
You must be signed in to change notification settings - Fork 0
/
database.py
37 lines (28 loc) · 1.36 KB
/
database.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
from pymongo.mongo_client import MongoClient
from dotenv import load_dotenv
import os
class Database:
def __init__(self): # inicia o banco de dados e o env
load_dotenv()
self.tempo = self.connect()
def connect(self):
cliente = MongoClient(os.getenv('DB_URL'))
db = cliente['tempo']
return db.tempo
def nova_previsao(self, previsao: dict): # adiciona a previsão do dia no banco
procura = {'dia': previsao['dia']}
result = self.tempo.find_one(procura)
if result is None:
return self.tempo.insert_one(previsao)
elif previsao['dia'] == 'amanha' or previsao['dia'] == 'depois':
if previsao['tmax'] != result['tmax'] and previsao['tmin'] != result['tmin'] and previsao['chuva'] != result['chuva']:
self.tempo.delete_one({'dia': previsao['dia']})
self.tempo.insert_one(previsao)
def procura(self, dia): # procura por uma informação no banco de dados segundo o dia
procura = {'dia': dia}
result = self.tempo.find_one(procura)
if result is None:
print('informação não encontrada para dia', dia)
else:
print('A temperatura máxima para', result['dia'], ' é de', result['tmax'], ' a minima de', result['tmin'],
' e há uma chance de', result['chuva'], ' de chover')