Commit d51c1085 by arjun.b

task completed

parent 3b4086ba
import uvicorn
from scripts.config.application_config import server_path, port
if __name__ == "__main__":
try:
uvicorn.run(server_path, port=int(port), reload=True)
except Exception as e:
print(str(e))
from pymongo import MongoClient
from scripts.config.application_config import mongodb_uri
def mongo_connect():
try:
client = MongoClient(mongodb_uri)
database = client['ilens_configuration']
collection = database['tag_hierarchy']
return collection
except Exception as e:
print(e)
mongo_connect()
from scripts.constants.mongo_connection import mongo_connect
def extract_data():
try:
tag_hierarchy = mongo_connect()
query = {}
documents = tag_hierarchy.find({},
{"project_id": 1,
"site_id": 1,
"line_id": 1,
"equipment_id": 1}).limit(10)
except Exception as e:
print(e)
extract_data()
from fastapi import FastAPI
app = FastAPI()
@app.get("/", tags=["root"])
async def root():
return {"data": "extract data from mongodb"}
@app.post("/send_data", tags=["send data"])
async def send_data():
try:
return {"data": "data published successfully"}
except Exception as e:
print(e)
from pymongo import MongoClient
import pandas as pd
from scripts.config.application_config import mongodb_uri, \
project_id, hierarchy_id, username, password
hierarchy_id, username, password
client = MongoClient(mongodb_uri,
username=username,
......@@ -24,11 +24,14 @@ class SendData:
query["line_id"] = each_hierarchy
elif "equipment_" in each_hierarchy:
query["equipment_id"] = each_hierarchy
filter_dict = {"_id": 0, "site_id": 1, "line_id": 1, "equipment_id": 1,
"site_name": 1, "line_name": 1, "equipment_name": 1, "id": 1, "tag_name": 1}
# filter_dict = {"_id": 0, "site_id": 1, "line_id": 1, "equipment_id": 1,
# "site_name": 1, "line_name": 1, "equipment_name": 1, "id": 1, "tag_name": 1}
pipeline = [
{
"$match": query
},
{
'$lookup': {
'from': 'tags',
'localField': 'parameter_id',
......@@ -38,26 +41,63 @@ class SendData:
}, {
'$unwind': '$tag_details'
}, {
'$group': {
'_id': '$id',
'first_document': {
'$first': '$$ROOT'
}
}
}, {
'$replaceRoot': {
'newRoot': '$first_document'
}
}, {
'$project': {
'_id': 0,
'tag_name': '$tag_details.tag_name',
'site_id': '$site_id',
'line_id': '$line_id',
'equipment_id': '$equipment_id',
'equipment_name': '$equipment_name',
'site_name': '$site_name',
'dept_name': '$dept_name',
'line_name': '$line_name',
'id': 1
'equipment_name': '$equipment_name',
'id': '$id',
'tag_name': '$tag_details.tag_name',
'_id': 0
}
}
]
tag_names = tag_hierarchy.aggregate(pipeline)
data = list(tag_names)
df = pd.DataFrame(data)
print(df)
dataset = pd.DataFrame(data)
return dataset
except Exception as e:
print(e)
@staticmethod
def final_dict(dataframe):
try:
final_data = {}
for index, row in dataframe.iterrows():
hierarchy_name = ""
if row["site_name"] is not None:
hierarchy_name = row["site_name"]
if row["line_name"] != "":
hierarchy_name = hierarchy_name + ">" + row["line_name"]
if row["equipment_name"] != "":
hierarchy_name = hierarchy_name + ">" + row["equipment_name"]
if row["dept_name"] != "":
hierarchy_name = hierarchy_name + ">" + row["dept_name"]
if row["tag_name"] != "":
hierarchy_name = hierarchy_name + ":" + row["tag_name"]
new_dict = {row["id"]: hierarchy_name}
final_data.update(new_dict)
print(final_data)
return final_data
except Exception as e:
print(e)
mongo_obj = SendData()
mongo_obj.extract_data()
df = mongo_obj.extract_data()
mongo_obj.final_dict(df)
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment