Skip to content

Commit

Permalink
#99 more moving of views
Browse files Browse the repository at this point in the history
  • Loading branch information
Sh4kE committed Dec 10, 2016
1 parent 6ca14d3 commit 342aa72
Show file tree
Hide file tree
Showing 14 changed files with 110 additions and 106 deletions.
File renamed without changes.
Empty file added core/localizations/__init__.py
Empty file.
4 changes: 4 additions & 0 deletions core/localizations/messages.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
MSG_NOT_LOGGED_IN = "Du bist nicht eingeloggt!"
MSG_SETTINGS_SAVED = "Die neuen Einstellungen wurden gespeichert."
MSG_PASSWORDS_UNEQUAL = "Die eingegeben Passwörter stimmen nicht überein."
MSG_OFM_PASSWORDS_UNEQUAL = "Die eingegeben OFM Passwörter stimmen nicht überein."
10 changes: 5 additions & 5 deletions core/ofm_urls.py
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
from django.conf.urls import url

from core.rename_me_views.stadium_views import StadiumStatisticsView, StadiumStatisticsAsJsonView, StadiumDetailView, \
StadiumStandStatisticsView, StadiumStandStatisticsChartView
from core.rename_me_views.match_views import MatchesView, MatchesAsJsonView, MatchesSummaryJsonView
from core.rename_me_views.finance_views import FinanceDataView, FinancesAsJsonView, FinanceBalanceChartView, \
from core.views.finance_views import FinanceDataView, FinancesAsJsonView, FinanceBalanceChartView, \
FinanceIncomeChartView, FinanceExpensesChartView
from core.rename_me_views.player_views import PlayerStatisticsView, PlayerStatisticsAsJsonView, PlayerDetailView, PlayerChartView
from core.views.match_views import MatchesView, MatchesAsJsonView, MatchesSummaryJsonView
from core.views.player_views import PlayerStatisticsView, PlayerStatisticsAsJsonView, PlayerDetailView, PlayerChartView
from core.views.stadium_views import StadiumStatisticsView, StadiumStatisticsAsJsonView, StadiumDetailView, \
StadiumStandStatisticsView, StadiumStandStatisticsChartView

