Skip to content

Commit 85f0530

Browse files
committed
formatted
1 parent b3b6776 commit 85f0530

File tree

13 files changed

+303
-169
lines changed

13 files changed

+303
-169
lines changed

server/djangoapp/apps.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,4 @@
22

33

44
class DjangoappConfig(AppConfig):
5-
name = 'djangoapp'
5+
name = "djangoapp"

server/djangoapp/microservices/app.py

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,30 +1,31 @@
11
from flask import Flask
22
from nltk.sentiment import SentimentIntensityAnalyzer
33
import json
4+
45
app = Flask("Sentiment Analyzer")
56

67
sia = SentimentIntensityAnalyzer()
78

89

9-
@app.get('/')
10+
@app.get("/")
1011
def home():
1112
return "Welcome to the Sentiment Analyzer. \
1213
Use /analyze/text to get the sentiment"
1314

1415

15-
@app.get('/analyze/<input_txt>')
16+
@app.get("/analyze/<input_txt>")
1617
def analyze_sentiment(input_txt):
1718

1819
scores = sia.polarity_scores(input_txt)
1920
print(scores)
20-
pos = float(scores['pos'])
21-
neg = float(scores['neg'])
22-
neu = float(scores['neu'])
21+
pos = float(scores["pos"])
22+
neg = float(scores["neg"])
23+
neu = float(scores["neu"])
2324
res = "positive"
2425
print("pos neg nue ", pos, neg, neu)
25-
if (neg > pos and neg > neu):
26+
if neg > pos and neg > neu:
2627
res = "negative"
27-
elif (neu > neg and neu > pos):
28+
elif neu > neg and neu > pos:
2829
res = "neutral"
2930
res = json.dumps({"sentiment": res})
3031
print(res)

server/djangoapp/migrations/0001_initial.py

Lines changed: 60 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -9,27 +9,74 @@ class Migration(migrations.Migration):
99

1010
initial = True
1111

12-
dependencies = [
13-
]
12+
dependencies = []
1413

1514
operations = [
1615
migrations.CreateModel(
17-
name='CarMake',
16+
name="CarMake",
1817
fields=[
19-
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
20-
('name', models.CharField(max_length=100)),
21-
('description', models.TextField()),
18+
(
19+
"id",
20+
models.BigAutoField(
21+
auto_created=True,
22+
primary_key=True,
23+
serialize=False,
24+
verbose_name="ID",
25+
),
26+
),
27+
("name", models.CharField(max_length=100)),
28+
("description", models.TextField()),
2229
],
2330
),
2431
migrations.CreateModel(
25-
name='CarModel',
32+
name="CarModel",
2633
fields=[
27-
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
28-
('dealer_id', models.IntegerField(null=True)),
29-
('name', models.CharField(max_length=100)),
30-
('type', models.CharField(choices=[('SEDAN', 'Sedan'), ('SUV', 'SUV'), ('WAGON', 'Wagon'), ('TRUCK', 'Truck'), ('HATCHBACK', 'Hatchback'), ('COUPE', 'Coupe'), ('CONVERTIBLE', 'Convertible'), ('MINIVAN', 'Minivan'), ('PICKUP', 'Pickup')], default='SUV', max_length=15)),
31-
('year', models.IntegerField(default=2023, validators=[django.core.validators.MaxValueValidator(2023), django.core.validators.MinValueValidator(2015)])),
32-
('car_make', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='djangoapp.carmake')),
34+
(
35+
"id",
36+
models.BigAutoField(
37+
auto_created=True,
38+
primary_key=True,
39+
serialize=False,
40+
verbose_name="ID",
41+
),
42+
),
43+
("dealer_id", models.IntegerField(null=True)),
44+
("name", models.CharField(max_length=100)),
45+
(
46+
"type",
47+
models.CharField(
48+
choices=[
49+
("SEDAN", "Sedan"),
50+
("SUV", "SUV"),
51+
("WAGON", "Wagon"),
52+
("TRUCK", "Truck"),
53+
("HATCHBACK", "Hatchback"),
54+
("COUPE", "Coupe"),
55+
("CONVERTIBLE", "Convertible"),
56+
("MINIVAN", "Minivan"),
57+
("PICKUP", "Pickup"),
58+
],
59+
default="SUV",
60+
max_length=15,
61+
),
62+
),
63+
(
64+
"year",
65+
models.IntegerField(
66+
default=2023,
67+
validators=[
68+
django.core.validators.MaxValueValidator(2023),
69+
django.core.validators.MinValueValidator(2015),
70+
],
71+
),
72+
),
73+
(
74+
"car_make",
75+
models.ForeignKey(
76+
on_delete=django.db.models.deletion.CASCADE,
77+
to="djangoapp.carmake",
78+
),
79+
),
3380
],
3481
),
3582
]

