Commit 3b4086ba by arjun.b

dataframe created

parents
MONGO_URI=192.168.0.220:2717
PASSWORD=iLensDevMongo783
USER=admin
HIERARCHY_ID=site_107
PROJECT_ID=project_102
PORT=8000
SERVER_PATH="scripts.services.fetch_data:app"
# Default ignored files
/shelf/
/workspace.xml
<?xml version="1.0" encoding="UTF-8"?>
<module type="PYTHON_MODULE" version="4">
<component name="NewModuleRootManager">
<content url="file://$MODULE_DIR$">
<excludeFolder url="file://$MODULE_DIR$/venv" />
</content>
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
</component>
</module>
\ No newline at end of file
<component name="InspectionProjectProfileManager">
<profile version="1.0">
<option name="myName" value="Project Default" />
<inspection_tool class="PyPep8NamingInspection" enabled="true" level="WEAK WARNING" enabled_by_default="true">
<option name="ignoredErrors">
<list>
<option value="N801" />
</list>
</option>
</inspection_tool>
</profile>
</component>
\ No newline at end of file
<component name="InspectionProjectProfileManager">
<settings>
<option name="USE_PROJECT_PROFILE" value="false" />
<version value="1.0" />
</settings>
</component>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectRootManager" version="2" project-jdk-name="Python 3.9 (KairosDB)" project-jdk-type="Python SDK" />
</project>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectModuleManager">
<modules>
<module fileurl="file://$PROJECT_DIR$/.idea/KairosDB.iml" filepath="$PROJECT_DIR$/.idea/KairosDB.iml" />
</modules>
</component>
</project>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="VcsDirectoryMappings">
<mapping directory="$PROJECT_DIR$" vcs="Git" />
</component>
</project>
\ No newline at end of file
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))
[mongo_connect]
mongo_uri=$MONGO_URI
\ No newline at end of file
from dotenv import load_dotenv
import os
load_dotenv()
mongodb_uri = os.getenv("MONGO_URI")
port = os.getenv("PORT")
server_path = os.getenv("SERVER_PATH")
project_id = os.getenv("PROJECT_ID")
hierarchy_id = os.getenv("HIERARCHY_ID")
username = os.getenv("USER")
password = os.getenv("PASSWORD")
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
client = MongoClient(mongodb_uri,
username=username,
password=password)
database = client['ilens_configuration']
collection = database['tag_hierarchy']
class SendData:
@staticmethod
def extract_data():
try:
tag_hierarchy = collection
query = {}
hierarchies = hierarchy_id.split('$')
for each_hierarchy in hierarchies:
if "site_" in each_hierarchy:
query["site_id"] = each_hierarchy
elif "line_" in each_hierarchy:
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}
pipeline = [
{
'$lookup': {
'from': 'tags',
'localField': 'parameter_id',
'foreignField': 'id',
'as': 'tag_details'
}
}, {
'$unwind': '$tag_details'
}, {
'$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',
'line_name': '$line_name',
'id': 1
}
}
]
tag_names = tag_hierarchy.aggregate(pipeline)
data = list(tag_names)
df = pd.DataFrame(data)
print(df)
except Exception as e:
print(e)
mongo_obj = SendData()
mongo_obj.extract_data()
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