Skip to content

refactor exception permission to utils #146

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 5 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion codedigger/atcoder/scrapers.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import requests
from user.exception import ValidationException
from utils.exception import ValidationException

BASEURL = "https://atcoder.jp"

Expand Down
4 changes: 2 additions & 2 deletions codedigger/atcoder/views.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,8 @@
# Serializer and Extra Utils Function
from .serializers import AtcoderUpsolveContestSerializer
from problem.utils import atcoder_status, get_page_number, get_upsolve_response_dict
from user.permissions import *
from user.exception import ValidationException
from utils.permissions import *
from utils.exception import ValidationException
from lists.utils import get_total_page, getqs
from .scrapers import get_user_profile
# Create your views here.
Expand Down
2 changes: 1 addition & 1 deletion codedigger/blog/views.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@

from .models import Blog
from .serializers import BlogSerializer, ABlogSerializer
from user.permissions import *
from utils.permissions import *


class BlogAPIView(mixins.CreateModelMixin, generics.ListAPIView):
Expand Down
2 changes: 1 addition & 1 deletion codedigger/codechef/scraper.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import requests
from bs4 import BeautifulSoup

from user.exception import ValidationException
from utils.exception import ValidationException

from problem.models import *
from codechef.models import *
Expand Down
2 changes: 1 addition & 1 deletion codedigger/codechef/views.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
from rest_framework.response import Response
from rest_framework import generics, serializers

from user.exception import ValidationException
from utils.exception import ValidationException
from .models import CodechefContest
from .serializers import CodechefUpsolveSerializer
from .scraper_utils import contestgivenScrapper, problems_solved
Expand Down
2 changes: 1 addition & 1 deletion codedigger/codeforces/api.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
import requests

# User App
from user.exception import ValidationException
from utils.exception import ValidationException


def validated_response(response):
Expand Down
2 changes: 1 addition & 1 deletion codedigger/codeforces/cron.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
from user.exception import ValidationException
from utils.exception import ValidationException

from .api import (contest_list, contest_ratingChanges, contest_standings,
user_ratedList)
Expand Down
2 changes: 1 addition & 1 deletion codedigger/codeforces/models_utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
from problem.models import Problem

# User App Import
from user.exception import ValidationException
from utils.exception import ValidationException


def create_or_update_user(codeforces_user):
Expand Down
4 changes: 1 addition & 3 deletions codedigger/codeforces/tests/test_api.py
Original file line number Diff line number Diff line change
@@ -1,10 +1,8 @@
from rest_framework import response
from .test_setup import TestSetUp
from user.exception import ValidationException
from utils.exception import ValidationException
from codeforces.api import (user_info, user_rating, contest_list,
contest_standings, contest_ratingChanges,
user_status)
from django.urls import reverse


class TestAPI(TestSetUp):
Expand Down
5 changes: 0 additions & 5 deletions codedigger/codeforces/tests/test_views.py
Original file line number Diff line number Diff line change
@@ -1,9 +1,4 @@
from rest_framework import response
from .test_setup import TestSetUp
from user.exception import ValidationException
from codeforces.api import (user_info, user_rating, contest_list,
contest_standings, contest_ratingChanges,
user_status)
from django.urls import reverse


Expand Down
4 changes: 2 additions & 2 deletions codedigger/codeforces/views.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,8 @@

from rest_framework import generics, mixins

from user.permissions import AuthenticatedActivated, AuthenticatedOrReadOnly
from user.exception import ValidationException
from utils.permissions import AuthenticatedActivated, AuthenticatedOrReadOnly
from utils.exception import ValidationException

from user.serializers import GuruSerializer
from user.models import Profile
Expand Down
4 changes: 2 additions & 2 deletions codedigger/contest/views.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@
from rest_framework import generics, mixins, status

# Exceptions and Permissions
from user.exception import ValidationException
from user.permissions import *
from utils.exception import ValidationException
from utils.permissions import *

# Models
from user.models import Profile
Expand Down
2 changes: 1 addition & 1 deletion codedigger/lists/cron.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
from django.core.mail import send_mail
from codedigger.settings import EMAIL_HOST_USER
from codeforces.api import user_status
from user.exception import ValidationException
from utils.exception import ValidationException


def cron_codeforces(user):
Expand Down
2 changes: 1 addition & 1 deletion codedigger/lists/serializers.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
from django.db.models import Q, fields
from rest_framework.response import Response
from .solved_update import *
from user.exception import ValidationException
from utils.exception import ValidationException
from django.template.defaultfilters import slugify


Expand Down
2 changes: 1 addition & 1 deletion codedigger/lists/solved_update.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
from user.models import Profile, User
from problem.models import Problem
from codeforces.api import user_status
from user.exception import ValidationException
from utils.exception import ValidationException


