Skip to content

Commit

Permalink
fix(pylint): Fix all pylint errors
Browse files Browse the repository at this point in the history
  • Loading branch information
PalMit2002 committed Feb 7, 2023
1 parent 8ec9e3b commit 3b4fe21
Show file tree
Hide file tree
Showing 15 changed files with 101 additions and 107 deletions.
2 changes: 1 addition & 1 deletion .pylintrc
Original file line number Diff line number Diff line change
Expand Up @@ -5,4 +5,4 @@ ignore=.git,__pycache__,backend,migrations,venv,.venv
[MESSAGES CONTROL]
max-line-length=120
max-locals=20
disable=C0111,C0103,R0903,R0901,R0801,W0221,E1101,E5142,C0209,R1732,R1729,R0402,R1721,W0613,E5110,W1514,W0622,W0104,W0703
disable=C0111,C0103,R0903,R0901,R0801,W0221,E1101,E5142,C0209,R1732,R1729,R0402,R1721,W0613,E5110,W1514,W0622,W0104,W0703,R0911
22 changes: 9 additions & 13 deletions community/views.py
Original file line number Diff line number Diff line change
Expand Up @@ -121,7 +121,7 @@ def perform_action(self, request, action, pk):
'''action==feature for featuring a post'''
post = self.get_community_post(pk)

if (action == "feature"):
if action == "feature":
if all([user_has_privilege(request.user.profile, post.community.body.id, 'AppP')]):

# Get query param
Expand All @@ -137,8 +137,8 @@ def perform_action(self, request, action, pk):

return forbidden_no_privileges()

if (action == "delete"):
if (request.user.profile == post.posted_by):
if action == "delete":
if request.user.profile == post.posted_by:
post.deleted = True
post.featured = False
post.save()
Expand All @@ -152,17 +152,16 @@ def perform_action(self, request, action, pk):

return forbidden_no_privileges()

if (action == "report"):
if (request.user.profile not in post.reported_by.all()):
if action == "report":
if request.user.profile not in post.reported_by.all():
post.reported_by.add(request.user.profile)
# post.reports +=1
post.save()
return Response({"message": "Post reported"})
else:
post.reported_by.remove(request.user.profile)
# post.reports -=1
post.save()
return Response({"message": "Post unreported"})
post.reported_by.remove(request.user.profile)
# post.reports -=1
post.save()
return Response({"message": "Post unreported"})

return Response({"message": "action not supported"}, status=400)

Expand All @@ -178,9 +177,6 @@ class CommunityViewSet(viewsets.ModelViewSet):
queryset = Community.objects
serializer_class = CommunitySerializers

def get_serializer_context(self):
return super().get_serializer_context()

@login_required_ajax
def list(self, request):
queryset = Community.objects.all()
Expand Down
6 changes: 4 additions & 2 deletions events/serializers.py
Original file line number Diff line number Diff line change
Expand Up @@ -100,11 +100,13 @@ class EventFullSerializer(serializers.ModelSerializer):
interested_count = serializers.IntegerField(read_only=True)
going_count = serializers.IntegerField(read_only=True)

def get_interested(self, obj):
return get_followers(obj, 1)
interested = serializers.SerializerMethodField()
get_interested = lambda self, obj: get_followers(obj, 1)

def get_going(self, obj):
return get_followers(obj, 2)
going = serializers.SerializerMethodField()
get_going = lambda self, obj: get_followers(obj, 2)

user_ues = serializers.SerializerMethodField()
get_user_ues = get_user_ues # pylint: disable=self-assigning-variable
Expand Down
2 changes: 1 addition & 1 deletion external/management/commands/external_blog_chore.py
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,7 @@ def handle_entry(entry):
def fill_blog(url):

# Get the feed
response = requests.get(url)
response = requests.get(url, timeout=10)
feeds = feedparser.parse(response.content)

if not feeds['feed']:
Expand Down
4 changes: 2 additions & 2 deletions login/helpers.py
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ def perform_login(auth_code, redir, request):
headers={
"Authorization": "Basic " + settings.SSO_CLIENT_ID_SECRET_BASE64,
"Content-Type": "application/x-www-form-urlencoded"
}, verify=not settings.SSO_BAD_CERT)
}, verify=not settings.SSO_BAD_CERT, timeout=10)
response_json = response.json()

# Check that we have the access token
Expand All @@ -40,7 +40,7 @@ def perform_login(auth_code, redir, request):
settings.SSO_PROFILE_URL,
headers={
"Authorization": "Bearer " + response_json['access_token'],
}, verify=not settings.SSO_BAD_CERT)
}, verify=not settings.SSO_BAD_CERT, timeout=10)
profile_json = profile_response.json()

# Check if we got at least the user's SSO id
Expand Down
110 changes: 55 additions & 55 deletions messmenu/views.py
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
"""Views for mess menu."""
from datetime import datetime
import requests
from rest_framework.response import Response
from rest_framework.decorators import api_view
import requests
from dateutil.relativedelta import relativedelta
from django.conf import settings
from django.utils.timezone import make_aware
from cryptography.fernet import Fernet
from messmenu.models import Hostel, MessCalEvent
from messmenu.serializers import HostelSerializer, MessCalEventSerializer
from django.utils.timezone import make_aware

