Commit 23162cdc authored by arjun.b's avatar arjun.b

mongoDB part

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
[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
import pandas as pd
from scripts.config.application_config import mongodb_uri, \
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 "dept_" in hierarchies:
query["dept_id"] = each_hierarchy
elif "line_" in each_hierarchy:
query["line_id"] = each_hierarchy
elif "equipment_" in each_hierarchy:
query["equipment_id"] = each_hierarchy
pipeline = [
{
"$match": query
},
{
'$lookup': {
'from': 'tags',
'localField': 'parameter_id',
'foreignField': 'id',
'as': 'tag_details'
}
}, {
'$unwind': '$tag_details'
}, {
'$group': {
'_id': '$id',
'first_document': {
'$first': '$$ROOT'
}
}
}, {
'$replaceRoot': {
'newRoot': '$first_document'
}
}, {
'$project': {
'site_id': '$site_id',
'line_id': '$line_id',
'equipment_id': '$equipment_id',
'site_name': '$site_name',
'dept_name': '$dept_name',
'line_name': '$line_name',
'equipment_name': '$equipment_name',
'id': '$id',
'tag_name': '$tag_details.tag_name',
'_id': 0
}
}
]
tag_names = tag_hierarchy.aggregate(pipeline)
data = list(tag_names)
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()
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