32 lines
710 B
Python
32 lines
710 B
Python
from rosseti_parser import pipeline, preprocess_read_df
|
|
import pandas as pd
|
|
import numpy as np
|
|
from datetime import datetime
|
|
import logging
|
|
|
|
from .database import get_db
|
|
from . import models
|
|
|
|
from io import StringIO
|
|
|
|
|
|
def job():
|
|
fetch_start = datetime.now()
|
|
print("Starting refetch job: " + fetch_start.isoformat())
|
|
|
|
db = next(get_db())
|
|
|
|
parser = pipeline()
|
|
|
|
db.query(models.Record).delete()
|
|
db.commit()
|
|
|
|
print("Rewriting db: " + datetime.now().isoformat())
|
|
|
|
for i, row in parser.df.iterrows():
|
|
row = row.where((pd.notnull(row)), None)
|
|
db.add(models.Record(**row.to_dict()))
|
|
db.commit()
|
|
|
|
print(f"Fetched in {datetime.now() - fetch_start}\n{parser}")
|