Skip to content
This repository was archived by the owner on Nov 26, 2024. It is now read-only.

Commit cf12fce

Browse files
committed
fixed PR comments
1 parent d465566 commit cf12fce

File tree

1 file changed

+31
-51
lines changed

1 file changed

+31
-51
lines changed

language/movie_nl/main.py

Lines changed: 31 additions & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -33,10 +33,7 @@ def analyze_document(service, document):
3333

3434
sentences, entities = document.extract_all_sentences(service)
3535

36-
try:
37-
sentiments = [get_sentiment(service, sentence) for sentence in sentences]
38-
except HttpError as e:
39-
raise e
36+
sentiments = [get_sentiment(service, sentence) for sentence in sentences]
4037

4138
return sentiments, entities
4239

@@ -59,22 +56,6 @@ def get_request_body(text, syntax=True, entities=True, sentiment=True):
5956

6057
return body
6158

62-
def get_response_with_retry(request, tries, retry=3):
63-
"""Get the response using re-try"""
64-
try:
65-
response = request.execute()
66-
return response
67-
except HttpError as e:
68-
raise e
69-
except socket.error as se:
70-
if tries > retry:
71-
raise se
72-
73-
logging.error('Re-trying the request {}'.format(tries))
74-
75-
tries+=1
76-
return get_response_with_retry(request, tries, retry)
77-
7859

7960
def get_sentiment(service, sentence):
8061
"""Get the sentence-level sentiment."""
@@ -84,15 +65,15 @@ def get_sentiment(service, sentence):
8465
docs = service.documents()
8566
request = docs.annotateText(body=body)
8667

87-
response = get_response_with_retry(request, 1)
68+
response = request.execute(num_retries=3)
8869

89-
sentiment = response.get("documentSentiment")
70+
sentiment = response.get('documentSentiment')
9071

9172
if sentiment is None:
9273
return (None, None)
9374
else:
94-
pol = sentiment.get("polarity")
95-
mag = sentiment.get("magnitude")
75+
pol = sentiment.get('polarity')
76+
mag = sentiment.get('magnitude')
9677

9778
if pol is None and mag is not None:
9879
pol = 0
@@ -106,41 +87,43 @@ def __init__(self, text, doc_id, doc_path):
10687
self.text = text
10788
self.doc_id = doc_id
10889
self.doc_path = doc_path
109-
self.sentent_pair = None
90+
self.sentence_entity_pair = None
11091
self.label = None
11192

11293
def extract_all_sentences(self, service):
11394
"""Extract the sentences in a document."""
11495

115-
if self.sentent_pair is None:
116-
docs = service.documents()
117-
request_body = get_request_body(
118-
self.text,
119-
syntax=True,
120-
entities=True,
121-
sentiment=False)
122-
request = docs.annotateText(body=request_body)
96+
if self.sentence_entity_pair is not None:
97+
return self.sentence_entity_pair
98+
99+
docs = service.documents()
100+
request_body = get_request_body(
101+
self.text,
102+
syntax=True,
103+
entities=True,
104+
sentiment=False)
105+
request = docs.annotateText(body=request_body)
123106

124-
ent_list = []
107+
ent_list = []
125108

126-
response = request.execute()
127-
entities = response.get('entities', [])
128-
sentences = response.get('sentences', [])
109+
response = request.execute()
110+
entities = response.get('entities', [])
111+
sentences = response.get('sentences', [])
129112

130-
sent_list = [
131-
sentence.get('text').get('content') for sentence in sentences
132-
]
113+
sent_list = [
114+
sentence.get('text', {}).get('content') for sentence in sentences
115+
]
133116

134-
for entity in entities:
135-
ent_type = entity.get('type')
136-
wiki_url = entity.get('metadata', {}).get('wikipedia_url')
117+
for entity in entities:
118+
ent_type = entity.get('type')
119+
wiki_url = entity.get('metadata', {}).get('wikipedia_url')
137120

138-
if ent_type == 'PERSON' and wiki_url is not None:
139-
ent_list.append(wiki_url)
121+
if ent_type == 'PERSON' and wiki_url is not None:
122+
ent_list.append(wiki_url)
140123

141-
self.sentent_pair = (sent_list, ent_list)
124+
self.sentence_entity_pair = (sent_list, ent_list)
142125

143-
return self.sentent_pair
126+
return self.sentence_entity_pair
144127

145128

146129
def to_sentiment_json(doc_id, sent, label):
@@ -180,10 +163,7 @@ def to_entity_json(entity, e_tuple):
180163
def get_sentiment_entities(service, document):
181164
"""Compute the overall sentiment volume in the document"""
182165

183-
try:
184-
sentiments, entities = analyze_document(service, document)
185-
except HttpError as e:
186-
raise e
166+
sentiments, entities = analyze_document(service, document)
187167

188168
sentiments = [sent for sent in sentiments if sent[0] is not None]
189169
negative_sentiments = [

0 commit comments

Comments
 (0)