File size: 2,946 Bytes
0901162
 
63c5e69
0901162
d3618ac
 
 
0901162
63c5e69
0901162
 
 
 
 
 
 
 
 
7317ad4
593d069
0901162
 
 
 
 
 
 
a9859a7
b96fdbc
0901162
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
543b90b
 
0901162
543b90b
 
 
 
 
 
 
 
 
 
 
 
0901162
 
543b90b
0901162
b96fdbc
 
 
 
 
 
 
 
 
 
 
 
 
 
 
0901162
 
 
b96fdbc
 
 
 
 
 
 
0901162
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
from firebase_admin import credentials
from firebase_admin import firestore
import firebase_admin
from firebase_admin import db
cred = credentials.Certificate(
    "text-to-emotions-firebase-adminsdk-8isbn-dffbdf01e8.json")
firebase_admin.initialize_app(cred)
# Import the Firebase Admin SDK
import threading
import firebase_admin
from datetime import datetime
import time
import Cleaning
from collections import Counter
def current_milli_time():
    return round(time.time() * 1000)


import Classes as Classes
db = firestore.client()
# Firebase ininlaziton

# for doc in docs:
#     print(f"{doc.id} => {doc.to_dict()}")
all_reviews = db.collection("complaints")
# Create a query against the collection
today_date = current_milli_time()
documents_to_summarize = all_reviews.get()
feedbacks = db.collection("feedbacks").where("feedbacks","!=",'').get()


documents=[]
#get all documents for today that have no summary
def get_all_document():
    for doc in documents_to_summarize:
        document =Classes.Shakwa.from_dict(source=doc.to_dict())
        documents.append(document)
    return documents



def get_num_of_words():
    for doc in documents_to_summarize:
        print(len(doc.complaintbody))

def shakwa_common_words():
    allcomplaints = []
    most_common_words = {}
    for doc in documents_to_summarize:
        document = Classes.Shakwa.from_dict(source=doc.to_dict())
        allcomplaints.append(document.complaintbody)
    # print(allcomplaints)
    words_in_docs = " ".join(allcomplaints)
    words_in_docs = Cleaning.txt_preprocess(words_in_docs)
    words_in_docs = words_in_docs.split(" ")
    for word in words_in_docs:
        if word in most_common_words:
            most_common_words[word] += 1
        else:
            most_common_words[word] = 1
    most_common_words = sorted(most_common_words.items(), key=lambda x: x[1])
    return dict(most_common_words)


def feedback_common_words():
    allfeedbacks= []
    most_common_words = {}
    for doc in feedbacks:
        document = Classes.Feedback.from_dict(source=doc.to_dict())
        allcomplaints.append(document.feedback )
    # print(allcomplaints)
    words_in_docs = " ".join(allfeedbacks)
    words_in_docs = Cleaning.txt_preprocess(words_in_docs)
    words_in_docs = words_in_docs.split(" ")
    for word in words_in_docs:
        if word in most_common_words:
            most_common_words[word] += 1
        else:
            most_common_words[word] = 1
    most_common_words = sorted(most_common_words.items(), key=lambda x: x[1])
    return dict(most_common_words)

def get_most_common_places():
    dic_place_count = {}
    for doc in all_reviews.get():
        document = Classes.Shakwa.from_dict(source=doc.to_dict())
        if document.governorate not in dic_place_count.keys():
            dic_place_count[document.governorate] = 1
        else:
            dic_place_count[document.governorate] += 1
    return dic_place_count