@api_view(['GET', ])
def get_mess(request):
Expand Down Expand Up @@ -43,59 +43,9 @@ def getUserMess(request):
items = []

while curr <= end:
url = f'{settings.MESSI_BASE_URL}/api/get_details?roll={rollno}&year={curr.year}&month={curr.month}'
payload = {}
headers = {
'x-access-token': settings.MESSI_ACCESS_TOKEN
}

res = requests.request("GET", url, headers=headers, data=payload)

if res.status_code != 200:
curr = curr + relativedelta(months=1)
continue
# print("Error in getting details")
# return Response({"error":"Error in getting mess calendar"})

data = res.json()

try:
details = data["details"]

for d in details:
k = binaryDecode(d)
mealnum = k["meal"]

mealnumtotitle = {
"000": "Breakfast",
"001": "Lunch",
"010": "Snacks",
"011": "Dinner",
"100": "Milk",
"101": "Egg",
"110": "Fruit"
}

if mealnum in mealnumtotitle:
title = mealnumtotitle[mealnum]
else:
title = "Other"

date = datetime(curr.year, curr.month, k["day"], k["time"] // 60, k["time"] % 60)
date = make_aware(date)
hostel = k["hostel"]

item, c = MessCalEvent.objects.get_or_create(user=user, datetime=date, hostel=hostel)
if c or item.title != title:
item.title = title
item.save()

items.append(item)

except KeyError:
curr = curr + relativedelta(months=1)
continue

new_items = getMessForMonth(user, rollno, curr)
if new_items is not None:
items.extend(new_items)
curr = curr + relativedelta(months=1)

return Response(MessCalEventSerializer(items, many=True).data)
Expand All @@ -109,6 +59,56 @@ def binaryDecode(x):
hostel = int(b_x[0:len(b_x) - 19], 2)
return {'hostel': hostel, 'time': time, 'meal': meal, 'day': day}

def getMessForMonth(user, rollno, curr):
items = []
url = f'{settings.MESSI_BASE_URL}/api/get_details?roll={rollno}&year={curr.year}&month={curr.month}'
payload = {}
headers = {
'x-access-token': settings.MESSI_ACCESS_TOKEN
}

res = requests.request("GET", url, headers=headers, data=payload, timeout=10)

if res.status_code != 200:
return None
# print("Error in getting details")
# return Response({"error":"Error in getting mess calendar"})

data = res.json()

try:
details = data["details"]

for d in details:
k = binaryDecode(d)
mealnum = k["meal"]

title = {
"000": "Breakfast",
"001": "Lunch",
"010": "Snacks",
"011": "Dinner",
"100": "Milk",
"101": "Egg",
"110": "Fruit"
}.get(mealnum, "Other")

date = datetime(curr.year, curr.month, k["day"], k["time"] // 60, k["time"] % 60)
date = make_aware(date)
hostel = k["hostel"]

item, c = MessCalEvent.objects.get_or_create(user=user, datetime=date, hostel=hostel)
if c or item.title != title:
item.title = title
item.save()

items.append(item)

except KeyError:
return None

return items

@api_view(['GET', ])
def getRnoQR(request):

Expand Down
2 changes: 1 addition & 1 deletion news/management/commands/news_chore.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)

def fill_blog(url, body):
response = requests.get(url, verify=False)
response = requests.get(url, verify=False, timeout=10)
feeds = feedparser.parse(response.content)

if not feeds['feed']:
Expand Down
3 changes: 2 additions & 1 deletion other/tests.py
Original file line number Diff line number Diff line change
Expand Up @@ -190,8 +190,9 @@ def test_notifications(self): # pylint: disable=R0914,R0915
self.assertIn(EventSerializer(event3).data, actors)

# Mark event2 as read
def e2notif():
return Notification.objects.get(pk=e2n['id'])
e2n = [n for n in response.data if n['actor'] == EventSerializer(event2).data][0]
e2notif = lambda: Notification.objects.get(pk=e2n['id'])
self.assertEqual(e2notif().unread, True)
self.assertEqual(e2notif().deleted, False)
response = self.client.get(url + '/read/' + str(e2n['id']))
Expand Down
3 changes: 2 additions & 1 deletion placements/management/commands/placement_blog_chore.py
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@

class ProfileFetcher():
"""Helper to get dictionary of profiles efficiently."""

def __init__(self):
self.roll_nos = None

Expand Down Expand Up @@ -97,7 +98,7 @@ def fill_blog(url, body_name, url_val):

# Get the feed
response = requests.get(url, auth=HTTPBasicAuth(
settings.LDAP_USERNAME, settings.LDAP_PASSWORD))
settings.LDAP_USERNAME, settings.LDAP_PASSWORD), timeout=10)
feeds = feedparser.parse(response.content)