app_name = 'ofm'
urlpatterns = [
Expand Down
20 changes: 10 additions & 10 deletions core/tests/unit/views/test_parser_view.py
Original file line number Diff line number Diff line change
Expand Up @@ -18,27 +18,27 @@ def setUp(self):
self.user = OFMUser.objects.create_user('name', '', 'pass', ofm_username='name', ofm_password='pass')
self.client.login(username='name', password='pass')

@patch('core.views.SiteManager')
@patch('core.views.trigger_parsing_views.SiteManager')
@patch('core.managers.parser_manager.MatchdayParser')
def test_matchday_parser_view(self, site_manager_mock, matchday_parser_mock):
response = self.client.get(reverse('core:trigger_matchday_parsing'))
self.assertEqual(response.status_code, 302)

assert core.views.SiteManager.called
assert core.views.trigger_parsing_views.SiteManager.called
assert core.managers.parser_manager.MatchdayParser.return_value.parse.called

@patch('core.views.SiteManager')
@patch('core.views.trigger_parsing_views.SiteManager')
@patch('core.managers.parser_manager.MatchdayParser')
@patch('core.managers.parser_manager.PlayersParser')
def test_player_parser_view(self, matchday_parser_mock, site_manager_mock, players_parser_mock):
response = self.client.get(reverse('core:trigger_players_parsing'))
self.assertEqual(response.status_code, 302)

assert core.views.SiteManager.called
assert core.views.trigger_parsing_views.SiteManager.called
assert core.managers.parser_manager.MatchdayParser.return_value.parse.called
assert core.managers.parser_manager.PlayersParser.return_value.parse.called

@patch('core.views.SiteManager')
@patch('core.views.trigger_parsing_views.SiteManager')
@patch('core.managers.parser_manager.MatchdayParser')
@patch('core.managers.parser_manager.PlayersParser')
@patch('core.managers.parser_manager.PlayerStatisticsParser')
Expand All @@ -47,19 +47,19 @@ def test_player_statistics_parser_view(self, matchday_parser_mock, player_parser
response = self.client.get(reverse('core:trigger_player_statistics_parsing'))
self.assertEqual(response.status_code, 302)

assert core.views.SiteManager.called
assert core.views.trigger_parsing_views.SiteManager.called
assert core.managers.parser_manager.MatchdayParser.return_value.parse.called
assert core.managers.parser_manager.PlayersParser.return_value.parse.called
assert core.managers.parser_manager.PlayerStatisticsParser.return_value.parse.called

@patch('core.views.SiteManager')
@patch('core.views.trigger_parsing_views.SiteManager')
@patch('core.managers.parser_manager.MatchdayParser')
@patch('core.managers.parser_manager.FinancesParser')
def test_finances_parser_view(self, matchday_parser_mock, site_manager_mock, finances_parser_mock):
response = self.client.get(reverse('core:trigger_finances_parsing'))
self.assertEqual(response.status_code, 302)

assert core.views.SiteManager.called
assert core.views.trigger_parsing_views.SiteManager.called
assert core.managers.parser_manager.MatchdayParser.return_value.parse.called
assert core.managers.parser_manager.FinancesParser.return_value.parse.called

Expand All @@ -68,7 +68,7 @@ def test_finances_parser_view(self, matchday_parser_mock, site_manager_mock, fin
@patch('core.managers.parser_manager.ParserManager._parse_stadium_statistics')
def test_match_parser_view(self, matchday_parser_mock, match_parser_mock, parse_stadium_statistics_mock):
with open(os.path.join(TESTDATA_PATH, 'match_schedule.html'), encoding='utf8') as match_schedule_html:
with patch('core.views.SiteManager') as site_manager_mock:
with patch('core.views.trigger_parsing_views.SiteManager') as site_manager_mock:
site_manager_instance_mock = site_manager_mock.return_value
site_manager_instance_mock.browser.page_source = match_schedule_html

Expand All @@ -79,7 +79,7 @@ def test_match_parser_view(self, matchday_parser_mock, match_parser_mock, parse_
assert core.managers.parser_manager.MatchParser.return_value.parse.called
assert parse_stadium_statistics_mock.called

@patch('core.views.SiteManager')
@patch('core.views.trigger_parsing_views.SiteManager')
@patch('core.managers.parser_manager.ParserManager.parse_matchday')
@patch('core.managers.parser_manager.ParserManager.parse_players')
@patch('core.managers.parser_manager.ParserManager.parse_player_statistics')
Expand Down
28 changes: 14 additions & 14 deletions core/urls.py
Original file line number Diff line number Diff line change
@@ -1,23 +1,23 @@
from django.conf.urls import url, include
from django.views.generic.base import TemplateView, RedirectView

from core import views

from core.views import CreateChecklistItemView, DeleteChecklistItemView, GetChecklistItemsView, \
import core.views.trigger_parsing_views
from core.views import base_views
from core.views.base_views import CreateChecklistItemView, DeleteChecklistItemView, GetChecklistItemsView, \
UpdateChecklistItemView, GetChecklistItemsForTodayView, GetCurrentMatchdayView, UpdateChecklistPriorityView

app_name = 'core'
urlpatterns = [
url(r'^favicon\.ico$', RedirectView.as_view(url='/static/core/img/OFM_favicon.png', permanent=True)),
url(r'^$', TemplateView.as_view(template_name='core/home.html'), name='home'),
url(r'^register/?$', views.register_view, name='register'),
url(r'^login/?$', views.login_view, name='login'),
url(r'^account/?$', views.account_view, name='account'),
url(r'^logout/?$', views.logout_view, name='logout'),
url(r'^register/?$', base_views.register_view, name='register'),
url(r'^login/?$', base_views.login_view, name='login'),
url(r'^account/?$', base_views.account_view, name='account'),
url(r'^logout/?$', base_views.logout_view, name='logout'),
url(r'^ofm/', include('core.ofm_urls'), name='ofm'),
url(r'^get_current_matchday/?$', GetCurrentMatchdayView.as_view(), name='get_current_matchday'),

url(r'^settings/?$', views.settings_view, name='settings'),
url(r'^settings/?$', base_views.settings_view, name='settings'),
url(r'^settings_get_checklist_items/?$', GetChecklistItemsView.as_view(), name='settings_get_checklist_items'),
url(r'^settings_get_checklist_items_for_today/?$', GetChecklistItemsForTodayView.as_view(),
name='settings_get_checklist_items_for_today'),
Expand All @@ -29,11 +29,11 @@
url(r'^settings_update_checklist_priority/?$', UpdateChecklistPriorityView.as_view(),
name='settings_update_checklist_priority'),

url(r'^trigger_parsing/?$', views.trigger_parsing, name='trigger_parsing'),
url(r'^trigger_matchday_parsing/?$', views.trigger_matchday_parsing, name='trigger_matchday_parsing'),
url(r'^trigger_players_parsing/?$', views.trigger_players_parsing, name='trigger_players_parsing'),
url(r'^trigger_player_statistics_parsing/?$', views.trigger_player_statistics_parsing,
url(r'^trigger_parsing/?$', core.views.trigger_parsing_views.trigger_parsing, name='trigger_parsing'),
url(r'^trigger_matchday_parsing/?$', core.views.trigger_parsing_views.trigger_matchday_parsing, name='trigger_matchday_parsing'),
url(r'^trigger_players_parsing/?$', core.views.trigger_parsing_views.trigger_players_parsing, name='trigger_players_parsing'),
url(r'^trigger_player_statistics_parsing/?$', core.views.trigger_parsing_views.trigger_player_statistics_parsing,
name='trigger_player_statistics_parsing'),
url(r'^trigger_finances_parsing/?$', views.trigger_finances_parsing, name='trigger_finances_parsing'),
url(r'^trigger_match_parsing/?$', views.trigger_match_parsing, name='trigger_match_parsing'),
url(r'^trigger_finances_parsing/?$', core.views.trigger_parsing_views.trigger_finances_parsing, name='trigger_finances_parsing'),
url(r'^trigger_match_parsing/?$', core.views.trigger_parsing_views.trigger_match_parsing, name='trigger_match_parsing'),
]
Empty file added core/views/__init__.py
Empty file.
78 changes: 3 additions & 75 deletions core/views.py → core/views/base_views.py
Original file line number Diff line number Diff line change
@@ -1,22 +1,16 @@
from braces.views import CsrfExemptMixin
from braces.views import JsonRequestResponseMixin
from braces.views import CsrfExemptMixin, JsonRequestResponseMixin
from django.contrib import messages
from django.contrib.auth import authenticate, login, logout
from django.contrib.auth.decorators import login_required
from django.shortcuts import redirect, render
from django.utils.decorators import method_decorator
from django.views.generic import View

from core.managers.parser_manager import ParserManager
from core.managers.site_manager import SiteManager
from core.localizations.messages import MSG_NOT_LOGGED_IN, MSG_SETTINGS_SAVED, MSG_PASSWORDS_UNEQUAL, \
MSG_OFM_PASSWORDS_UNEQUAL
from core.models import ChecklistItem, Checklist, Matchday, Match
from users.models import OFMUser

MSG_NOT_LOGGED_IN = "Du bist nicht eingeloggt!"
MSG_SETTINGS_SAVED = "Die neuen Einstellungen wurden gespeichert."
MSG_PASSWORDS_UNEQUAL = "Die eingegeben Passwörter stimmen nicht überein."
MSG_OFM_PASSWORDS_UNEQUAL = "Die eingegeben OFM Passwörter stimmen nicht überein."


def register_view(request):
if request.user.is_authenticated():
Expand Down Expand Up @@ -311,69 +305,3 @@ def account_view(request):
else:
messages.error(request, MSG_NOT_LOGGED_IN)
return redirect('core:login')


def trigger_parsing(request):
if request.user.is_authenticated():
site_manager = SiteManager(request.user)
site_manager.login()

pm = ParserManager()
pm.parse_all_ofm_data(request, site_manager)

remote_version = pm.parse_ofm_version(site_manager)
try:
with open('version', 'r') as version_file:
own_version = version_file.read().replace('\n', '')
if own_version != "null" and own_version != remote_version:
messages.info(request, "Es ist eine neuere Version von OFM Helper verfügbar: %s. Du nutzt noch: %s." % (
remote_version, own_version))
except IOError:
pass

site_manager.kill()

return redirect('core:ofm:player_statistics')
else:
messages.error(request, MSG_NOT_LOGGED_IN)
return redirect('core:login')


def trigger_single_parsing(request, parsing_function, redirect_to='core:account'):
if request.user.is_authenticated():
site_manager = SiteManager(request.user)
site_manager.login()
parsing_function(request, site_manager)
return redirect(redirect_to)
else:
messages.error(request, MSG_NOT_LOGGED_IN)
return redirect('core:login')


def trigger_matchday_parsing(request):
pm = ParserManager()
return trigger_single_parsing(request, pm.parse_matchday)


def trigger_players_parsing(request):
pm = ParserManager()
redirect_to = 'core:ofm:player_statistics'
return trigger_single_parsing(request, pm.parse_players, redirect_to)


def trigger_player_statistics_parsing(request):
pm = ParserManager()
redirect_to = 'core:ofm:player_statistics'
return trigger_single_parsing(request, pm.parse_player_statistics, redirect_to)


def trigger_finances_parsing(request):
pm = ParserManager()
redirect_to = 'core:ofm:finance_overview'
return trigger_single_parsing(request, pm.parse_finances, redirect_to)


def trigger_match_parsing(request):
pm = ParserManager()
redirect_to = 'core:ofm:matches_overview'
return trigger_single_parsing(request, pm.parse_all_matches, redirect_to)
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
from django.views.generic import TemplateView

from core.models import Matchday, Finance
from core.rename_me_views.view_utils import validate_filtered_field
from core.views.view_utils import validate_filtered_field


@method_decorator(login_required, name='dispatch')
Expand Down
File renamed without changes.
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
from django.views.generic import TemplateView, DetailView

from core.models import Matchday, Contract, PlayerStatistics, AwpBoundaries, Player
from core.rename_me_views.view_utils import validate_filtered_field
from core.views.view_utils import validate_filtered_field


@method_decorator(login_required, name='dispatch')
Expand Down
File renamed without changes.
72 changes: 72 additions & 0 deletions core/views/trigger_parsing_views.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
from django.contrib import messages
from django.shortcuts import redirect

from core.localizations.messages import MSG_NOT_LOGGED_IN
from core.managers.parser_manager import ParserManager
from core.managers.site_manager import SiteManager


def trigger_parsing(request):
if request.user.is_authenticated():
site_manager = SiteManager(request.user)
site_manager.login()

pm = ParserManager()
pm.parse_all_ofm_data(request, site_manager)

remote_version = pm.parse_ofm_version(site_manager)
try:
with open('version', 'r') as version_file:
own_version = version_file.read().replace('\n', '')
if own_version != "null" and own_version != remote_version:
messages.info(request, "Es ist eine neuere Version von OFM Helper verfügbar: %s. Du nutzt noch: %s." % (
remote_version, own_version))
except IOError:
pass

site_manager.kill()

return redirect('core:ofm:player_statistics')
else:
messages.error(request, MSG_NOT_LOGGED_IN)
return redirect('core:login')


def trigger_single_parsing(request, parsing_function, redirect_to='core:account'):
if request.user.is_authenticated():
site_manager = SiteManager(request.user)
site_manager.login()
parsing_function(request, site_manager)
return redirect(redirect_to)
else:
messages.error(request, MSG_NOT_LOGGED_IN)
return redirect('core:login')


def trigger_matchday_parsing(request):
pm = ParserManager()
return trigger_single_parsing(request, pm.parse_matchday)


def trigger_players_parsing(request):
pm = ParserManager()
redirect_to = 'core:ofm:player_statistics'
return trigger_single_parsing(request, pm.parse_players, redirect_to)


def trigger_player_statistics_parsing(request):
pm = ParserManager()
redirect_to = 'core:ofm:player_statistics'
return trigger_single_parsing(request, pm.parse_player_statistics, redirect_to)


def trigger_finances_parsing(request):
pm = ParserManager()
redirect_to = 'core:ofm:finance_overview'
return trigger_single_parsing(request, pm.parse_finances, redirect_to)


def trigger_match_parsing(request):
pm = ParserManager()
redirect_to = 'core:ofm:matches_overview'
return trigger_single_parsing(request, pm.parse_all_matches, redirect_to)
File renamed without changes.

0 comments on commit 342aa72

Please sign in to comment.