Skip to content

Commit c70c471

Browse files
committed
Adding Sentiment class for language.
1 parent 23451b9 commit c70c471

File tree

3 files changed

+80
-0
lines changed

3 files changed

+80
-0
lines changed

docs/language-responses.rst

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,3 +7,10 @@ Entity
77
.. automodule:: gcloud.language.entity
88
:members:
99
:show-inheritance:
10+
11+
Sentiment
12+
~~~~~~~~~
13+
14+
.. automodule:: gcloud.language.sentiment
15+
:members:
16+
:show-inheritance:

gcloud/language/sentiment.py

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
# Copyright 2016 Google Inc. All Rights Reserved.
2+
#
3+
# Licensed under the Apache License, Version 2.0 (the "License");
4+
# you may not use this file except in compliance with the License.
5+
# You may obtain a copy of the License at
6+
#
7+
# http://www.apache.org/licenses/LICENSE-2.0
8+
#
9+
# Unless required by applicable law or agreed to in writing, software
10+
# distributed under the License is distributed on an "AS IS" BASIS,
11+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12+
# See the License for the specific language governing permissions and
13+
# limitations under the License.
14+
15+
"""Definition for Google Cloud Natural Language API sentiment.
16+
17+
Sentiment is the response to an ``analyzeSentiment`` request.
18+
"""
19+
20+
21+
class Sentiment(object):
22+
"""A Google Cloud Natural Language API sentiment object.
23+
24+
.. _Sentiment message: https://cloud.google.com/natural-language/\
25+
reference/rest/v1beta1/Sentiment
26+
27+
See `Sentiment message`_.
28+
29+
:type polarity: float
30+
:param polarity: Polarity of the sentiment in the ``[-1.0, 1.0]`` range.
31+
Larger numbers represent more positive sentiments.
32+
33+
:type magnitude: float
34+
:param magnitude: A non-negative number in the ``[0, +inf)`` range, which
35+
represents the absolute magnitude of sentiment
36+
regardless of polarity (positive or negative).
37+
"""
38+
39+
def __init__(self, polarity, magnitude):
40+
self.polarity = polarity
41+
self.magnitude = magnitude

gcloud/language/test_sentiment.py

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
# Copyright 2016 Google Inc. All Rights Reserved.
2+
#
3+
# Licensed under the Apache License, Version 2.0 (the "License");
4+
# you may not use this file except in compliance with the License.
5+
# You may obtain a copy of the License at
6+
#
7+
# http://www.apache.org/licenses/LICENSE-2.0
8+
#
9+
# Unless required by applicable law or agreed to in writing, software
10+
# distributed under the License is distributed on an "AS IS" BASIS,
11+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12+
# See the License for the specific language governing permissions and
13+
# limitations under the License.
14+
15+
import unittest
16+
17+
18+
class TestSentiment(unittest.TestCase):
19+
20+
def _getTargetClass(self):
21+
from gcloud.language.sentiment import Sentiment
22+
return Sentiment
23+
24+
def _makeOne(self, *args, **kw):
25+
return self._getTargetClass()(*args, **kw)
26+
27+
def test_constructor(self):
28+
polarity = 1
29+
magnitude = 2.3
30+
sentiment = self._makeOne(polarity, magnitude)
31+
self.assertEqual(sentiment.polarity, polarity)
32+
self.assertEqual(sentiment.magnitude, magnitude)

0 commit comments

Comments
 (0)