Series table added to home page

This commit is contained in:
ayxan
2022-08-25 02:36:42 +04:00
parent c09df0e2de
commit d8fe62b23e
18 changed files with 161 additions and 23 deletions

View File

@@ -28,6 +28,10 @@ class AddSeriesView(LoginRequiredMixin, CreateView):
return redirect('add-series')
data = raw_data.json()
if 'Maximum usage' in data['errorMessage']:
messages.info(self.request, f"IMDB API: {data['errorMessage']}")
return redirect('add-series')
if data['errorMessage']:
form.add_error('imdb_id', 'ID is not correct.')
return self.form_invalid(form)
@@ -41,8 +45,13 @@ class AddSeriesView(LoginRequiredMixin, CreateView):
form.add_error('last_season', 'The season number is not correct.')
return self.form_invalid(form)
data = get(f"https://imdb-api.com/en/API/SeasonEpisodes/{series.user.imdb_api_key}/{series.imdb_id}/{series.last_season}").json()
episodes_count = len(data['episodes'])
raw_data = get(f"https://imdb-api.com/en/API/SeasonEpisodes/{series.user.imdb_api_key}/{series.imdb_id}/{series.last_season}")
if raw_data.status_code != 200:
messages.info(self.request, 'TV Series can not added. Please try again.')
return redirect('add-series')
episodes = raw_data.json()['episodes']
episodes_count = len(episodes)
if series.last_episode > episodes_count:
form.add_error('last_episode', 'The episode number is not correct.')
return self.form_invalid(form)

View File

@@ -1,7 +1,13 @@
from django.shortcuts import render
from django.contrib.auth.decorators import login_required
from django.core.paginator import Paginator
from account.models import User
@login_required(login_url='/account/login')
def homepage_view(request):
return render(request, 'homepage.html')
series = User.objects.get(id=request.user.id).series.all().order_by('-id')
page = request.GET.get('page')
paginator = Paginator(series, 5)
return render(request, 'homepage.html', context={'series': paginator.get_page(page)})

View File

@@ -31,6 +31,10 @@ class UpdateSeriesView(LoginRequiredMixin, UpdateView):
return redirect('add-series')
data = raw_data.json()
if 'Maximum usage' in data['errorMessage']:
messages.info(self.request, f"IMDB Key: {data['errorMessage']}")
return redirect('add-series')
if data['errorMessage']:
form.add_error('imdb_id', 'ID is not correct.')
return self.form_invalid(form)
@@ -44,8 +48,13 @@ class UpdateSeriesView(LoginRequiredMixin, UpdateView):
form.add_error('last_season', 'The season number is not correct.')
return self.form_invalid(form)
data = get(f"https://imdb-api.com/en/API/SeasonEpisodes/{series.user.imdb_api_key}/{series.imdb_id}/{series.last_season}").json()
episodes_count = len(data['episodes'])
raw_data = get(f"https://imdb-api.com/en/API/SeasonEpisodes/{series.user.imdb_api_key}/{series.imdb_id}/{series.last_season}")
if raw_data.status_code != 200:
messages.info(self.request, 'TV Series can not added. Please try again.')
return redirect('add-series')
episodes = raw_data.json()['episodes']
episodes_count = len(episodes)
if series.last_episode > episodes_count:
form.add_error('last_episode', 'The episode number is not correct.')
return self.form_invalid(form)