ksvmuralidhar commited on
Commit
c92ded8
·
verified ·
1 Parent(s): d89a084

Create read_predictions_from_db.py

Browse files
Files changed (1) hide show
  1. read_predictions_from_db.py +55 -0
read_predictions_from_db.py ADDED
@@ -0,0 +1,55 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import pymongo
2
+ import os
3
+ import pandas as pd
4
+ import logging
5
+
6
+
7
+ class PredictionDBRead:
8
+ def __init__(self):
9
+ self.url = os.getenv('PREDICTION_DB_URL')
10
+ self.database = "indian_news_predictions_db"
11
+ self.collection = "indian_news_predictions_coll"
12
+ self.__client = None
13
+ self.__error = 0
14
+
15
+ def __connect(self):
16
+ try:
17
+ self.__client = pymongo.MongoClient(self.url)
18
+ _ = self.__client.list_database_names()
19
+ except Exception as conn_exception:
20
+ self.__error = 1
21
+ self.__client = None
22
+
23
+
24
+ def __read(self):
25
+ try:
26
+ db = self.__client[self.database]
27
+ coll = db[self.collection]
28
+ docs = []
29
+ for doc in coll.find():
30
+ docs.append(doc)
31
+ rss_df = pd.DataFrame(docs)
32
+ except Exception as insert_err:
33
+ self.__error = 1
34
+ rss_df = None
35
+ return rss_df
36
+
37
+
38
+ def __close_connection(self):
39
+ if self.__client is not None:
40
+ self.__client.close()
41
+ self.__client = None
42
+
43
+
44
+ def read_predictions_from_db(self):
45
+ rss_df = None
46
+ if self.url is not None:
47
+ if self.__error == 0:
48
+ self.__connect()
49
+ if self.__error == 0:
50
+ rss_df = self.__read()
51
+ if self.__error == 0:
52
+ logging.info("Prediction Data Read Successful")
53
+ if self.__client is not None:
54
+ self.__close_connection()
55
+ return rss_df