server/djangoapp/models.py

Lines changed: 22 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -13,12 +13,13 @@
1313
# - Any other fields you would like to include in car make model
1414
# - __str__ method to print a car make object
1515

16+
1617
class CarMake(models.Model):
1718
name = models.CharField(max_length=100)
1819
description = models.TextField()
1920

2021
def __str__(self):
21-
return self.name
22+
return self.name
2223

2324

2425
# <HINT> Create a Car Model model `class CarModel(models.Model):`:
@@ -31,27 +32,29 @@ def __str__(self):
3132
# - Any other fields you would like to include in car model
3233
# - __str__ method to print a car make object
3334
class CarModel(models.Model):
34-
car_make = models.ForeignKey(CarMake, on_delete=models.CASCADE) # Many-to-One relationship
35-
dealer_id = models.IntegerField(null=True) # Refers to a dealer created in Cloudant database
35+
car_make = models.ForeignKey(
36+
CarMake, on_delete=models.CASCADE
37+
) # Many-to-One relationship
38+
dealer_id = models.IntegerField(
39+
null=True
40+
) # Refers to a dealer created in Cloudant database
3641
name = models.CharField(max_length=100)
3742
CAR_TYPES = [
38-
('SEDAN', 'Sedan'),
39-
('SUV', 'SUV'),
40-
('WAGON', 'Wagon'),
41-
('TRUCK', 'Truck'),
42-
('HATCHBACK', 'Hatchback'),
43-
('COUPE', 'Coupe'),
44-
('CONVERTIBLE', 'Convertible'),
45-
('MINIVAN', 'Minivan'),
46-
('PICKUP', 'Pickup'),
43+
("SEDAN", "Sedan"),
44+
("SUV", "SUV"),
45+
("WAGON", "Wagon"),
46+
("TRUCK", "Truck"),
47+
("HATCHBACK", "Hatchback"),
48+
("COUPE", "Coupe"),
49+
("CONVERTIBLE", "Convertible"),
50+
("MINIVAN", "Minivan"),
51+
("PICKUP", "Pickup"),
4752
# Add more choices as required
4853
]
49-
type = models.CharField(max_length=15, choices=CAR_TYPES, default='SUV')
50-
year = models.IntegerField(default=2023,
51-
validators=[
52-
MaxValueValidator(2023),
53-
MinValueValidator(2015)
54-
])
54+
type = models.CharField(max_length=15, choices=CAR_TYPES, default="SUV")
55+
year = models.IntegerField(
56+
default=2023, validators=[MaxValueValidator(2023), MinValueValidator(2015)]
57+
)
5558

5659
def __str__(self):
57-
return f"{self.car_make.name} - {self.name}"
60+
return f"{self.car_make.name} - {self.name}"

server/djangoapp/populate.py

Lines changed: 90 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,38 +1,105 @@
11
from .models import CarMake, CarModel
22