if not feeds['feed']:
Expand Down
7 changes: 5 additions & 2 deletions placements/tests.py
Original file line number Diff line number Diff line change
Expand Up @@ -124,8 +124,11 @@ def test_placements_chore(self):
call_command('placement_blog_chore')

# Check if posts were collected
placements = lambda: BlogEntry.objects.all().filter(blog_url=settings.PLACEMENTS_URL_VAL)
trainings = lambda: BlogEntry.objects.all().filter(blog_url=settings.TRAINING_BLOG_URL_VAL)
def placements():
return BlogEntry.objects.all().filter(blog_url=settings.PLACEMENTS_URL_VAL)

def trainings():
return BlogEntry.objects.all().filter(blog_url=settings.TRAINING_BLOG_URL_VAL)
self.assertEqual(placements().count(), 3)
self.assertEqual(trainings().count(), 5)
self.assertEqual(set(x.guid for x in placements()), set('sample:p:%i' % i for i in range(1, 4)))
Expand Down
7 changes: 3 additions & 4 deletions querybot/admin.py
Original file line number Diff line number Diff line change
@@ -1,10 +1,9 @@
from notifications.signals import notify

import csv
from django.contrib import admin
from django.contrib.auth.models import User
from querybot.models import Query, UnresolvedQuery, ChatBotLog
import csv
from django.http import HttpResponse
from notifications.signals import notify
from querybot.models import Query, UnresolvedQuery, ChatBotLog

def handle_entry(entry, notify_user=True):
"""Handle a single entry from a feed."""
Expand Down
18 changes: 12 additions & 6 deletions upload/tests.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,10 +14,12 @@

from upload.models import UploadedImage

get_image = lambda: SimpleUploadedFile(
"img.jpg", open("./upload/img.jpg", "rb").read(), content_type="image/jpeg")
def get_image():
return SimpleUploadedFile("img.jpg", open("./upload/img.jpg", "rb").read(), content_type="image/jpeg")

new_upload = lambda slf: slf.client.post('/api/upload', {'picture': get_image()})

def new_upload(slf):
return slf.client.post('/api/upload', {'picture': get_image()})

class UploadTestCase(APITestCase):
"""Check if logged in users can upload files."""
Expand Down Expand Up @@ -67,8 +69,11 @@ def test_clean_images_chore(self):
body1 = create_body(image_url=res[3].data['picture'])

# Get path for checking deletion
obj = lambda res: UploadedImage.objects.get(pk=res.data['id'])
obj_exists = lambda res: UploadedImage.objects.filter(pk=res.data['id']).exists()
def obj(res):
return UploadedImage.objects.get(pk=res.data['id'])

def obj_exists(res):
return UploadedImage.objects.filter(pk=res.data['id']).exists()
paths = [obj(r).picture.path for r in res]

# Check if deleting a non existent file is fine
Expand All @@ -79,7 +84,8 @@ def test_clean_images_chore(self):
self.assertFalse(obj_exists(res[4]))

# Call the chore
clean = lambda: call_command('clean-images')
def clean():
return call_command('clean-images')
clean()

# Check if unclaimed images were removed
Expand Down
4 changes: 2 additions & 2 deletions users/admin.py
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
import csv
from django.contrib import admin
from django.http import HttpResponse
from users.models import UserProfile
from users.models import UserFormerRole
from users.models import WebPushSubscription
from users.models import UserTagCategory
from users.models import UserTag
import csv
from django.http import HttpResponse

def export_as_csv(self, request, queryset):
response = HttpResponse(content_type='text/csv')
Expand Down
3 changes: 2 additions & 1 deletion users/tests.py
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,8 @@ def test_user_me(self):
"""Check the /api/user-me API."""

# Function to get latest user from database
usr = lambda: UserProfile.objects.get(id=self.user.profile.id)
def usr():
return UserProfile.objects.get(id=self.user.profile.id)

# Initialize
self.user.profile.fcm_id = 'TESTINIT'
Expand Down
15 changes: 0 additions & 15 deletions venter/views.py
Original file line number Diff line number Diff line change
Expand Up @@ -190,21 +190,6 @@ class CommentViewSet(viewsets.ModelViewSet):
queryset = ComplaintComment.objects
serializer_class = CommentPostSerializer

@classmethod
@login_required_ajax
def create(cls, request, pk):
get_complaint = get_object_or_404(Complaint.objects.all(), id=pk)
get_text = request.data['text']
comment = ComplaintComment.objects.create(
text=get_text, commented_by=request.user.profile, complaint=get_complaint)
# Auto subscribes the commenter to the complaint
if settings.COMPLAINT_AUTO_SUBSCRIBE:
get_complaint.subscriptions.add(request.user.profile)
get_complaint.save()

serialized = CommentSerializer(comment)
return Response(serialized.data, status=201)

@login_required_ajax
def update(self, request, pk):
"""Update a comment if created by current user."""
Expand Down

0 comments on commit 3b4fe21

Please sign in to comment.