Added Api. Pocketbase. Python sdk

This commit is contained in:
2022-09-15 10:59:30 +02:00
parent 7412fd9238
commit cfe2e69125
8 changed files with 166 additions and 20 deletions

81
Api/main.py Normal file
View File

@@ -0,0 +1,81 @@
import os
from posixpath import join
from re import M
import pandas as pd
from api import Api
class Main:
def __init__(self):
self.pacientet_api = Api("pacientet")
self.klinikat_api = Api("klinikat")
self.pacientet_klinikat_api = Api("pacientet_klinikat")
pass
def read_excel(self):
xlsx_path = os.path.join(os.path.dirname(__file__), '../Excel/')
for dirpath, dirname, filename in os.walk(xlsx_path):
for name in filename:
if name.startswith('kirurgji_') or name.startswith('OBS-GYN_') or name.startswith('urgjenca_'):
klinika_emer = name.replace('.xlsx', '').split('_')[0]
pacientet_klinikat_filter = f"filter=(emer='{klinika_emer}')"
klinika_res = self.klinikat_api.create_collection(
{"emer": klinika_emer}, filter=pacientet_klinikat_filter)
klinika_id = klinika_res['items'][0]['id']
df = pd.read_excel(os.path.join(dirpath, name), parse_dates=[
'DATELINDJA_KORIGJ'], sheet_name='Sheet1')
df.dropna(subset=['EMER'], inplace=True)
for index, row in df.iterrows():
emer = row['EMER'].strip()
mbiemer = row['MBIEMER'].strip()
if pd.isnull(df.loc[index, 'DATELINDJA_KORIGJ']):
datelindja = ''
else:
datelindja = row['DATELINDJA_KORIGJ']
mosha = row['MOSHA']
if pd.isnull(df.loc[index, 'ERROR']):
error = ''
else:
error = row['ERROR']
new_pacient = {"emer": emer, "mbiemer": mbiemer,
"datelindja": str(datelindja), "mosha": str(mosha), "error": str(error)}
pacient_filter = f"filter=(emer='{emer}' %26%26 mbiemer='{mbiemer}' %26%26 datelindja='{datelindja}')"
pacienti_res = self.pacientet_api.create_collection(
new_pacient, filter=pacient_filter)
pacienti_id = pacienti_res['items'][0]['id']
new_pacientet_klinikat = {
"pacienti_id": pacienti_id, "klinika_id": klinika_id}
pacientet_klinikat_filter = f"filter=(pacienti_id='{pacienti_id}' %26%26 klinika_id='{klinika_id}')"
pacient_klinika_res = self.pacientet_klinikat_api.create_collection(
new_pacientet_klinikat, pacientet_klinikat_filter)
print(pacient_klinika_res)
def test_backend(self) :
# pacientet_klinikat_res = self.pacientet_klinikat_api.list_collection()
# print(pacientet_klinikat_res["totalItems"])
pacient_filter = f"expand=klinika_id"
pacientet_res = self.pacientet_api.list_collection(filter=pacient_filter)
print(pacientet_res)
# print(pacientet_res["totalItems"])
main = Main()
main.test_backend()
# main.read_excel()
# api = Api("pacientet")
# new_pacient = {"emer": "Test", "mbiemer": "test",
# "mosha": 100, "datelindja": datetime.now().isoformat()}
# filter = f"(emer='{new_pacient['emer']}'&&mbiemer='{new_pacient['mbiemer']}'&&datelindja={new_pacient['datelindja']})"
# pacientet = api.list_collection(filter=filter)
# if len(pacientet["items"]) > 0:
# print('egziston')
# else:
# print('saving')
# res = api.create_collection(new_pacient)
# # r = requests.post('http://127.0.0.1:8090/api/collections/pacientet/records', json=json=json.dumps(new_pacient), headers=headers)