3+
34
def initiate():
45
car_make_data = [
5-
{"name":"NISSAN", "description":"Great cars. Japanese technology"},
6-
{"name":"Mercedes", "description":"Great cars. German technology"},
7-
{"name":"Audi", "description":"Great cars. German technology"},
8-
{"name":"Kia", "description":"Great cars. Korean technology"},
9-
{"name":"Toyota", "description":"Great cars. Japanese technology"},
6+
{"name": "NISSAN", "description": "Great cars. Japanese technology"},
7+
{"name": "Mercedes", "description": "Great cars. German technology"},
8+
{"name": "Audi", "description": "Great cars. German technology"},
9+
{"name": "Kia", "description": "Great cars. Korean technology"},
10+
{"name": "Toyota", "description": "Great cars. Japanese technology"},
1011
]
1112

1213
car_make_instances = []
1314
for data in car_make_data:
14-
car_make_instances.append(CarMake.objects.create(name=data['name'], description=data['description']))
15-
15+
car_make_instances.append(
16+
CarMake.objects.create(name=data["name"], description=data["description"])
17+
)
1618

1719
# Create CarModel instances with the corresponding CarMake instances
1820
car_model_data = [
19-
{"name":"Pathfinder", "type":"SUV", "year": 2023, "car_make":car_make_instances[0]},
20-
{"name":"Qashqai", "type":"SUV", "year": 2023, "car_make":car_make_instances[0]},
21-
{"name":"XTRAIL", "type":"SUV", "year": 2023, "car_make":car_make_instances[0]},
22-
{"name":"A-Class", "type":"SUV", "year": 2023, "car_make":car_make_instances[1]},
23-
{"name":"C-Class", "type":"SUV", "year": 2023, "car_make":car_make_instances[1]},
24-
{"name":"E-Class", "type":"SUV", "year": 2023, "car_make":car_make_instances[1]},
25-
{"name":"A4", "type":"SUV", "year": 2023, "car_make":car_make_instances[2]},
26-
{"name":"A5", "type":"SUV", "year": 2023, "car_make":car_make_instances[2]},
27-
{"name":"A6", "type":"SUV", "year": 2023, "car_make":car_make_instances[2]},
28-
{"name":"Sorrento", "type":"SUV", "year": 2023, "car_make":car_make_instances[3]},
29-
{"name":"Carnival", "type":"SUV", "year": 2023, "car_make":car_make_instances[3]},
30-
{"name":"Cerato", "type":"Sedan", "year": 2023, "car_make":car_make_instances[3]},
31-
{"name":"Corolla", "type":"Sedan", "year": 2023, "car_make":car_make_instances[4]},
32-
{"name":"Camry", "type":"Sedan", "year": 2023, "car_make":car_make_instances[4]},
33-
{"name":"Kluger", "type":"SUV", "year": 2023, "car_make":car_make_instances[4]},
21+
{
22+
"name": "Pathfinder",
23+
"type": "SUV",
24+
"year": 2023,
25+
"car_make": car_make_instances[0],
26+
},
27+
{
28+
"name": "Qashqai",
29+
"type": "SUV",
30+
"year": 2023,
31+
"car_make": car_make_instances[0],
32+
},
33+
{
34+
"name": "XTRAIL",
35+
"type": "SUV",
36+
"year": 2023,
37+
"car_make": car_make_instances[0],
38+
},
39+
{
40+
"name": "A-Class",
41+
"type": "SUV",
42+
"year": 2023,
43+
"car_make": car_make_instances[1],
44+
},
45+
{
46+
"name": "C-Class",
47+
"type": "SUV",
48+
"year": 2023,
49+
"car_make": car_make_instances[1],
50+
},
51+
{
52+
"name": "E-Class",
53+
"type": "SUV",
54+
"year": 2023,
55+
"car_make": car_make_instances[1],
56+
},
57+
{"name": "A4", "type": "SUV", "year": 2023, "car_make": car_make_instances[2]},
58+
{"name": "A5", "type": "SUV", "year": 2023, "car_make": car_make_instances[2]},
59+
{"name": "A6", "type": "SUV", "year": 2023, "car_make": car_make_instances[2]},
60+
{
61+
"name": "Sorrento",
62+
"type": "SUV",
63+
"year": 2023,
64+
"car_make": car_make_instances[3],
65+
},
66+
{
67+
"name": "Carnival",
68+
"type": "SUV",
69+
"year": 2023,
70+
"car_make": car_make_instances[3],
71+
},
72+
{
73+
"name": "Cerato",
74+
"type": "Sedan",
75+
"year": 2023,
76+
"car_make": car_make_instances[3],
77+
},
78+
{
79+
"name": "Corolla",
80+
"type": "Sedan",
81+
"year": 2023,
82+
"car_make": car_make_instances[4],
83+
},
84+
{
85+
"name": "Camry",
86+
"type": "Sedan",
87+
"year": 2023,
88+
"car_make": car_make_instances[4],
89+
},
90+
{
91+
"name": "Kluger",
92+
"type": "SUV",
93+
"year": 2023,
94+
"car_make": car_make_instances[4],
95+
},
3496
# Add more CarModel instances as needed
3597
]
3698