def codechef(user, prob):
Expand Down
2 changes: 1 addition & 1 deletion codedigger/lists/tests/test_lists.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
from django.test import client

from user.exception import ValidationException
from utils.exception import ValidationException
from .test_setup import TestSetUp
from user.models import User, Profile
from django.urls import reverse
Expand Down
4 changes: 2 additions & 2 deletions codedigger/lists/views.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,8 @@
UserlistAddSerializer, AddProblemsAdminSerializer,
EnrollInListSerializer)
from django.db.models import Q, Subquery, Count
from user.permissions import *
from user.exception import *
from utils.permissions import *
from utils.exception import *
from .utils import *
from user.models import User, UserFriends

Expand Down
2 changes: 1 addition & 1 deletion codedigger/problem/utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@

from lists.utils import (sub_page_number, get_next_url, get_prev_url,
get_total_page, getqs)
from user.exception import ValidationException
from utils.exception import ValidationException
from codeforces.api import user_status

from .serializers import ProbSerializer
Expand Down
4 changes: 2 additions & 2 deletions codedigger/problem/views.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@
from rest_framework import generics, mixins, status

# Exceptions and Permissions
from user.exception import ValidationException
from user.permissions import *
from utils.exception import ValidationException
from utils.permissions import *

# Models Stuff
from user.models import User, Profile, UserFriends
Expand Down
35 changes: 0 additions & 35 deletions codedigger/user/exception.py

This file was deleted.

2 changes: 1 addition & 1 deletion codedigger/user/param_validators.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
from .exception import ValidationException
from utils.exception import ValidationException
from . import validator_functions as validators


Expand Down
71 changes: 0 additions & 71 deletions codedigger/user/permissions.py

This file was deleted.

7 changes: 0 additions & 7 deletions codedigger/user/response.py

This file was deleted.

24 changes: 11 additions & 13 deletions codedigger/user/serializers.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
from .utils import Util
import requests, json
from lists.models import Solved
from .exception import *
from utils.exception import *
import re


Expand Down Expand Up @@ -159,14 +159,13 @@ def validate(self, attrs):
user = auth.authenticate(username=user_obj_email.username,
password=password)
if user_obj_email.auth_provider != 'email':
raise AuthenticationException(
raise UnauthorizedException(
'Please continue your login using ' +
user_obj_email.auth_provider)
if not user:
raise AuthenticationException('Invalid credentials. Try again')
raise UnauthorizedException('Invalid credentials. Try again')
if not user.is_active:
raise AuthenticationException(
'Account disabled. contact admin')
raise UnauthorizedException('Account disabled. contact admin')
if not user.is_verified:
email = user.email
token = RefreshToken.for_user(user).access_token
Expand All @@ -184,7 +183,7 @@ def validate(self, attrs):
'to_email': user.email
}
Util.send_email(data)
raise AuthenticationException(
raise UnauthorizedException(
'Email is not verified, A Verification Email has been sent to your email address'
)
return {
Expand All @@ -196,10 +195,9 @@ def validate(self, attrs):
if user_obj_username:
user = auth.authenticate(username=username, password=password)
if not user:
raise AuthenticationException('Invalid credentials. Try again')
raise UnauthorizedException('Invalid credentials. Try again')
if not user.is_active:
raise AuthenticationException(
'Account disabled. contact admin')
raise UnauthorizedException('Account disabled. contact admin')
if not user.is_verified:
email = user.email
token = RefreshToken.for_user(user).access_token
Expand All @@ -217,7 +215,7 @@ def validate(self, attrs):
'to_email': user.email
}
Util.send_email(data)
raise AuthenticationException(
raise UnauthorizedException(
'Email is not verified, A Verification Email has been sent to your email address'
)
return {
Expand All @@ -226,7 +224,7 @@ def validate(self, attrs):
'tokens': user.tokens
}
return super().validate(attrs)
raise AuthenticationException('Invalid credentials. Try again')
raise UnauthorizedException('Invalid credentials. Try again')


class ProfileSerializer(serializers.ModelSerializer):
Expand Down Expand Up @@ -357,14 +355,14 @@ def validate(self, attrs):
id = force_str(urlsafe_base64_decode(uidb64))
user = User.objects.get(id=id)
if not PasswordResetTokenGenerator().check_token(user, token):
raise AuthenticationException('The reset link is invalid')
raise UnauthorizedException('The reset link is invalid')

user.set_password(password)
user.save()

return (user)
except Exception as e:
raise AuthenticationException('The reset link is invalid')
raise UnauthorizedException('The reset link is invalid')
return super().validate(attrs)


Expand Down
2 changes: 1 addition & 1 deletion codedigger/user/validator_functions.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
from .exception import ValidationException
from utils.exception import ValidationException


def numeric(param, key, *args, **kwargs):
Expand Down
Loading