3799
for data in car_model_data:
38-
CarModel.objects.create(name=data['name'], car_make=data['car_make'], type=data['type'], year=data['year'])
100+
CarModel.objects.create(
101+
name=data["name"],
102+
car_make=data["car_make"],
103+
type=data["type"],
104+
year=data["year"],
105+
)

server/djangoapp/restapis.py

Lines changed: 16 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -5,21 +5,21 @@
55

66
load_dotenv()
77

8-
backend_url = os.getenv(
9-
'backend_url', default="http://localhost:3030")
8+
backend_url = os.getenv("backend_url", default="http://localhost:3030")
109
sentiment_analyzer_url = os.getenv(
11-
'sentiment_analyzer_url',
12-
default="http://localhost:5050/")
10+
"sentiment_analyzer_url", default="http://localhost:5050/"
11+
)
12+
1313

1414
# def get_request(endpoint, **kwargs):
1515
# Add code for get requests to back end
1616
def get_request(endpoint, **kwargs):
1717
params = ""
18-
if(kwargs):
19-
for key,value in kwargs.items():
20-
params=params+key+"="+value+"&"
18+
if kwargs:
19+
for key, value in kwargs.items():
20+
params = params + key + "=" + value + "&"
2121

22-
request_url = backend_url+endpoint+"?"+params
22+
request_url = backend_url + endpoint + "?" + params
2323

2424
print("GET from {} ".format(request_url))
2525
try:
@@ -30,12 +30,14 @@ def get_request(endpoint, **kwargs):
3030
# If any error occurs
3131
print("Network exception occurred")
3232

33+
3334
# def analyze_review_sentiments(text):
3435
# request_url = sentiment_analyzer_url+"analyze/"+text
3536
# Add code for retrieving sentiments
3637

38+
3739
def analyze_review_sentiments(text):
38-
request_url = sentiment_analyzer_url+"analyze/"+text
40+
request_url = sentiment_analyzer_url + "analyze/" + text
3941
try:
4042
# Call get method of requests library with URL and parameters
4143
response = requests.get(request_url)
@@ -44,13 +46,16 @@ def analyze_review_sentiments(text):
4446
print(f"Unexpected {err=}, {type(err)=}")
4547
print("Network exception occurred")
4648

49+
4750
# def post_review(data_dict):
4851
def post_review(data_dict):
49-
request_url = backend_url+"/insert_review"
52+
request_url = backend_url + "/insert_review"
5053
try:
51-
response = requests.post(request_url,json=data_dict)
54+
response = requests.post(request_url, json=data_dict)
5255
print(response.json())
5356
return response.json()
5457
except:
5558
print("Network exception occurred")
59+
60+
5661
# Add code for posting review

0 commit comments

Comments
 (0)