diff --git a/.coafile b/.coafile index 9f8ce35..d59fca0 100644 --- a/.coafile +++ b/.coafile @@ -1,5 +1,8 @@ [Python] files = src/**/*.py -ignore = src/**/migrations/* -bears = SpaceConsistencyBear,PEP8Bear,PyLintBear,PyUnusedCodeBear +ignore = src/**/migrations/*.py +language = python +bears = PEP8Bear,PyLintBear,PyUnusedCodeBear use_spaces = True +pylint_cli_options = --load-plugins pylint_django +pylint_disable = E1101,R0201,R0901,R0903 diff --git a/.gitignore b/.gitignore index 6756f52..7041e31 100644 --- a/.gitignore +++ b/.gitignore @@ -62,9 +62,11 @@ docs/_build/ target/ #Django Development +/bower_components/ /media/ /node_modules/ /static/ /templates/ .[a-zA-Z]* local_settings.py +sample.xlsx diff --git a/TODO b/TODO new file mode 100644 index 0000000..b1e4522 --- /dev/null +++ b/TODO @@ -0,0 +1,1077 @@ +Executing section Python... + +src/utils/html_cleaner.py +| 7| #·TODO:·Nach·BeatutifulSoup·4·convertieren +| | [NORMAL] PyLintBear (W0511): +| | W0511 - TODO: Nach BeatutifulSoup 4 convertieren +| | [NORMAL] PEP8Bear: +| | The code does not comply to PEP8. +|----| | /srv/home/xeniac/Workspace/kasu/src/content/feeds.py +| |++++| /srv/home/xeniac/Workspace/kasu/src/content/feeds.py +| 7| 7| +| 8| 8| from content.models import Article +| 9| 9| +| 10| |-MAX_ARTICLE_ITEMS = 10 # Maximum count of articles in the news RSS feed. +| 11| |-MAX_COMMENT_ITEMS = 40 # Maximum count of comments in the comments RSS feed. +| | 10|+MAX_ARTICLE_ITEMS = 10 # Maximum count of articles in the news RSS feed. +| | 11|+MAX_COMMENT_ITEMS = 40 # Maximum count of comments in the comments RSS feed. +| 12| 12| +| 13| 13| +| 14| 14| # Start ignoring PyLintBear (R0201) +| | [NORMAL] PEP8Bear: +| | The code does not comply to PEP8. +|----| | /srv/home/xeniac/Workspace/kasu/src/membership/forms.py +| |++++| /srv/home/xeniac/Workspace/kasu/src/membership/forms.py +| 122| 122| def save(self, commit=True): +| 123| 123| """ Create the new User, set him/her inactive, create an acitivation +| 124| 124| request for the user and send him/her an activation email. +| 125| |- +| | 125|+ +| 126| 126| :param commit: commit the SQL and send the email if True +| 127| 127| :return: the created User Object +| 128| 128| """ + +src/membership/forms.py +| 92| ··················) +| | [INFO] PyLintBear (C0330): +| | C0330 - Wrong continued indentation (remove 1 space). + +src/membership/forms.py +| 125| ········ +| | [INFO] PyLintBear (C0303): +| | C0303 - Trailing whitespace + +src/maistar_ranking/views.py +| 17| class·GameForm(EventDetailMixin,·PermissionRequiredMixin,·generic.UpdateView): +| | [INFO] PyLintBear (C0111): +| | C0111 - Missing class docstring + +src/maistar_ranking/views.py +| 77| class·ListPlayerGames(PlayerScore): +| | [INFO] PyLintBear (C0111): +| | C0111 - Missing class docstring + +src/maistar_ranking/views.py +| 90| ····def·get_queryset(self,·**kwargs): +| | [NORMAL] PyLintBear (W0221): +| | W0221 - Parameters differ from overridden 'get_queryset' method + +src/maistar_ranking/views.py +| 90| ····def·get_queryset(self,·**kwargs): +| | [NORMAL] PyLintBear (W0613): +| | W0613 - Unused argument 'kwargs' + +src/maistar_ranking/views.py +| 93| ········self.season·=·self.kwargs.get('season',·date.today().year) +| | [NORMAL] PyLintBear (W0201): +| | W0201 - Attribute 'season' defined outside __init__ + +src/maistar_ranking/views.py +| 91| ········self.user·=·get_object_or_404(auth.get_user_model(), +| | [NORMAL] PyLintBear (W0201): +| | W0201 - Attribute 'user' defined outside __init__ + +src/maistar_ranking/views.py +| 98| class·ListRankings(generic.ListView): +| | [INFO] PyLintBear (C0111): +| | C0111 - Missing class docstring + +src/maistar_ranking/views.py +| 12| from·django.contrib.auth.mixins·import·PermissionRequiredMixin +| | [INFO] PyLintBear (C0412): +| | C0412 - Imports from package django are not grouped + +src/mahjong_ranking/__init__.py +| 1| #·-*-·encoding:·utf-8·-*- +| | [INFO] PyLintBear (C0111): +| | C0111 - Missing module docstring + +src/mahjong_ranking/__init__.py +| 32| logger·=·logging.getLogger('kasu.mahjong_ranking') +| | [INFO] PyLintBear (C0103): +| | C0103 - Invalid constant name "logger" + +src/mahjong_ranking/__init__.py +| 35| def·set_dirty(event=None,·season=None,·user=None,·hanchan_date=None): +| | [INFO] PyLintBear (C0111): +| | C0111 - Missing function docstring + +src/mahjong_ranking/__init__.py +| 3| import·logging +| | [INFO] PyLintBear (C0411): +| | C0411 - standard import "import logging" should be placed before "from django.core.cache import cache" + +src/kasu/urls.py +| 17| sitemaps·=·{··#·Ignore·PyLintBear·(C0103) +| | [INFO] PyLintBear (C0103): +| | C0103 - Invalid constant name "sitemaps" +| | [NORMAL] PEP8Bear: +| | The code does not comply to PEP8. +|----| | /srv/home/xeniac/Workspace/kasu/src/maistar_ranking/__init__.py +| |++++| /srv/home/xeniac/Workspace/kasu/src/maistar_ranking/__init__.py +| 1| |-"""A simple ladder ranking system for the game mai-star.""" +| | 1|+"""A simple ladder ranking system for the game mai-star.""" + +src/maistar_ranking/__init__.py +| 1| """A·simple·ladder·ranking·system·for·the·game·mai-star.""" +| | [INFO] PyLintBear (C0304): +| | C0304 - Final newline missing + +src/utils/middleware.py +| 9| ····#·TODO:·Port·to·django·1.10·and·upward +| | [NORMAL] PyLintBear (W0511): +| | W0511 - TODO: Port to django 1.10 and upward + +src/utils/middleware.py +| 7| ····"""This·Middleware·compresses·strips·the·spaces·between·tags,·and·at·the· +| | [INFO] PyLintBear (C0303): +| | C0303 - Trailing whitespace + +src/utils/middleware.py +| 14| ········:param·get_response:· +| | [INFO] PyLintBear (C0303): +| | C0303 - Trailing whitespace + +src/utils/middleware.py +| 22| ········:param·request:· +| | [INFO] PyLintBear (C0303): +| | C0303 - Trailing whitespace + +src/utils/middleware.py +| 23| ········:return:· +| | [INFO] PyLintBear (C0303): +| | C0303 - Trailing whitespace + +src/utils/middleware.py +| 17| ········regex·=·">[\s]*<" +| | [NORMAL] PyLintBear (W1401): +| | W1401 - Anomalous backslash in string: '\s'. String constant might be missing an r prefix. + +src/utils/middleware.py +| 17| ········regex·=·">[\s]*<" +| | [NORMAL] PyLintBear (W0612): +| | W0612 - Unused variable 'regex' +| | [NORMAL] PEP8Bear: +| | The code does not comply to PEP8. +|----| | /srv/home/xeniac/Workspace/kasu/src/mahjong_ranking/managers.py +| |++++| /srv/home/xeniac/Workspace/kasu/src/mahjong_ranking/managers.py +| 7| 7| class HanchanManager(models.Manager): +| 8| 8| """ +| 9| 9| The ObjectManager for models.Hanchan QuerySets. +| 10| |- +| | 10|+ +| 11| 11| It adds many specific filters that makes many queries much easier. +| 12| 12| """ +| 13| 13| use_for_related_fields = True +| | [NORMAL] PEP8Bear: +| | The code does not comply to PEP8. +|----| | /srv/home/xeniac/Workspace/kasu/src/mahjong_ranking/managers.py +| |++++| /srv/home/xeniac/Workspace/kasu/src/mahjong_ranking/managers.py +| 14| 14| +| 15| 15| def confirmed_hanchans(self, user=None, **filter_args): +| 16| 16| """ Return all valid and confirmed Hanchans. +| 17| |- +| | 17|+ +| 18| 18| :param user: Only return Hanchans where this user participated. +| 19| 19| :param filter_args: To add specific arguments to the Django filter. +| 20| 20| :return: QuerySet Object +| | [NORMAL] PEP8Bear: +| | The code does not comply to PEP8. +|----| | /srv/home/xeniac/Workspace/kasu/src/mahjong_ranking/managers.py +| |++++| /srv/home/xeniac/Workspace/kasu/src/mahjong_ranking/managers.py +| 39| 39| models.Q(player4=user, player4_dan_points__isnull=False) +| 40| 40| ).filter(confirmed=True, **filter_args) +| 41| 41| queryset = queryset.select_related().order_by('-start') +| 42| |- [ hanchan.get_playerdata(user) for hanchan in queryset ] +| | 42|+ [hanchan.get_playerdata(user) for hanchan in queryset] +| 43| 43| return queryset +| 44| 44| +| 45| 45| def kyu_hanchans(self, user, **filter_args): +| | [NORMAL] PEP8Bear: +| | The code does not comply to PEP8. +|----| | /srv/home/xeniac/Workspace/kasu/src/mahjong_ranking/managers.py +| |++++| /srv/home/xeniac/Workspace/kasu/src/mahjong_ranking/managers.py +| 57| 57| models.Q(player4=user, player4_kyu_points__isnull=False) +| 58| 58| ).filter(confirmed=True, **filter_args) +| 59| 59| queryset = queryset.select_related().order_by('-start') +| 60| |- [ hanchan.get_playerdata(user) for hanchan in queryset ] +| | 60|+ [hanchan.get_playerdata(user) for hanchan in queryset] +| 61| 61| return queryset +| 62| 62| +| 63| 63| def season_hanchans(self, user=None, season=None): +| | [NORMAL] PEP8Bear: +| | The code does not comply to PEP8. +|----| | /srv/home/xeniac/Workspace/kasu/src/mahjong_ranking/managers.py +| |++++| /srv/home/xeniac/Workspace/kasu/src/mahjong_ranking/managers.py +| 87| 87| else: +| 88| 88| queryset = queryset.filter(**filter_args) +| 89| 89| queryset = queryset.select_related().order_by('-start') +| 90| |- [ hanchan.get_playerdata(user) for hanchan in queryset ] +| | 90|+ [hanchan.get_playerdata(user) for hanchan in queryset] +| 91| 91| return queryset +| 92| 92| +| 93| 93| def unconfirmed_hanchans(self, user=None, **filter_args): + +src/mahjong_ranking/managers.py +| 9| ····The·ObjectManager·for·models.Hanchan·QuerySets.· +| | [INFO] PyLintBear (C0303): +| | C0303 - Trailing whitespace + +src/mahjong_ranking/managers.py +| 10| ···· +| | [INFO] PyLintBear (C0303): +| | C0303 - Trailing whitespace + +src/mahjong_ranking/managers.py +| 16| ········"""·Return·all·valid·and·confirmed·Hanchans.· +| | [INFO] PyLintBear (C0303): +| | C0303 - Trailing whitespace + +src/mahjong_ranking/managers.py +| 17| ········ +| | [INFO] PyLintBear (C0303): +| | C0303 - Trailing whitespace + +src/mahjong_ranking/managers.py +| 18| ········:param·user:·Only·return·Hanchans·where·this·user·participated.·· +| | [INFO] PyLintBear (C0303): +| | C0303 - Trailing whitespace + +src/mahjong_ranking/managers.py +| 28| ········"""·Return·all·Hanchans·where·a·specific·user·has·participated·and·had· +| | [INFO] PyLintBear (C0303): +| | C0303 - Trailing whitespace + +src/mahjong_ranking/managers.py +| 31| ········:param·user:·Only·return·Hanchans·where·this·user·participated.·· +| | [INFO] PyLintBear (C0303): +| | C0303 - Trailing whitespace + +src/mahjong_ranking/managers.py +| 42| ········[·hanchan.get_playerdata(user)·for·hanchan·in·queryset·] +| | [INFO] PyLintBear (C0326): +| | C0326 - No space allowed after bracket + +src/mahjong_ranking/managers.py +| 42| ········[·hanchan.get_playerdata(user)·for·hanchan·in·queryset·] +| | [INFO] PyLintBear (C0326): +| | C0326 - No space allowed before bracket + +src/mahjong_ranking/managers.py +| 46| ········"""·Return·all·Hanchans·where·a·specific·user·has·participated·and·had· +| | [INFO] PyLintBear (C0303): +| | C0303 - Trailing whitespace + +src/mahjong_ranking/managers.py +| 49| ········:param·user:·Only·return·Hanchans·where·this·user·participated.·· +| | [INFO] PyLintBear (C0303): +| | C0303 - Trailing whitespace + +src/mahjong_ranking/managers.py +| 60| ········[·hanchan.get_playerdata(user)·for·hanchan·in·queryset·] +| | [INFO] PyLintBear (C0326): +| | C0326 - No space allowed after bracket + +src/mahjong_ranking/managers.py +| 60| ········[·hanchan.get_playerdata(user)·for·hanchan·in·queryset·] +| | [INFO] PyLintBear (C0326): +| | C0326 - No space allowed before bracket + +src/mahjong_ranking/managers.py +| 66| ········:param·user:·Only·return·Hanchans·where·this·user·participated.·· +| | [INFO] PyLintBear (C0303): +| | C0303 - Trailing whitespace + +src/mahjong_ranking/managers.py +| 67| ········:param·season:·the·year·of·the·wanted·season,·current·year·if·None.· +| | [INFO] PyLintBear (C0303): +| | C0303 - Trailing whitespace + +src/mahjong_ranking/managers.py +| 68| ········:return:·QuerySet·Object· +| | [INFO] PyLintBear (C0303): +| | C0303 - Trailing whitespace + +src/mahjong_ranking/managers.py +| 74| ········"""Return·all·Hanchans·where·a·specific·user·has·participated.· +| | [INFO] PyLintBear (C0303): +| | C0303 - Trailing whitespace + +src/mahjong_ranking/managers.py +| 76| ········:param·user:·Return·Hanchans·where·this·user·participated.·· +| | [INFO] PyLintBear (C0303): +| | C0303 - Trailing whitespace + +src/mahjong_ranking/managers.py +| 90| ········[·hanchan.get_playerdata(user)·for·hanchan·in·queryset·] +| | [INFO] PyLintBear (C0326): +| | C0326 - No space allowed after bracket + +src/mahjong_ranking/managers.py +| 90| ········[·hanchan.get_playerdata(user)·for·hanchan·in·queryset·] +| | [INFO] PyLintBear (C0326): +| | C0326 - No space allowed before bracket + +src/mahjong_ranking/managers.py +| 94| ········"""·Return·all·Hanchans·that·have·been·set·to·unconfirmed.· +| | [INFO] PyLintBear (C0303): +| | C0303 - Trailing whitespace + +src/mahjong_ranking/managers.py +| 96| ········:param·user:·Only·return·Hanchans·where·this·user·participated.·· +| | [INFO] PyLintBear (C0303): +| | C0303 - Trailing whitespace + +src/mahjong_ranking/managers.py +| 108| ····The·ObjectManager·for·models.SeasonRanking·QuerySets·to·handle·the· +| | [INFO] PyLintBear (C0303): +| | C0303 - Trailing whitespace + +src/mahjong_ranking/managers.py +| 109| ····Ladderrankings.· +| | [INFO] PyLintBear (C0303): +| | C0303 - Trailing whitespace + +src/mahjong_ranking/managers.py +| 115| ········"""·Returns·the·Rankings·for·the·current·year/season.· +| | [INFO] PyLintBear (C0303): +| | C0303 - Trailing whitespace + +src/mahjong_ranking/managers.py +| 136| ········:param·season:·Season·that·should·be·exported,·current·season·if·empty· +| | [INFO] PyLintBear (C0303): +| | C0303 - Trailing whitespace + +src/mahjong_ranking/managers.py +| 137| ········:return:·a·list()·of·dict()·objects·suiteable·for·JSON·export.· +| | [INFO] PyLintBear (C0303): +| | C0303 - Trailing whitespace + +src/mahjong_ranking/managers.py +| 22| ········if·user: +| | [INFO] PyLintBear (R1705): +| | R1705 - Unnecessary "else" after "return" + +src/mahjong_ranking/managers.py +| 42| ········[·hanchan.get_playerdata(user)·for·hanchan·in·queryset·] +| | [NORMAL] PyLintBear (W0106): +| | W0106 - Expression "[hanchan.get_playerdata(user) for hanchan in queryset]" is assigned to nothing + +src/mahjong_ranking/managers.py +| 60| ········[·hanchan.get_playerdata(user)·for·hanchan·in·queryset·] +| | [NORMAL] PyLintBear (W0106): +| | W0106 - Expression "[hanchan.get_playerdata(user) for hanchan in queryset]" is assigned to nothing + +src/mahjong_ranking/managers.py +| 90| ········[·hanchan.get_playerdata(user)·for·hanchan·in·queryset·] +| | [NORMAL] PyLintBear (W0106): +| | W0106 - Expression "[hanchan.get_playerdata(user) for hanchan in queryset]" is assigned to nothing + +src/mahjong_ranking/managers.py +| 100| ········if·user: +| | [INFO] PyLintBear (R1705): +| | R1705 - Unnecessary "else" after "return" + +src/membership/views.py +| 117| ········:return:·array·with·the·context·data· +| | [INFO] PyLintBear (C0303): +| | C0303 - Trailing whitespace + +src/membership/views.py +| 142| ········"""Overwrite·to·add·googles·recaptcha·ressoruces·to·the· +| | [INFO] PyLintBear (C0303): +| | C0303 - Trailing whitespace + +src/membership/views.py +| 144| ········:param·request:· +| | [INFO] PyLintBear (C0303): +| | C0303 - Trailing whitespace + +src/membership/views.py +| 145| ········:param·args:· +| | [INFO] PyLintBear (C0303): +| | C0303 - Trailing whitespace + +src/membership/views.py +| 146| ········:param·kwargs:· +| | [INFO] PyLintBear (C0303): +| | C0303 - Trailing whitespace + +src/membership/views.py +| 80| ········if·self.request.user.has_perm('membership.change_membership'): +| | [INFO] PyLintBear (R1705): +| | R1705 - Unnecessary "else" after "return" + +src/content/models.py +| 332| def·force_cache_update(sender,·instance,·**kwargs):··#·Ignore·PyLintBear·(W0613) +| | [NORMAL] PyLintBear (W0613): +| | W0613 - Unused argument 'kwargs' +| | [NORMAL] PEP8Bear: +| | The code does not comply to PEP8. +|----| | /srv/home/xeniac/Workspace/kasu/src/membership/models.py +| |++++| /srv/home/xeniac/Workspace/kasu/src/membership/models.py +| 57| 57| @param user: the user that requests activation. +| 58| 58| """ +| 59| 59| salt = str(user.pk * random.random()) + \ +| 60| |- user.registration_date.isoformat() +| | 60|+ user.registration_date.isoformat() +| 61| 61| activation_key = hashlib.sha1(salt.encode()).hexdigest() +| 62| 62| return self.create(user=user, activation_key=activation_key) +| 63| 63| + +src/membership/models.py +| 229| ········:param·args:·passed·through·the·save()·method·from·django·· +| | [INFO] PyLintBear (C0303): +| | C0303 - Trailing whitespace + +src/membership/models.py +| 230| ········:param·kwargs:·passed·through·the·save()·method·from·django· +| | [INFO] PyLintBear (C0303): +| | C0303 - Trailing whitespace + +src/membership/models.py +| 114| ········if·self.user.is_active: +| | [INFO] PyLintBear (R1705): +| | R1705 - Unnecessary "else" after "return" + +src/events/models.py +| 269| ········#·TODO:·Eine·vernüftigte·Methode·ohne·viele·Abhängigkeiten·finden·um +| | [NORMAL] PyLintBear (W0511): +| | W0511 - TODO: Eine vernüftigte Methode ohne viele Abhängigkeiten finden um + +src/events/models.py +| 111| ········except: +| | [NORMAL] PyLintBear (W0702): +| | W0702 - No exception type(s) specified + +src/events/models.py +| 120| ····def·get_absolute_url(self): +| | [INFO] PyLintBear (C0111): +| | C0111 - Missing method docstring + +src/events/models.py +| 128| ····def·get_eventseries_form_url(self): +| | [INFO] PyLintBear (C0111): +| | C0111 - Missing method docstring + +src/events/models.py +| 136| ····def·get_edit_url(self): +| | [INFO] PyLintBear (C0111): +| | C0111 - Missing method docstring + +src/events/models.py +| 144| ····def·get_image(self): +| | [INFO] PyLintBear (C0111): +| | C0111 - Missing method docstring + +src/events/models.py +| 145| ········if·self.image: +| | [INFO] PyLintBear (R1705): +| | R1705 - Unnecessary "else" after "return" + +src/events/models.py +| 155| ····def·is_future_event(self): +| | [INFO] PyLintBear (C0111): +| | C0111 - Missing method docstring + +src/events/models.py +| 158| ····def·save(self,·**kwargs): +| | [NORMAL] PyLintBear (W0221): +| | W0221 - Parameters differ from overridden 'save' method + +src/events/models.py +| 175| class·Location(models.Model): +| | [INFO] PyLintBear (C0111): +| | C0111 - Missing class docstring + +src/events/models.py +| 211| ····def·address(self): +| | [INFO] PyLintBear (C0111): +| | C0111 - Missing method docstring + +src/events/models.py +| 216| class·Photo(models.Model): +| | [INFO] PyLintBear (C0111): +| | C0111 - Missing class docstring + +src/events/models.py +| 268| ····def·rotate(self,·rotate): +| | [INFO] PyLintBear (C0111): +| | C0111 - Missing method docstring + +src/events/models.py +| 277| ····def·save(self,·**kwargs): +| | [NORMAL] PyLintBear (W0221): +| | W0221 - Parameters differ from overridden 'save' method + +src/events/models.py +| 281| ····def·get_absolute_url(self): +| | [INFO] PyLintBear (C0111): +| | C0111 - Missing method docstring + +src/events/models.py +| 288| ····def·next_photo(self): +| | [INFO] PyLintBear (C0111): +| | C0111 - Missing method docstring + +src/events/models.py +| 292| ············if·self.event.event_series: +| | [INFO] PyLintBear (R1705): +| | R1705 - Unnecessary "else" after "return" + +src/events/models.py +| 307| ····def·previous_photo(self): +| | [INFO] PyLintBear (C0111): +| | C0111 - Missing method docstring + +src/events/models.py +| 311| ············if·self.event.event_series: +| | [INFO] PyLintBear (R1705): +| | R1705 - Unnecessary "else" after "return" +| | [NORMAL] PEP8Bear: +| | The code does not comply to PEP8. +|----| | /srv/home/xeniac/Workspace/kasu/src/kasu/wsgi.py +| |++++| /srv/home/xeniac/Workspace/kasu/src/kasu/wsgi.py +| 14| 14| if SOURCE_PATH not in sys.path: +| 15| 15| sys.path.append(SOURCE_PATH) +| 16| 16| +| 17| |-from django.core.wsgi import get_wsgi_application # Ignore PyLintBear (C0413) # Ignore PyLintBear (C0413) +| | 17|+# Ignore PyLintBear (C0413) # Ignore PyLintBear (C0413) +| | 18|+from django.core.wsgi import get_wsgi_application +| 18| 19| +| 19| 20| os.environ['DJANGO_SETTINGS_MODULE'] = 'kasu.settings' +| 20| 21| +| | [NORMAL] PEP8Bear: +| | The code does not comply to PEP8. +|----| | /srv/home/xeniac/Workspace/kasu/src/kasu/wsgi.py +| |++++| /srv/home/xeniac/Workspace/kasu/src/kasu/wsgi.py +| 18| 18| +| 19| 19| os.environ['DJANGO_SETTINGS_MODULE'] = 'kasu.settings' +| 20| 20| +| 21| |-application = get_wsgi_application() # Ignore PyLintBear (C0103) # Ignore PyLintBear (C0103) +| | 21|+# Ignore PyLintBear (C0103) # Ignore PyLintBear (C0103) +| | 22|+application = get_wsgi_application() + +src/kasu/wsgi.py +| 17| from·django.core.wsgi·import·get_wsgi_application··#·Ignore·PyLintBear·(C0413)··#·Ignore·PyLintBear·(C0413) +| | [INFO] PyLintBear (C0301): +| | C0301 - Line too long (107/100) + +src/kasu/wsgi.py +| 17| from·django.core.wsgi·import·get_wsgi_application··#·Ignore·PyLintBear·(C0413)··#·Ignore·PyLintBear·(C0413) +| | [INFO] PyLintBear (C0413): +| | C0413 - Import "from django.core.wsgi import get_wsgi_application" should be placed at the top of the module + +src/kasu/wsgi.py +| 21| application·=·get_wsgi_application()··#·Ignore·PyLintBear·(C0103)··#·Ignore·PyLintBear·(C0103) +| | [INFO] PyLintBear (C0103): +| | C0103 - Invalid constant name "application" +| | [NORMAL] PEP8Bear: +| | The code does not comply to PEP8. +|----| | /srv/home/xeniac/Workspace/kasu/src/content/views.py +| |++++| /srv/home/xeniac/Workspace/kasu/src/content/views.py +| 197| 197| +| 198| 198| def get_object(self, queryset=None): +| 199| 199| """ Get the path from the URL and fetch the corresponding page. +| 200| |- +| | 200|+ +| 201| 201| First get the path wihout fileextentsion leading or trailing slashes, +| 202| 202| then search in the database if such a page exists. +| 203| 203| +| | [NORMAL] PEP8Bear: +| | The code does not comply to PEP8. +|----| | /srv/home/xeniac/Workspace/kasu/src/content/views.py +| |++++| /srv/home/xeniac/Workspace/kasu/src/content/views.py +| 288| 288| +| 289| 289| def get_context_data(self): +| 290| 290| """ Adds recent ariticles and recent comments to the context. +| 291| |- +| | 291|+ +| 292| 292| :return: array() with the context data +| 293| 293| """ +| 294| 294| page = models.Page.objects.get(slug='index') + +src/content/views.py +| 17| ····Since·it·is·only·used·in·edit·forms,·it·extends·the·PermissionRequiredMixin.····· +| | [INFO] PyLintBear (C0303): +| | C0303 - Trailing whitespace + +src/content/views.py +| 163| ········:param·queryset:·Get·the·single·item·from·this·filtered·queryset.· +| | [INFO] PyLintBear (C0303): +| | C0303 - Trailing whitespace + +src/content/views.py +| 164| ········:return:· +| | [INFO] PyLintBear (C0303): +| | C0303 - Trailing whitespace + +src/content/views.py +| 173| ····"""·Renders·an·Form·to·create·a·new·page·for·users·with·conforming· +| | [INFO] PyLintBear (C0303): +| | C0303 - Trailing whitespace + +src/content/views.py +| 200| ········· +| | [INFO] PyLintBear (C0303): +| | C0303 - Trailing whitespace + +src/content/views.py +| 205| ········:return:· +| | [INFO] PyLintBear (C0303): +| | C0303 - Trailing whitespace + +src/content/views.py +| 225| ········:return:· +| | [INFO] PyLintBear (C0303): +| | C0303 - Trailing whitespace + +src/content/views.py +| 251| ········"""Get·the·PDF·page·from·the·db·that·equals·the·given·URL.· +| | [INFO] PyLintBear (C0303): +| | C0303 - Trailing whitespace + +src/content/views.py +| 254| ········:return:·models.Page·object·or·raise·a·404·if·not·found.· +| | [INFO] PyLintBear (C0303): +| | C0303 - Trailing whitespace + +src/content/views.py +| 291| ········ +| | [INFO] PyLintBear (C0303): +| | C0303 - Trailing whitespace + +src/content/views.py +| 292| ········:return:·array()·with·the·context·data· +| | [INFO] PyLintBear (C0303): +| | C0303 - Trailing whitespace + +src/content/views.py +| 1| import·os +| | [INFO] PyLintBear (C0111): +| | C0111 - Missing module docstring + +src/content/views.py +| 289| ····def·get_context_data(self): +| | [NORMAL] PyLintBear (W0221): +| | W0221 - Parameters differ from overridden 'get_context_data' method + +src/mahjong_ranking/models.py +| 3| #·TODO:·Rankings·archiv·Flag·erstellen,·womit·sie·nicht·mehr·neuberechnet +| | [NORMAL] PyLintBear (W0511): +| | W0511 - TODO: Rankings archiv Flag erstellen, womit sie nicht mehr neuberechnet + +src/mahjong_ranking/models.py +| 394| ····#·TODO:·Komplett·Überabreiten! +| | [NORMAL] PyLintBear (W0511): +| | W0511 - TODO: Komplett Überabreiten! + +src/mahjong_ranking/models.py +| 545| ····#·TODO:·Merkwürdige·Methode·die·zwar·funktioniert·aber·nicht·sehr +| | [NORMAL] PyLintBear (W0511): +| | W0511 - TODO: Merkwürdige Methode die zwar funktioniert aber nicht sehr + +src/mahjong_ranking/models.py +| 222| ········elif·not·(self.event.start·<=·self.start·<=·self.event.end): +| | [INFO] PyLintBear (C0325): +| | C0325 - Unnecessary parens after 'not' keyword + +src/mahjong_ranking/models.py +| 1| #·-*-·encoding:·utf-8·-*- +| | [INFO] PyLintBear (C0111): +| | C0111 - Missing module docstring + +src/mahjong_ranking/models.py +| 19| kyu_dan_rankings·=·set() +| | [INFO] PyLintBear (C0103): +| | C0103 - Invalid constant name "kyu_dan_rankings" + +src/mahjong_ranking/models.py +| 20| ladder_rankings·=·set() +| | [INFO] PyLintBear (C0103): +| | C0103 - Invalid constant name "ladder_rankings" + +src/mahjong_ranking/models.py +| 21| ladder_seasons·=·set() +| | [INFO] PyLintBear (C0103): +| | C0103 - Invalid constant name "ladder_seasons" + +src/mahjong_ranking/models.py +| 42| ····def·get_absolute_url(self): +| | [INFO] PyLintBear (C0111): +| | C0111 - Missing method docstring + +src/mahjong_ranking/models.py +| 81| class·Hanchan(models.Model): +| | [INFO] PyLintBear (R0902): +| | R0902 - Too many instance attributes (10/7) + +src/mahjong_ranking/models.py +| 270| ····def·get_absolute_url(self): +| | [INFO] PyLintBear (C0111): +| | C0111 - Missing method docstring + +src/mahjong_ranking/models.py +| 290| ····def·update_playerdata(self,·user,·**kwargs): +| | [NORMAL] PyLintBear (W0613): +| | W0613 - Unused argument 'kwargs' + +src/mahjong_ranking/models.py +| 304| ····def·player_list(self): +| | [INFO] PyLintBear (C0111): +| | C0111 - Missing method docstring + +src/mahjong_ranking/models.py +| 321| ····def·save(self,·recalculate=True,·**kwargs): +| | [NORMAL] PyLintBear (W0221): +| | W0221 - Parameters differ from overridden 'save' method + +src/mahjong_ranking/models.py +| 283| ················self.game_score·=·getattr(self,·'%s_game_score'·%·player) +| | [NORMAL] PyLintBear (W0201): +| | W0201 - Attribute 'game_score' defined outside __init__ + +src/mahjong_ranking/models.py +| 284| ················self.placement·=·getattr(self,·'%s_placement'·%·player) +| | [NORMAL] PyLintBear (W0201): +| | W0201 - Attribute 'placement' defined outside __init__ + +src/mahjong_ranking/models.py +| 282| ················self.input_score·=·getattr(self,·'%s_input_score'·%·player) +| | [NORMAL] PyLintBear (W0201): +| | W0201 - Attribute 'input_score' defined outside __init__ + +src/mahjong_ranking/models.py +| 281| ················self.user·=·user +| | [NORMAL] PyLintBear (W0201): +| | W0201 - Attribute 'user' defined outside __init__ + +src/mahjong_ranking/models.py +| 286| ················self.dan_points·=·getattr(self,·'%s_dan_points'·%·player) +| | [NORMAL] PyLintBear (W0201): +| | W0201 - Attribute 'dan_points' defined outside __init__ + +src/mahjong_ranking/models.py +| 287| ················self.bonus_points·=·getattr(self,·'%s_bonus_points'·%·player) +| | [NORMAL] PyLintBear (W0201): +| | W0201 - Attribute 'bonus_points' defined outside __init__ + +src/mahjong_ranking/models.py +| 288| ················self.player_comment·=·getattr(self,·'%s_comment'·%·player) +| | [NORMAL] PyLintBear (W0201): +| | W0201 - Attribute 'player_comment' defined outside __init__ + +src/mahjong_ranking/models.py +| 285| ················self.kyu_points·=·getattr(self,·'%s_kyu_points'·%·player) +| | [NORMAL] PyLintBear (W0201): +| | W0201 - Attribute 'kyu_points' defined outside __init__ + +src/mahjong_ranking/models.py +| 330| class·KyuDanRanking(models.Model): +| | [NORMAL] PyLintBear (W5102): +| | W5102 - Found __unicode__ method on model (KyuDanRanking). Python3 uses __str__. + +src/mahjong_ranking/models.py +| 330| class·KyuDanRanking(models.Model): +| | [INFO] PyLintBear (R0902): +| | R0902 - Too many instance attributes (8/7) + +src/mahjong_ranking/models.py +| 356| ········if·self.dan_points·is·not·None: +| | [INFO] PyLintBear (R1705): +| | R1705 - Unnecessary "else" after "return" + +src/mahjong_ranking/models.py +| 431| ····def·get_absolute_url(self): +| | [INFO] PyLintBear (C0111): +| | C0111 - Missing method docstring + +src/mahjong_ranking/models.py +| 432| ········if·self.dan·or·self.dan_points·>·0: +| | [INFO] PyLintBear (R1705): +| | R1705 - Unnecessary "else" after "return" + +src/mahjong_ranking/models.py +| 492| ····def·update_hanchan_points(self,·hanchan): +| | [INFO] PyLintBear (R0912): +| | R0912 - Too many branches (18/12) + +src/mahjong_ranking/models.py +| 547| ····def·update_rank(self): +| | [INFO] PyLintBear (C0111): +| | C0111 - Missing method docstring + +src/mahjong_ranking/models.py +| 574| class·SeasonRanking(models.Model): +| | [INFO] PyLintBear (C0111): +| | C0111 - Missing class docstring + +src/mahjong_ranking/models.py +| 588| ····def·get_absolute_url(self): +| | [INFO] PyLintBear (C0111): +| | C0111 - Missing method docstring + +src/mahjong_ranking/models.py +| 591| ····def·recalculate(self): +| | [INFO] PyLintBear (C0111): +| | C0111 - Missing method docstring + +src/mahjong_ranking/models.py +| 618| def·update_ranking(sender,·instance,·**kwargs): +| | [INFO] PyLintBear (C0111): +| | C0111 - Missing function docstring + +src/mahjong_ranking/models.py +| 634| ····set_dirty(event=instance.event_id,·user=user.id) +| | [NORMAL] PyLintBear (W0631): +| | W0631 - Using possibly undefined loop variable 'user' + +src/mahjong_ranking/models.py +| 618| def·update_ranking(sender,·instance,·**kwargs): +| | [NORMAL] PyLintBear (W0613): +| | W0613 - Unused argument 'sender' + +src/mahjong_ranking/models.py +| 618| def·update_ranking(sender,·instance,·**kwargs): +| | [NORMAL] PyLintBear (W0613): +| | W0613 - Unused argument 'kwargs' + +src/events/forms.py +| 60| EventSeriesFormset·=·forms.inlineformset_factory(··#·Ignore·PyLintBear·(C0103) +| | [INFO] PyLintBear (C0103): +| | C0103 - Invalid constant name "EventSeriesFormset" + +src/maistar_ranking/models.py +| 91| ····def·save(self,·**kwargs): +| | [NORMAL] PyLintBear (W0221): +| | W0221 - Parameters differ from overridden 'save' method + +src/maistar_ranking/models.py +| 195| def·update_maistar_ranking(sender,·instance,·**kwargs): +| | [NORMAL] PyLintBear (W0613): +| | W0613 - Unused argument 'kwargs' + +src/maistar_ranking/models.py +| 195| def·update_maistar_ranking(sender,·instance,·**kwargs): +| | [NORMAL] PyLintBear (W0613): +| | W0613 - Unused argument 'sender' +| | [NORMAL] PEP8Bear: +| | The code does not comply to PEP8. +|----| | /srv/home/xeniac/Workspace/kasu/src/utils/tests.py +| |++++| /srv/home/xeniac/Workspace/kasu/src/utils/tests.py +| 44| 44| xxx-xxxx +| 45| 45| ''', +| 46| 46| '' +| 47| |- ) +| | 47|+ ) +| 48| 48| ) +| 49| 49| +| 50| 50| def test_html_cleaner(self): + +src/maistar_ranking/managers.py +| 12| class·GameManager(models.Manager): +| | [INFO] PyLintBear (C0111): +| | C0111 - Missing class docstring + +src/maistar_ranking/managers.py +| 15| ····def·player_games(self,·player,·season=None,·**kwargs): +| | [INFO] PyLintBear (C0111): +| | C0111 - Missing method docstring + +src/maistar_ranking/managers.py +| 28| class·LadderManager(models.Manager): +| | [INFO] PyLintBear (C0111): +| | C0111 - Missing class docstring + +src/maistar_ranking/managers.py +| 58| ····def·get_seasons(self): +| | [INFO] PyLintBear (C0111): +| | C0111 - Missing method docstring + +src/kasu/local_settings.py +| 9| specific·to·the·current·deployment.·e.g.·usernames,·passwords,·pathnames,· +| | [INFO] PyLintBear (C0303): +| | C0303 - Trailing whitespace + +src/kasu/local_settings.py +| 16| logger·=·logging.getLogger(__name__) +| | [INFO] PyLintBear (C0103): +| | C0103 - Invalid constant name "logger" + +src/kasu/local_settings.py +| 29| ····import·rosetta +| | [NORMAL] PyLintBear (W0611): +| | W0611 - Unused import rosetta + +src/kasu/local_settings.py +| 36| ····import·debug_toolbar +| | [NORMAL] PyLintBear (W0611): +| | W0611 - Unused import debug_toolbar + +src/events/views.py +| 90| ····def·get(self,·request,·*args,·**kwargs): +| | [NORMAL] PyLintBear (W0613): +| | W0613 - Unused argument 'kwargs' + +src/events/views.py +| 90| ····def·get(self,·request,·*args,·**kwargs): +| | [NORMAL] PyLintBear (W0613): +| | W0613 - Unused argument 'args' + +src/events/views.py +| 90| ····def·get(self,·request,·*args,·**kwargs): +| | [NORMAL] PyLintBear (W0613): +| | W0613 - Unused argument 'request' + +src/events/views.py +| 121| ········if·request.POST.get('rotate')·and·request.user.has_perm( +| | [INFO] PyLintBear (R1705): +| | R1705 - Unnecessary "else" after "return" + +src/events/views.py +| 153| class·EventPhotoUpload(mixins.EventDetailMixin,·generic.FormView): +| | [INFO] PyLintBear (C0111): +| | C0111 - Missing class docstring + +src/events/views.py +| 167| ····def·post(self,·*args,·**kwargs): +| | [NORMAL] PyLintBear (W0221): +| | W0221 - Parameters differ from overridden 'post' method + +src/events/views.py +| 186| class·EventSeriesForm(mixins.EventDetailMixin,·PermissionRequiredMixin, +| | [INFO] PyLintBear (C0111): +| | C0111 - Missing class docstring + +src/events/views.py +| 204| class·UpcomingEvents(generic.ListView): +| | [INFO] PyLintBear (C0111): +| | C0111 - Missing class docstring +| | [NORMAL] PEP8Bear: +| | The code does not comply to PEP8. +|----| | /srv/home/xeniac/Workspace/kasu/src/utils/massmailer.py +| |++++| /srv/home/xeniac/Workspace/kasu/src/utils/massmailer.py +| 68| 68| +| 69| 69| def set_header(self, name, value): +| 70| 70| """Add or modify an E-Mail Header to the Messages +| 71| |- +| | 71|+ +| 72| 72| :param name: The Header Name that should be added +| 73| 73| :param value: THe Header Value that shoud be added or set +| 74| 74| """ + +src/utils/massmailer.py +| 71| ········ +| | [INFO] PyLintBear (C0303): +| | C0303 - Trailing whitespace + +src/utils/massmailer.py +| 81| ········:return:· +| | [INFO] PyLintBear (C0303): +| | C0303 - Trailing whitespace + +src/utils/massmailer.py +| 48| ················LOGGER.debug('Adding·%s·as·Recipient'·%·recipient) +| | [NORMAL] PyLintBear (W1201): +| | W1201 - Specify string format arguments as logging function parameters + +src/utils/massmailer.py +| 77| ····def·send(self,·recipients=set()): +| | [NORMAL] PyLintBear (W0102): +| | W0102 - Dangerous default value set() (builtins.set) as argument + +src/utils/massmailer.py +| 84| ········if·len(mail_queue)·==·0: +| | [INFO] PyLintBear (C1801): +| | C1801 - Do not use `len(SEQUENCE)` as condition value + +src/utils/massmailer.py +| 100| ····················LOGGER.info("Mail·sent·successful·to:·%s"·%·mail.to) +| | [NORMAL] PyLintBear (W1201): +| | W1201 - Specify string format arguments as logging function parameters + +src/mahjong_ranking/views.py +| 151| ············:3] +| | [INFO] PyLintBear (C0330): +| | C0330 - Wrong hanging indentation (add 4 spaces). + +src/mahjong_ranking/views.py +| 1| #·-*-·encoding:·utf-8·-*- +| | [INFO] PyLintBear (C0111): +| | C0111 - Missing module docstring + +src/mahjong_ranking/views.py +| 18| kyu_dan_order·=·{ +| | [INFO] PyLintBear (C0103): +| | C0103 - Invalid constant name "kyu_dan_order" + +src/mahjong_ranking/views.py +| 68| ········if·self.request.user.has_perm('mahjong_ranking.change_hanchan'): +| | [INFO] PyLintBear (R1705): +| | R1705 - Unnecessary "else" after "return" + +src/mahjong_ranking/views.py +| 91| ········if·self.kwargs.get('hanchan'): +| | [INFO] PyLintBear (R1705): +| | R1705 - Unnecessary "else" after "return" + +src/mahjong_ranking/views.py +| 97| ········if·self.kwargs.get('hanchan'): +| | [INFO] PyLintBear (R1705): +| | R1705 - Unnecessary "else" after "return" + +src/mahjong_ranking/views.py +| 138| class·MahjongMixin(object): +| | [INFO] PyLintBear (C0111): +| | C0111 - Missing class docstring + +src/mahjong_ranking/views.py +| 139| ····def·get_context_data(self,·**kwargs): +| | [INFO] PyLintBear (C0111): +| | C0111 - Missing method docstring + +src/mahjong_ranking/views.py +| 175| class·SeasonRankingList(MahjongMixin,·generic.ListView): +| | [INFO] PyLintBear (C0111): +| | C0111 - Missing class docstring + +src/mahjong_ranking/views.py +| 189| class·PlayerScore(LoginRequiredMixin,·generic.ListView): +| | [INFO] PyLintBear (C0111): +| | C0111 - Missing class docstring + +src/mahjong_ranking/views.py +| 195| ············self.user·=·user_model.objects.get( +| | [NORMAL] PyLintBear (W0201): +| | W0201 - Attribute 'user' defined outside __init__ + +src/mahjong_ranking/views.py +| 220| class·PlayerDanScore(PlayerScore): +| | [INFO] PyLintBear (C0111): +| | C0111 - Missing class docstring + +src/mahjong_ranking/views.py +| 227| class·PlayerInvalidScore(PlayerScore): +| | [INFO] PyLintBear (C0111): +| | C0111 - Missing class docstring + +src/mahjong_ranking/views.py +| 234| class·PlayerKyuScore(PlayerScore): +| | [INFO] PyLintBear (C0111): +| | C0111 - Missing class docstring + +src/mahjong_ranking/views.py +| 241| class·PlayerLadderScore(PlayerScore): +| | [INFO] PyLintBear (C0111): +| | C0111 - Missing class docstring + +src/mahjong_ranking/views.py +| 253| ····def·get_queryset(self,·**kwargs): +| | [NORMAL] PyLintBear (W0221): +| | W0221 - Parameters differ from overridden 'get_queryset' method + +src/mahjong_ranking/views.py +| 253| ····def·get_queryset(self,·**kwargs): +| | [NORMAL] PyLintBear (W0613): +| | W0613 - Unused argument 'kwargs' +Executing section cli... diff --git a/cleanup.sh b/bin/cleanup.sh similarity index 82% rename from cleanup.sh rename to bin/cleanup.sh index 973e2bc..5e79cbd 100755 --- a/cleanup.sh +++ b/bin/cleanup.sh @@ -1,16 +1,15 @@ #!/bin/bash -. /usr/share/virtualenvwrapper/virtualenvwrapper_lazy.sh -workon kasu +source .virtualenv/bin/activate echo "aktualisiere Übersetzungen..." cd src unset DJANGO_SETTINGS_MODULE for dir in * do - if [ -d $dir/locale ] + if [ -d ${dir}/locale ] echo "Übersetze $dir" then echo -n "$dir: " - cd $dir + cd ${dir} django-admin.py makemessages -l de cd .. fi diff --git a/bin/sync.sh b/bin/sync.sh new file mode 100755 index 0000000..756f1ca --- /dev/null +++ b/bin/sync.sh @@ -0,0 +1,23 @@ +#!/bin/bash + +SSH_LOGIN="kasu@s21.wservices.ch" +SYNC_ASSESTS="requirements" +SYNC_SOURCECODE="src" +EXCLUDE_FILES="*.pyc" + +grunt + +echo "Syncing project assets ..." +rsync -r --copy-links --delete ${SYNC_ASSESTS} ${SSH_LOGIN}:~/ + +echo "Installing dependecies" +ssh ${SSH_LOGIN} "virtualenv/bin/pip install --upgrade -r requirements/base.txt" + +echo "Syncing Sourcecode ..." +find . -name "*.pyc" -exec rm -rf {} \; +rsync -r --copy-links --delete ${SYNC_SOURCECODE} ${SSH_LOGIN}:~/ --exclude 'src/kasu/local_settings.py' + +echo "Rebuild and reload django..." +ssh ${SSH_LOGIN} "rm src/kasu/settings/development.*" +ssh ${SSH_LOGIN} "virtualenv/bin/python ~/src/manage.py collectstatic -l --noinput -v1" +ssh ${SSH_LOGIN} "~/init/kasu restart" diff --git a/testserver.sh b/bin/testserver.sh similarity index 62% rename from testserver.sh rename to bin/testserver.sh index 497c94e..994595d 100755 --- a/testserver.sh +++ b/bin/testserver.sh @@ -1,4 +1,6 @@ +#!/bin/sh + export DJANGO_SETTINGS_MODULE=kasu.settings source .virtualenv/bin/activate -./manage.py runserver 0.0.0.0:8080 +./manage.py runserver 0.0.0.0:8000 diff --git a/requirements/base.txt b/requirements/base.txt index 3d9e487..3537068 100644 --- a/requirements/base.txt +++ b/requirements/base.txt @@ -2,11 +2,12 @@ beautifulsoup4 django django-appconf django-ckeditor -django-compressor django-contrib-comments django-csp +django-compressor django-extra-views django-markdown +django-recaptcha easy-thumbnails icalendar markdown @@ -17,5 +18,4 @@ pytz requests requests-oauthlib social-auth-app-django -social-auth-core - +social-auth-core \ No newline at end of file diff --git a/requirements/development.txt b/requirements/development.txt index e60116c..109904b 100644 --- a/requirements/development.txt +++ b/requirements/development.txt @@ -1,7 +1,8 @@ -r base.txt -flake8 -autoflake django-debug-toolbar -django-sslserver -rosetta +django-rosetta sqlparse + +# Code Linting +coala-bears +pylint-django diff --git a/src/events/views.py~ b/src/events/views.py~ deleted file mode 100644 index a5fcb33..0000000 --- a/src/events/views.py~ +++ /dev/null @@ -1,225 +0,0 @@ -# Create your views here. -from . import models, forms -from datetime import datetime -from django.contrib.auth.decorators import permission_required -from django.contrib.auth.models import User -from django.core.urlresolvers import reverse -from django.http import HttpResponse -from django.shortcuts import redirect -from django.utils.decorators import method_decorator -from django.views import generic -from utils.icalendar import Calendar, Event -from dateutil.tz import gettz -import pyexiv2 - -class DeleteEventPhoto(generic.DeleteView): - model = models.Photo - """ - def get_object(self, queryset=None): - return models.Photo.objects.get(pk=self.kwargs['pk']) - """ - def get_success_url(self): - return reverse('event-photo-list', args=[self.object.event.id]) - - @method_decorator(permission_required('events.delete_photo')) - def dispatch(self, *args, **kwargs): - return super(DeleteEventPhoto, self).dispatch(*args, **kwargs) - -class EventArchiveIndex(generic.ArchiveIndexView): - allow_empty = True - context_object_name = 'event_list' - date_field = 'start' - model = models.Event - paginate_by = 5 - - def get_context_data(self, **kwargs): - context = generic.ArchiveIndexView.get_context_data(self, **kwargs) - context['is_archive'] = True - return context - -class EventArchiveMonth(generic.MonthArchiveView): - date_field = 'start' - make_object_list = True - model = models.Event - month_format = '%m' - paginate_by = 15 - template_name = 'events/event_archive.html' - - def get_context_data(self, **kwargs): - context = generic.MonthArchiveView.get_context_data(self, **kwargs) - context['is_archive'] = True - return context - -class EventArchiveYear(generic.YearArchiveView): - date_field = 'start' - make_object_list = True - model = models.Event - paginate_by = 15 - template_name = 'events/event_archive.html' - year_format = '%Y' - - def get_context_data(self, **kwargs): - context = generic.YearArchiveView.get_context_data(self, **kwargs) - context['is_archive'] = True - return context - -class EventDetail(generic.DetailView): - model = models.Event - - def get_context_data(self, **kwargs): - context = generic.DetailView.get_context_data(self, **kwargs) - context['form'] = forms.PhotoUploadForm(initial={'event':self.object, 'photographer': self.request.user}) - return context - -class EventForm(generic.UpdateView): - template_name = 'events/event_form.html' - form_class = forms.EventForm - - def get_object(self, queryset=None): - ''' - If an id has been submitted, try return the existing Event for an update, - else creates a new one. - @param queryset: - ''' - if self.kwargs.get('pk'): - return models.Event.objects.get(pk=self.kwargs['pk']) - else: - return models.Event() - - @method_decorator(permission_required('events.update_event')) - def dispatch(self, *args, **kwargs): - return super(EventForm, self).dispatch(*args, **kwargs) - - -class EventGallery(generic.ListView): - template_name = 'events/event_gallery.html' - queryset = models.Event.objects.filter(start__lt=datetime.now(), photo_count__gt=0) - -class EventListIcal(generic.View): - ''' - Generates an returns an iCal File with all upcoming events. - ''' - - def add_event(self, event): - ics_event = Event() - dtstart = event.start.replace(tzinfo=self.tzinfo) - - ics_event.add('dtstart', dtstart) - ics_event.add('summary', event.name) - ics_event.add('description', event.description) - ics_event.add('location', event.location.address) - ics_event.add('attach', 'http://www.kasu.at' + event.get_absolute_url()) - ics_event['uid'] = 'event-%d@www.kasu.at' % event.pk - ics_event.add('priority', 5) - if event.end: - dtend = event.end.replace(tzinfo=self.tzinfo) - ics_event.add('dtend', dtend) - - self.calendar.add_component(ics_event) - - def get(self, request, *args, **kwargs): - response = HttpResponse() #mimetype="text/calendar; charset=UTF-8") - self.calendar = Calendar() - self.calendar.add('prodid', 'http://www.kasu.at/') - self.calendar.add('version', '2.0') - self.tzinfo = gettz('CET') - for event in models.Event.objects.upcoming(limit=None): - self.add_event(event) - response.write(self.calendar.as_string()) - return response - - -class EventPhoto(generic.UpdateView): - form_class = forms.EditPhotoForm - model = models.Photo - template_name = 'events/event_photo.html' - - def post(self, request, *args, **kwargs): - if request.POST.get('rotate') and request.user.has_perm('events.change_photo'): - photo = models.Photo.objects.get(pk=kwargs['pk']) - photo.rotate(request.POST['rotate']) - photo.save() - #return redirect(photo.get_absolute_url()) - return self.get(request) - else: - return generic.UpdateView.post(self, request, *args, **kwargs) - -class EventPhotoList(generic.ListView): - context_object_name = 'photo_list' - paginate_by = 36 - template_name = 'events/event_photolist.html' - - def get_context_data(self, **kwargs): - context = generic.ListView.get_context_data(self, **kwargs) - context['event'] = self.event - context['form'] = forms.PhotoUploadForm(initial={'event':self.event, 'photographer': self.request.user}) - print self.event.get_absolute_url() - return context - - def get_queryset(self): - self.event = models.Event.objects.get(id=self.kwargs['event']) - return models.Photo.objects.filter(event=self.event) - -class EventPhotoUpload(generic.FormView): - form_class = forms.PhotoUploadForm - template_name = 'events/upload_photo.html' - - @method_decorator(permission_required('event.add_photo')) - def dispatch(self, *args, **kwargs): - return super(EventPhotoUpload, self).dispatch(*args, **kwargs) - - def get_context_data(self, **kwargs): - context = generic.FormView.get_context_data(self, **kwargs) - context['event_list'] = models.Event.objects.archive()[:12] - return context - - def get_initial(self): - ''' - Set the current logged in user a default value for the photographer. - ''' - return { - 'photographer': self.request.user, - } - - def post(self, *args, **kwargs): - ''' - - ''' - event = models.Event.objects.get(id=self.request.REQUEST.get('event')) - photographer = self.request.POST.get('photographer') - if photographer: - photographer = User.objects.get(id=photographer) - else: - photographer = self.request.user - - for upload in self.request.FILES.getlist('upload'): - name = upload.name - created_date, description = self.read_exif(upload) - photo = models.Photo( - event=event, - photographer=photographer, - image=upload, - name=name, - created_date=created_date, - description=description - ) - photo.save() - return redirect('event-photo-list', event=event.id) - - def read_exif(self, photo): - exif_data = pyexiv2.ImageMetadata.from_buffer(photo.read()) - exif_data.read() - - try: - created_date = exif_data['Exif.Image.DateTime'].value - except: - created_date = datetime.now() - try: - description = exif_data['Exif.Image.ImageDescription'].value - except: - description = '' - return (created_date, description) - -class UpcomingEvents(generic.ListView): - queryset = models.Event.objects.upcoming(limit=None) - paginate_by = 12 diff --git a/src/maistar_ranking/migrations/0005_auto_20170218_1947.py b/src/maistar_ranking/migrations/0005_auto_20170218_1947.py new file mode 100644 index 0000000..8f69c97 --- /dev/null +++ b/src/maistar_ranking/migrations/0005_auto_20170218_1947.py @@ -0,0 +1,19 @@ +# -*- coding: utf-8 -*- +from __future__ import unicode_literals + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('maistar_ranking', '0004_auto_20160916_1800'), + ] + + operations = [ + migrations.AlterField( + model_name='game', + name='comment', + field=models.TextField(verbose_name='Anmerkung', blank=True), + ), + ] diff --git a/src/membership/fixtures/test_membership.json b/src/membership/fixtures/test_membership.json new file mode 100644 index 0000000..4c0e844 --- /dev/null +++ b/src/membership/fixtures/test_membership.json @@ -0,0 +1,2327 @@ +[ +{ + "model": "membership.membership", + "pk": 1, + "fields": { + "password": "top_secret", + "last_login": null, + "is_superuser": false, + "username": "Xeniac", + "first_name": "Anonymous", + "last_name": "User Nr.1", + "email": "xeniac@example.kasu.at", + "is_staff": false, + "is_active": true, + "date_joined": "2015-08-12T17:27:07Z", + "gender": null, + "website": "", + "avatar": "", + "membership": true, + "birthday": null, + "telephone": null, + "street_name": null, + "post_code": null, + "city": null, + "deposit": 0, + "registration_date": "2015-08-12", + "paid_until": "2099-12-31", + "confirmed": true, + "groups": [], + "user_permissions": [] + } +}, +{ + "model": "membership.membership", + "pk": 4, + "fields": { + "password": "top_secret", + "last_login": null, + "is_superuser": false, + "username": "Votaris", + "first_name": "Anonymous", + "last_name": "User Nr.4", + "email": "votaris@example.kasu.at", + "is_staff": false, + "is_active": true, + "date_joined": "2015-08-16T09:06:39Z", + "gender": null, + "website": "", + "avatar": "", + "membership": true, + "birthday": null, + "telephone": null, + "street_name": null, + "post_code": null, + "city": null, + "deposit": 0, + "registration_date": "2015-08-16", + "paid_until": "2099-12-31", + "confirmed": true, + "groups": [], + "user_permissions": [] + } +}, +{ + "model": "membership.membership", + "pk": 5, + "fields": { + "password": "top_secret", + "last_login": null, + "is_superuser": false, + "username": "Raqi", + "first_name": "Anonymous", + "last_name": "User Nr.5", + "email": "raqi@example.kasu.at", + "is_staff": false, + "is_active": true, + "date_joined": "2015-08-16T15:29:24Z", + "gender": null, + "website": "", + "avatar": "", + "membership": true, + "birthday": null, + "telephone": null, + "street_name": null, + "post_code": null, + "city": null, + "deposit": 0, + "registration_date": "2015-08-16", + "paid_until": "2099-12-31", + "confirmed": true, + "groups": [], + "user_permissions": [] + } +}, +{ + "model": "membership.membership", + "pk": 6, + "fields": { + "password": "top_secret", + "last_login": null, + "is_superuser": false, + "username": "besteste", + "first_name": "Anonymous", + "last_name": "User Nr.6", + "email": "besteste@example.kasu.at", + "is_staff": false, + "is_active": true, + "date_joined": "2015-08-16T15:29:46Z", + "gender": null, + "website": "", + "avatar": "", + "membership": true, + "birthday": null, + "telephone": null, + "street_name": null, + "post_code": null, + "city": null, + "deposit": 0, + "registration_date": "2015-08-16", + "paid_until": "2099-12-31", + "confirmed": true, + "groups": [], + "user_permissions": [] + } +}, +{ + "model": "membership.membership", + "pk": 7, + "fields": { + "password": "top_secret", + "last_login": null, + "is_superuser": false, + "username": "rubi", + "first_name": "Anonymous", + "last_name": "User Nr.7", + "email": "rubi@example.kasu.at", + "is_staff": false, + "is_active": true, + "date_joined": "2015-08-16T15:31:06Z", + "gender": null, + "website": "", + "avatar": "", + "membership": true, + "birthday": null, + "telephone": null, + "street_name": null, + "post_code": null, + "city": null, + "deposit": 0, + "registration_date": "2015-08-16", + "paid_until": "2099-12-31", + "confirmed": true, + "groups": [], + "user_permissions": [] + } +}, +{ + "model": "membership.membership", + "pk": 8, + "fields": { + "password": "top_secret", + "last_login": null, + "is_superuser": false, + "username": "artanh", + "first_name": "Anonymous", + "last_name": "User Nr.8", + "email": "artanh@example.kasu.at", + "is_staff": false, + "is_active": true, + "date_joined": "2015-08-16T15:31:28Z", + "gender": null, + "website": "", + "avatar": "", + "membership": true, + "birthday": null, + "telephone": null, + "street_name": null, + "post_code": null, + "city": null, + "deposit": 0, + "registration_date": "2015-08-16", + "paid_until": "2099-12-31", + "confirmed": true, + "groups": [], + "user_permissions": [] + } +}, +{ + "model": "membership.membership", + "pk": 9, + "fields": { + "password": "top_secret", + "last_login": null, + "is_superuser": false, + "username": "Kenka", + "first_name": "Anonymous", + "last_name": "User Nr.9", + "email": "kenka@example.kasu.at", + "is_staff": false, + "is_active": true, + "date_joined": "2015-08-16T15:31:54Z", + "gender": null, + "website": "", + "avatar": "", + "membership": true, + "birthday": null, + "telephone": null, + "street_name": null, + "post_code": null, + "city": null, + "deposit": 0, + "registration_date": "2015-08-16", + "paid_until": "2099-12-31", + "confirmed": true, + "groups": [], + "user_permissions": [] + } +}, +{ + "model": "membership.membership", + "pk": 10, + "fields": { + "password": "top_secret", + "last_login": null, + "is_superuser": false, + "username": "Mihaeru", + "first_name": "Anonymous", + "last_name": "User Nr.10", + "email": "mihaeru@example.kasu.at", + "is_staff": false, + "is_active": true, + "date_joined": "2015-08-16T15:32:48Z", + "gender": null, + "website": "", + "avatar": "", + "membership": true, + "birthday": null, + "telephone": null, + "street_name": null, + "post_code": null, + "city": null, + "deposit": 0, + "registration_date": "2015-08-16", + "paid_until": "2099-12-31", + "confirmed": true, + "groups": [], + "user_permissions": [] + } +}, +{ + "model": "membership.membership", + "pk": 11, + "fields": { + "password": "top_secret", + "last_login": null, + "is_superuser": false, + "username": "rei9", + "first_name": "Anonymous", + "last_name": "User Nr.11", + "email": "rei9@example.kasu.at", + "is_staff": false, + "is_active": true, + "date_joined": "2015-08-16T15:33:00Z", + "gender": null, + "website": "", + "avatar": "", + "membership": true, + "birthday": null, + "telephone": null, + "street_name": null, + "post_code": null, + "city": null, + "deposit": 0, + "registration_date": "2015-08-16", + "paid_until": "2099-12-31", + "confirmed": true, + "groups": [], + "user_permissions": [] + } +}, +{ + "model": "membership.membership", + "pk": 12, + "fields": { + "password": "top_secret", + "last_login": null, + "is_superuser": false, + "username": "songochang", + "first_name": "Anonymous", + "last_name": "User Nr.12", + "email": "songochang@example.kasu.at", + "is_staff": false, + "is_active": true, + "date_joined": "2015-08-16T15:33:08Z", + "gender": null, + "website": "", + "avatar": "", + "membership": true, + "birthday": null, + "telephone": null, + "street_name": null, + "post_code": null, + "city": null, + "deposit": 0, + "registration_date": "2015-08-16", + "paid_until": "2099-12-31", + "confirmed": true, + "groups": [], + "user_permissions": [] + } +}, +{ + "model": "membership.membership", + "pk": 13, + "fields": { + "password": "top_secret", + "last_login": null, + "is_superuser": false, + "username": "Raubritter", + "first_name": "Anonymous", + "last_name": "User Nr.13", + "email": "raubritter@example.kasu.at", + "is_staff": false, + "is_active": true, + "date_joined": "2015-08-16T15:33:15Z", + "gender": null, + "website": "", + "avatar": "", + "membership": true, + "birthday": null, + "telephone": null, + "street_name": null, + "post_code": null, + "city": null, + "deposit": 0, + "registration_date": "2015-08-16", + "paid_until": "2099-12-31", + "confirmed": true, + "groups": [], + "user_permissions": [] + } +}, +{ + "model": "membership.membership", + "pk": 14, + "fields": { + "password": "top_secret", + "last_login": null, + "is_superuser": false, + "username": "Flydragon", + "first_name": "Anonymous", + "last_name": "User Nr.14", + "email": "flydragon@example.kasu.at", + "is_staff": false, + "is_active": true, + "date_joined": "2015-08-16T15:33:23Z", + "gender": null, + "website": "", + "avatar": "", + "membership": true, + "birthday": null, + "telephone": null, + "street_name": null, + "post_code": null, + "city": null, + "deposit": 0, + "registration_date": "2015-08-16", + "paid_until": "2099-12-31", + "confirmed": true, + "groups": [], + "user_permissions": [] + } +}, +{ + "model": "membership.membership", + "pk": 15, + "fields": { + "password": "top_secret", + "last_login": null, + "is_superuser": false, + "username": "shino", + "first_name": "Anonymous", + "last_name": "User Nr.15", + "email": "shino@example.kasu.at", + "is_staff": false, + "is_active": true, + "date_joined": "2015-08-16T15:33:31Z", + "gender": null, + "website": "", + "avatar": "", + "membership": true, + "birthday": null, + "telephone": null, + "street_name": null, + "post_code": null, + "city": null, + "deposit": 0, + "registration_date": "2015-08-16", + "paid_until": "2099-12-31", + "confirmed": true, + "groups": [], + "user_permissions": [] + } +}, +{ + "model": "membership.membership", + "pk": 16, + "fields": { + "password": "top_secret", + "last_login": null, + "is_superuser": false, + "username": "Petrus", + "first_name": "Anonymous", + "last_name": "User Nr.16", + "email": "petrus@example.kasu.at", + "is_staff": false, + "is_active": true, + "date_joined": "2015-08-16T15:33:38Z", + "gender": null, + "website": "", + "avatar": "", + "membership": true, + "birthday": null, + "telephone": null, + "street_name": null, + "post_code": null, + "city": null, + "deposit": 0, + "registration_date": "2015-08-16", + "paid_until": "2099-12-31", + "confirmed": true, + "groups": [], + "user_permissions": [] + } +}, +{ + "model": "membership.membership", + "pk": 17, + "fields": { + "password": "top_secret", + "last_login": null, + "is_superuser": false, + "username": "Myke", + "first_name": "Anonymous", + "last_name": "User Nr.17", + "email": "myke@example.kasu.at", + "is_staff": false, + "is_active": true, + "date_joined": "2015-08-16T15:33:44Z", + "gender": null, + "website": "", + "avatar": "", + "membership": true, + "birthday": null, + "telephone": null, + "street_name": null, + "post_code": null, + "city": null, + "deposit": 0, + "registration_date": "2015-08-16", + "paid_until": "2099-12-31", + "confirmed": true, + "groups": [], + "user_permissions": [] + } +}, +{ + "model": "membership.membership", + "pk": 18, + "fields": { + "password": "top_secret", + "last_login": null, + "is_superuser": false, + "username": "israfel", + "first_name": "Anonymous", + "last_name": "User Nr.18", + "email": "israfel@example.kasu.at", + "is_staff": false, + "is_active": true, + "date_joined": "2015-08-16T15:33:51Z", + "gender": null, + "website": "", + "avatar": "", + "membership": true, + "birthday": null, + "telephone": null, + "street_name": null, + "post_code": null, + "city": null, + "deposit": 0, + "registration_date": "2015-08-16", + "paid_until": "2099-12-31", + "confirmed": true, + "groups": [], + "user_permissions": [] + } +}, +{ + "model": "membership.membership", + "pk": 19, + "fields": { + "password": "top_secret", + "last_login": null, + "is_superuser": false, + "username": "GD", + "first_name": "Anonymous", + "last_name": "User Nr.19", + "email": "gd@example.kasu.at", + "is_staff": false, + "is_active": true, + "date_joined": "2015-08-16T15:33:57Z", + "gender": null, + "website": "", + "avatar": "", + "membership": true, + "birthday": null, + "telephone": null, + "street_name": null, + "post_code": null, + "city": null, + "deposit": 0, + "registration_date": "2015-08-16", + "paid_until": "2099-12-31", + "confirmed": true, + "groups": [], + "user_permissions": [] + } +}, +{ + "model": "membership.membership", + "pk": 20, + "fields": { + "password": "top_secret", + "last_login": null, + "is_superuser": false, + "username": "Sandmann", + "first_name": "Anonymous", + "last_name": "User Nr.20", + "email": "sandmann@example.kasu.at", + "is_staff": false, + "is_active": true, + "date_joined": "2015-08-16T15:34:06Z", + "gender": null, + "website": "", + "avatar": "", + "membership": true, + "birthday": null, + "telephone": null, + "street_name": null, + "post_code": null, + "city": null, + "deposit": 0, + "registration_date": "2015-08-16", + "paid_until": "2099-12-31", + "confirmed": true, + "groups": [], + "user_permissions": [] + } +}, +{ + "model": "membership.membership", + "pk": 21, + "fields": { + "password": "top_secret", + "last_login": null, + "is_superuser": false, + "username": "Gouki", + "first_name": "Anonymous", + "last_name": "User Nr.21", + "email": "gouki@example.kasu.at", + "is_staff": false, + "is_active": true, + "date_joined": "2015-08-16T15:34:14Z", + "gender": null, + "website": "", + "avatar": "", + "membership": true, + "birthday": null, + "telephone": null, + "street_name": null, + "post_code": null, + "city": null, + "deposit": 0, + "registration_date": "2015-08-16", + "paid_until": "2099-12-31", + "confirmed": true, + "groups": [], + "user_permissions": [] + } +}, +{ + "model": "membership.membership", + "pk": 22, + "fields": { + "password": "top_secret", + "last_login": null, + "is_superuser": false, + "username": "talio", + "first_name": "Anonymous", + "last_name": "User Nr.22", + "email": "talio@example.kasu.at", + "is_staff": false, + "is_active": true, + "date_joined": "2015-08-16T15:34:21Z", + "gender": null, + "website": "", + "avatar": "", + "membership": true, + "birthday": null, + "telephone": null, + "street_name": null, + "post_code": null, + "city": null, + "deposit": 0, + "registration_date": "2015-08-16", + "paid_until": "2099-12-31", + "confirmed": true, + "groups": [], + "user_permissions": [] + } +}, +{ + "model": "membership.membership", + "pk": 23, + "fields": { + "password": "top_secret", + "last_login": null, + "is_superuser": false, + "username": "VikiBuNNy", + "first_name": "Anonymous", + "last_name": "User Nr.23", + "email": "vikibunny@example.kasu.at", + "is_staff": false, + "is_active": true, + "date_joined": "2015-08-16T15:34:27Z", + "gender": null, + "website": "", + "avatar": "", + "membership": true, + "birthday": null, + "telephone": null, + "street_name": null, + "post_code": null, + "city": null, + "deposit": 0, + "registration_date": "2015-08-16", + "paid_until": "2099-12-31", + "confirmed": true, + "groups": [], + "user_permissions": [] + } +}, +{ + "model": "membership.membership", + "pk": 24, + "fields": { + "password": "top_secret", + "last_login": null, + "is_superuser": false, + "username": "AwesomeDragon", + "first_name": "Anonymous", + "last_name": "User Nr.24", + "email": "awesomedragon@example.kasu.at", + "is_staff": false, + "is_active": true, + "date_joined": "2015-08-16T15:34:38Z", + "gender": null, + "website": "", + "avatar": "", + "membership": true, + "birthday": null, + "telephone": null, + "street_name": null, + "post_code": null, + "city": null, + "deposit": 0, + "registration_date": "2015-08-16", + "paid_until": "2099-12-31", + "confirmed": true, + "groups": [], + "user_permissions": [] + } +}, +{ + "model": "membership.membership", + "pk": 25, + "fields": { + "password": "top_secret", + "last_login": null, + "is_superuser": false, + "username": "Shuichi", + "first_name": "Anonymous", + "last_name": "User Nr.25", + "email": "shuichi@example.kasu.at", + "is_staff": false, + "is_active": true, + "date_joined": "2015-08-16T15:34:48Z", + "gender": null, + "website": "", + "avatar": "", + "membership": true, + "birthday": null, + "telephone": null, + "street_name": null, + "post_code": null, + "city": null, + "deposit": 0, + "registration_date": "2015-08-16", + "paid_until": "2099-12-31", + "confirmed": true, + "groups": [], + "user_permissions": [] + } +}, +{ + "model": "membership.membership", + "pk": 26, + "fields": { + "password": "top_secret", + "last_login": null, + "is_superuser": false, + "username": "Ri", + "first_name": "Anonymous", + "last_name": "User Nr.26", + "email": "ri@example.kasu.at", + "is_staff": false, + "is_active": true, + "date_joined": "2015-08-16T15:34:56Z", + "gender": null, + "website": "", + "avatar": "", + "membership": true, + "birthday": null, + "telephone": null, + "street_name": null, + "post_code": null, + "city": null, + "deposit": 0, + "registration_date": "2015-08-16", + "paid_until": "2099-12-31", + "confirmed": true, + "groups": [], + "user_permissions": [] + } +}, +{ + "model": "membership.membership", + "pk": 27, + "fields": { + "password": "top_secret", + "last_login": null, + "is_superuser": false, + "username": "Azrael", + "first_name": "Anonymous", + "last_name": "User Nr.27", + "email": "azrael@example.kasu.at", + "is_staff": false, + "is_active": true, + "date_joined": "2015-08-16T15:35:02Z", + "gender": null, + "website": "", + "avatar": "", + "membership": true, + "birthday": null, + "telephone": null, + "street_name": null, + "post_code": null, + "city": null, + "deposit": 0, + "registration_date": "2015-08-16", + "paid_until": "2099-12-31", + "confirmed": true, + "groups": [], + "user_permissions": [] + } +}, +{ + "model": "membership.membership", + "pk": 28, + "fields": { + "password": "top_secret", + "last_login": null, + "is_superuser": false, + "username": "RyuRonin_No_Uma", + "first_name": "Anonymous", + "last_name": "User Nr.28", + "email": "ryuronin_no_uma@example.kasu.at", + "is_staff": false, + "is_active": true, + "date_joined": "2015-08-16T15:35:20Z", + "gender": null, + "website": "", + "avatar": "", + "membership": true, + "birthday": null, + "telephone": null, + "street_name": null, + "post_code": null, + "city": null, + "deposit": 0, + "registration_date": "2015-08-16", + "paid_until": "2099-12-31", + "confirmed": true, + "groups": [], + "user_permissions": [] + } +}, +{ + "model": "membership.membership", + "pk": 29, + "fields": { + "password": "top_secret", + "last_login": null, + "is_superuser": false, + "username": "RJ", + "first_name": "Anonymous", + "last_name": "User Nr.29", + "email": "rj@example.kasu.at", + "is_staff": false, + "is_active": true, + "date_joined": "2015-08-16T15:36:22Z", + "gender": null, + "website": "", + "avatar": "", + "membership": true, + "birthday": null, + "telephone": null, + "street_name": null, + "post_code": null, + "city": null, + "deposit": 0, + "registration_date": "2015-08-16", + "paid_until": "2099-12-31", + "confirmed": true, + "groups": [], + "user_permissions": [] + } +}, +{ + "model": "membership.membership", + "pk": 30, + "fields": { + "password": "top_secret", + "last_login": null, + "is_superuser": false, + "username": "Albertosun", + "first_name": "Anonymous", + "last_name": "User Nr.30", + "email": "albertosun@example.kasu.at", + "is_staff": false, + "is_active": true, + "date_joined": "2015-08-16T15:36:32Z", + "gender": null, + "website": "", + "avatar": "", + "membership": true, + "birthday": null, + "telephone": null, + "street_name": null, + "post_code": null, + "city": null, + "deposit": 0, + "registration_date": "2015-08-16", + "paid_until": "2099-12-31", + "confirmed": true, + "groups": [], + "user_permissions": [] + } +}, +{ + "model": "membership.membership", + "pk": 31, + "fields": { + "password": "top_secret", + "last_login": null, + "is_superuser": false, + "username": "Rednael", + "first_name": "Anonymous", + "last_name": "User Nr.31", + "email": "rednael@example.kasu.at", + "is_staff": false, + "is_active": true, + "date_joined": "2015-08-16T15:36:38Z", + "gender": null, + "website": "", + "avatar": "", + "membership": true, + "birthday": null, + "telephone": null, + "street_name": null, + "post_code": null, + "city": null, + "deposit": 0, + "registration_date": "2015-08-16", + "paid_until": "2099-12-31", + "confirmed": true, + "groups": [], + "user_permissions": [] + } +}, +{ + "model": "membership.membership", + "pk": 32, + "fields": { + "password": "top_secret", + "last_login": null, + "is_superuser": false, + "username": "Neko", + "first_name": "Anonymous", + "last_name": "User Nr.32", + "email": "neko@example.kasu.at", + "is_staff": false, + "is_active": true, + "date_joined": "2015-08-16T15:36:44Z", + "gender": null, + "website": "", + "avatar": "", + "membership": true, + "birthday": null, + "telephone": null, + "street_name": null, + "post_code": null, + "city": null, + "deposit": 0, + "registration_date": "2015-08-16", + "paid_until": "2099-12-31", + "confirmed": true, + "groups": [], + "user_permissions": [] + } +}, +{ + "model": "membership.membership", + "pk": 33, + "fields": { + "password": "top_secret", + "last_login": null, + "is_superuser": false, + "username": "Elphaba", + "first_name": "Anonymous", + "last_name": "User Nr.33", + "email": "elphaba@example.kasu.at", + "is_staff": false, + "is_active": true, + "date_joined": "2015-08-16T15:36:53Z", + "gender": null, + "website": "", + "avatar": "", + "membership": true, + "birthday": null, + "telephone": null, + "street_name": null, + "post_code": null, + "city": null, + "deposit": 0, + "registration_date": "2015-08-16", + "paid_until": "2099-12-31", + "confirmed": true, + "groups": [], + "user_permissions": [] + } +}, +{ + "model": "membership.membership", + "pk": 34, + "fields": { + "password": "top_secret", + "last_login": null, + "is_superuser": false, + "username": "Capoeira", + "first_name": "Anonymous", + "last_name": "User Nr.34", + "email": "capoeira@example.kasu.at", + "is_staff": false, + "is_active": true, + "date_joined": "2015-08-16T15:37:16Z", + "gender": null, + "website": "", + "avatar": "", + "membership": true, + "birthday": null, + "telephone": null, + "street_name": null, + "post_code": null, + "city": null, + "deposit": 0, + "registration_date": "2015-08-16", + "paid_until": "2099-12-31", + "confirmed": true, + "groups": [], + "user_permissions": [] + } +}, +{ + "model": "membership.membership", + "pk": 35, + "fields": { + "password": "top_secret", + "last_login": null, + "is_superuser": false, + "username": "Kaiji", + "first_name": "Anonymous", + "last_name": "User Nr.35", + "email": "kaiji@example.kasu.at", + "is_staff": false, + "is_active": true, + "date_joined": "2015-08-16T15:37:48Z", + "gender": null, + "website": "", + "avatar": "", + "membership": true, + "birthday": null, + "telephone": null, + "street_name": null, + "post_code": null, + "city": null, + "deposit": 0, + "registration_date": "2015-08-16", + "paid_until": "2099-12-31", + "confirmed": true, + "groups": [], + "user_permissions": [] + } +}, +{ + "model": "membership.membership", + "pk": 36, + "fields": { + "password": "top_secret", + "last_login": null, + "is_superuser": false, + "username": "kuki", + "first_name": "Anonymous", + "last_name": "User Nr.36", + "email": "kuki@example.kasu.at", + "is_staff": false, + "is_active": true, + "date_joined": "2015-08-16T15:37:56Z", + "gender": null, + "website": "", + "avatar": "", + "membership": true, + "birthday": null, + "telephone": null, + "street_name": null, + "post_code": null, + "city": null, + "deposit": 0, + "registration_date": "2015-08-16", + "paid_until": "2099-12-31", + "confirmed": true, + "groups": [], + "user_permissions": [] + } +}, +{ + "model": "membership.membership", + "pk": 37, + "fields": { + "password": "top_secret", + "last_login": null, + "is_superuser": false, + "username": "Moony", + "first_name": "Anonymous", + "last_name": "User Nr.37", + "email": "moony@example.kasu.at", + "is_staff": false, + "is_active": true, + "date_joined": "2015-08-16T15:38:03Z", + "gender": null, + "website": "", + "avatar": "", + "membership": true, + "birthday": null, + "telephone": null, + "street_name": null, + "post_code": null, + "city": null, + "deposit": 0, + "registration_date": "2015-08-16", + "paid_until": "2099-12-31", + "confirmed": true, + "groups": [], + "user_permissions": [] + } +}, +{ + "model": "membership.membership", + "pk": 38, + "fields": { + "password": "top_secret", + "last_login": null, + "is_superuser": false, + "username": "DarkWolven", + "first_name": "Anonymous", + "last_name": "User Nr.38", + "email": "darkwolven@example.kasu.at", + "is_staff": false, + "is_active": true, + "date_joined": "2015-08-16T15:38:16Z", + "gender": null, + "website": "", + "avatar": "", + "membership": true, + "birthday": null, + "telephone": null, + "street_name": null, + "post_code": null, + "city": null, + "deposit": 0, + "registration_date": "2015-08-16", + "paid_until": "2099-12-31", + "confirmed": true, + "groups": [], + "user_permissions": [] + } +}, +{ + "model": "membership.membership", + "pk": 39, + "fields": { + "password": "top_secret", + "last_login": null, + "is_superuser": false, + "username": "Evil-Siren", + "first_name": "Anonymous", + "last_name": "User Nr.39", + "email": "evil-siren@example.kasu.at", + "is_staff": false, + "is_active": true, + "date_joined": "2015-08-16T15:38:22Z", + "gender": null, + "website": "", + "avatar": "", + "membership": true, + "birthday": null, + "telephone": null, + "street_name": null, + "post_code": null, + "city": null, + "deposit": 0, + "registration_date": "2015-08-16", + "paid_until": "2099-12-31", + "confirmed": true, + "groups": [], + "user_permissions": [] + } +}, +{ + "model": "membership.membership", + "pk": 40, + "fields": { + "password": "top_secret", + "last_login": null, + "is_superuser": false, + "username": "Min-chan", + "first_name": "Anonymous", + "last_name": "User Nr.40", + "email": "min-chan@example.kasu.at", + "is_staff": false, + "is_active": true, + "date_joined": "2015-08-16T15:38:38Z", + "gender": null, + "website": "", + "avatar": "", + "membership": true, + "birthday": null, + "telephone": null, + "street_name": null, + "post_code": null, + "city": null, + "deposit": 0, + "registration_date": "2015-08-16", + "paid_until": "2099-12-31", + "confirmed": true, + "groups": [], + "user_permissions": [] + } +}, +{ + "model": "membership.membership", + "pk": 41, + "fields": { + "password": "top_secret", + "last_login": null, + "is_superuser": false, + "username": "Shigure", + "first_name": "Anonymous", + "last_name": "User Nr.41", + "email": "shigure@example.kasu.at", + "is_staff": false, + "is_active": true, + "date_joined": "2015-08-16T15:38:44Z", + "gender": null, + "website": "", + "avatar": "", + "membership": true, + "birthday": null, + "telephone": null, + "street_name": null, + "post_code": null, + "city": null, + "deposit": 0, + "registration_date": "2015-08-16", + "paid_until": "2099-12-31", + "confirmed": true, + "groups": [], + "user_permissions": [] + } +}, +{ + "model": "membership.membership", + "pk": 42, + "fields": { + "password": "top_secret", + "last_login": null, + "is_superuser": false, + "username": "Aki", + "first_name": "Anonymous", + "last_name": "User Nr.42", + "email": "aki@example.kasu.at", + "is_staff": false, + "is_active": true, + "date_joined": "2015-08-16T15:38:49Z", + "gender": null, + "website": "", + "avatar": "", + "membership": true, + "birthday": null, + "telephone": null, + "street_name": null, + "post_code": null, + "city": null, + "deposit": 0, + "registration_date": "2015-08-16", + "paid_until": "2099-12-31", + "confirmed": true, + "groups": [], + "user_permissions": [] + } +}, +{ + "model": "membership.membership", + "pk": 43, + "fields": { + "password": "top_secret", + "last_login": null, + "is_superuser": false, + "username": "Daniel_1205", + "first_name": "Anonymous", + "last_name": "User Nr.43", + "email": "daniel_1205@example.kasu.at", + "is_staff": false, + "is_active": true, + "date_joined": "2015-08-16T15:39:01Z", + "gender": null, + "website": "", + "avatar": "", + "membership": true, + "birthday": null, + "telephone": null, + "street_name": null, + "post_code": null, + "city": null, + "deposit": 0, + "registration_date": "2015-08-16", + "paid_until": "2099-12-31", + "confirmed": true, + "groups": [], + "user_permissions": [] + } +}, +{ + "model": "membership.membership", + "pk": 44, + "fields": { + "password": "top_secret", + "last_login": null, + "is_superuser": false, + "username": "Brot", + "first_name": "Anonymous", + "last_name": "User Nr.44", + "email": "brot@example.kasu.at", + "is_staff": false, + "is_active": true, + "date_joined": "2015-08-16T15:39:07Z", + "gender": null, + "website": "", + "avatar": "", + "membership": true, + "birthday": null, + "telephone": null, + "street_name": null, + "post_code": null, + "city": null, + "deposit": 0, + "registration_date": "2015-08-16", + "paid_until": "2099-12-31", + "confirmed": true, + "groups": [], + "user_permissions": [] + } +}, +{ + "model": "membership.membership", + "pk": 45, + "fields": { + "password": "top_secret", + "last_login": null, + "is_superuser": false, + "username": "Bernhard", + "first_name": "Anonymous", + "last_name": "User Nr.45", + "email": "bernhard@example.kasu.at", + "is_staff": false, + "is_active": true, + "date_joined": "2015-08-16T15:39:17Z", + "gender": null, + "website": "", + "avatar": "", + "membership": true, + "birthday": null, + "telephone": null, + "street_name": null, + "post_code": null, + "city": null, + "deposit": 0, + "registration_date": "2015-08-16", + "paid_until": "2099-12-31", + "confirmed": true, + "groups": [], + "user_permissions": [] + } +}, +{ + "model": "membership.membership", + "pk": 46, + "fields": { + "password": "top_secret", + "last_login": null, + "is_superuser": false, + "username": "Lonpos", + "first_name": "Anonymous", + "last_name": "User Nr.46", + "email": "lonpos@example.kasu.at", + "is_staff": false, + "is_active": true, + "date_joined": "2015-08-17T16:13:38Z", + "gender": null, + "website": "", + "avatar": "", + "membership": true, + "birthday": null, + "telephone": null, + "street_name": null, + "post_code": null, + "city": null, + "deposit": 0, + "registration_date": "2015-08-17", + "paid_until": "2099-12-31", + "confirmed": true, + "groups": [], + "user_permissions": [] + } +}, +{ + "model": "membership.membership", + "pk": 47, + "fields": { + "password": "top_secret", + "last_login": null, + "is_superuser": false, + "username": "rhage", + "first_name": "Anonymous", + "last_name": "User Nr.47", + "email": "rhage@example.kasu.at", + "is_staff": false, + "is_active": true, + "date_joined": "2015-08-17T16:13:51Z", + "gender": null, + "website": "", + "avatar": "", + "membership": true, + "birthday": null, + "telephone": null, + "street_name": null, + "post_code": null, + "city": null, + "deposit": 0, + "registration_date": "2015-08-17", + "paid_until": "2099-12-31", + "confirmed": true, + "groups": [], + "user_permissions": [] + } +}, +{ + "model": "membership.membership", + "pk": 48, + "fields": { + "password": "top_secret", + "last_login": null, + "is_superuser": false, + "username": "forsti", + "first_name": "Anonymous", + "last_name": "User Nr.48", + "email": "forsti@example.kasu.at", + "is_staff": false, + "is_active": true, + "date_joined": "2015-08-17T16:14:00Z", + "gender": null, + "website": "", + "avatar": "", + "membership": true, + "birthday": null, + "telephone": null, + "street_name": null, + "post_code": null, + "city": null, + "deposit": 0, + "registration_date": "2015-08-17", + "paid_until": "2099-12-31", + "confirmed": true, + "groups": [], + "user_permissions": [] + } +}, +{ + "model": "membership.membership", + "pk": 49, + "fields": { + "password": "top_secret", + "last_login": null, + "is_superuser": false, + "username": "Gyoukou", + "first_name": "Anonymous", + "last_name": "User Nr.49", + "email": "gyoukou@example.kasu.at", + "is_staff": false, + "is_active": true, + "date_joined": "2015-08-17T17:44:53Z", + "gender": null, + "website": "", + "avatar": "", + "membership": true, + "birthday": null, + "telephone": null, + "street_name": null, + "post_code": null, + "city": null, + "deposit": 0, + "registration_date": "2015-08-17", + "paid_until": "2099-12-31", + "confirmed": true, + "groups": [], + "user_permissions": [] + } +}, +{ + "model": "membership.membership", + "pk": 50, + "fields": { + "password": "top_secret", + "last_login": null, + "is_superuser": false, + "username": "Mindmaker", + "first_name": "Anonymous", + "last_name": "User Nr.50", + "email": "mindmaker@example.kasu.at", + "is_staff": false, + "is_active": true, + "date_joined": "2015-08-20T19:25:24Z", + "gender": null, + "website": "", + "avatar": "", + "membership": true, + "birthday": null, + "telephone": null, + "street_name": null, + "post_code": null, + "city": null, + "deposit": 0, + "registration_date": "2015-08-20", + "paid_until": "2099-12-31", + "confirmed": true, + "groups": [], + "user_permissions": [] + } +}, +{ + "model": "membership.membership", + "pk": 51, + "fields": { + "password": "top_secret", + "last_login": null, + "is_superuser": false, + "username": "Traincraft", + "first_name": "Anonymous", + "last_name": "User Nr.51", + "email": "traincraft@example.kasu.at", + "is_staff": false, + "is_active": true, + "date_joined": "2015-08-22T21:20:06Z", + "gender": null, + "website": "", + "avatar": "", + "membership": true, + "birthday": null, + "telephone": null, + "street_name": null, + "post_code": null, + "city": null, + "deposit": 0, + "registration_date": "2015-08-22", + "paid_until": "2099-12-31", + "confirmed": true, + "groups": [], + "user_permissions": [] + } +}, +{ + "model": "membership.membership", + "pk": 52, + "fields": { + "password": "top_secret", + "last_login": null, + "is_superuser": false, + "username": "Tschu", + "first_name": "Anonymous", + "last_name": "User Nr.52", + "email": "tschu@example.kasu.at", + "is_staff": false, + "is_active": true, + "date_joined": "2015-09-21T09:08:04Z", + "gender": null, + "website": "", + "avatar": "", + "membership": true, + "birthday": null, + "telephone": null, + "street_name": null, + "post_code": null, + "city": null, + "deposit": 0, + "registration_date": "2015-09-21", + "paid_until": "2099-12-31", + "confirmed": true, + "groups": [], + "user_permissions": [] + } +}, +{ + "model": "membership.membership", + "pk": 53, + "fields": { + "password": "top_secret", + "last_login": null, + "is_superuser": false, + "username": "Sekishi", + "first_name": "Anonymous", + "last_name": "User Nr.53", + "email": "sekishi@example.kasu.at", + "is_staff": false, + "is_active": true, + "date_joined": "2016-01-24T21:40:53Z", + "gender": null, + "website": "", + "avatar": "", + "membership": true, + "birthday": null, + "telephone": null, + "street_name": null, + "post_code": null, + "city": null, + "deposit": 0, + "registration_date": "2016-01-24", + "paid_until": "2099-12-31", + "confirmed": true, + "groups": [], + "user_permissions": [] + } +}, +{ + "model": "membership.membership", + "pk": 54, + "fields": { + "password": "top_secret", + "last_login": null, + "is_superuser": false, + "username": "KenaiHokai", + "first_name": "Anonymous", + "last_name": "User Nr.54", + "email": "kenaihokai@example.kasu.at", + "is_staff": false, + "is_active": true, + "date_joined": "2016-02-12T10:44:29Z", + "gender": null, + "website": "", + "avatar": "", + "membership": true, + "birthday": null, + "telephone": null, + "street_name": null, + "post_code": null, + "city": null, + "deposit": 0, + "registration_date": "2016-02-12", + "paid_until": "2099-12-31", + "confirmed": true, + "groups": [], + "user_permissions": [] + } +}, +{ + "model": "membership.membership", + "pk": 55, + "fields": { + "password": "top_secret", + "last_login": null, + "is_superuser": false, + "username": "Magy", + "first_name": "Anonymous", + "last_name": "User Nr.55", + "email": "magy@example.kasu.at", + "is_staff": false, + "is_active": true, + "date_joined": "2016-02-12T12:37:44Z", + "gender": null, + "website": "", + "avatar": "", + "membership": true, + "birthday": null, + "telephone": null, + "street_name": null, + "post_code": null, + "city": null, + "deposit": 0, + "registration_date": "2016-02-12", + "paid_until": "2099-12-31", + "confirmed": true, + "groups": [], + "user_permissions": [] + } +}, +{ + "model": "membership.membership", + "pk": 56, + "fields": { + "password": "top_secret", + "last_login": null, + "is_superuser": false, + "username": "nitchevo", + "first_name": "Anonymous", + "last_name": "User Nr.56", + "email": "nitchevo@example.kasu.at", + "is_staff": false, + "is_active": true, + "date_joined": "2016-02-28T23:42:26Z", + "gender": null, + "website": "", + "avatar": "", + "membership": true, + "birthday": null, + "telephone": null, + "street_name": null, + "post_code": null, + "city": null, + "deposit": 0, + "registration_date": "2016-02-29", + "paid_until": "2099-12-31", + "confirmed": true, + "groups": [], + "user_permissions": [] + } +}, +{ + "model": "membership.membership", + "pk": 57, + "fields": { + "password": "top_secret", + "last_login": null, + "is_superuser": false, + "username": "CaptainBlackJack", + "first_name": "Anonymous", + "last_name": "User Nr.57", + "email": "captainblackjack@example.kasu.at", + "is_staff": false, + "is_active": true, + "date_joined": "2016-03-07T01:10:49Z", + "gender": null, + "website": "", + "avatar": "", + "membership": true, + "birthday": null, + "telephone": null, + "street_name": null, + "post_code": null, + "city": null, + "deposit": 0, + "registration_date": "2016-03-07", + "paid_until": "2099-12-31", + "confirmed": true, + "groups": [], + "user_permissions": [] + } +}, +{ + "model": "membership.membership", + "pk": 58, + "fields": { + "password": "top_secret", + "last_login": null, + "is_superuser": false, + "username": "Kanrim", + "first_name": "Anonymous", + "last_name": "User Nr.58", + "email": "kanrim@example.kasu.at", + "is_staff": false, + "is_active": true, + "date_joined": "2016-03-07T12:41:30Z", + "gender": null, + "website": "", + "avatar": "", + "membership": true, + "birthday": null, + "telephone": null, + "street_name": null, + "post_code": null, + "city": null, + "deposit": 0, + "registration_date": "2016-03-07", + "paid_until": "2099-12-31", + "confirmed": true, + "groups": [], + "user_permissions": [] + } +}, +{ + "model": "membership.membership", + "pk": 59, + "fields": { + "password": "top_secret", + "last_login": null, + "is_superuser": false, + "username": "Roman", + "first_name": "Anonymous", + "last_name": "User Nr.59", + "email": "roman@example.kasu.at", + "is_staff": false, + "is_active": true, + "date_joined": "2016-03-07T19:56:58Z", + "gender": null, + "website": "", + "avatar": "", + "membership": true, + "birthday": null, + "telephone": null, + "street_name": null, + "post_code": null, + "city": null, + "deposit": 0, + "registration_date": "2016-03-07", + "paid_until": "2099-12-31", + "confirmed": true, + "groups": [], + "user_permissions": [] + } +}, +{ + "model": "membership.membership", + "pk": 60, + "fields": { + "password": "top_secret", + "last_login": null, + "is_superuser": false, + "username": "daVinci", + "first_name": "Anonymous", + "last_name": "User Nr.60", + "email": "davinci@example.kasu.at", + "is_staff": false, + "is_active": true, + "date_joined": "2016-03-20T11:16:09Z", + "gender": null, + "website": "", + "avatar": "", + "membership": true, + "birthday": null, + "telephone": null, + "street_name": null, + "post_code": null, + "city": null, + "deposit": 0, + "registration_date": "2016-03-20", + "paid_until": "2099-12-31", + "confirmed": true, + "groups": [], + "user_permissions": [] + } +}, +{ + "model": "membership.membership", + "pk": 61, + "fields": { + "password": "top_secret", + "last_login": null, + "is_superuser": false, + "username": "Rookie", + "first_name": "Anonymous", + "last_name": "User Nr.61", + "email": "rookie@example.kasu.at", + "is_staff": false, + "is_active": true, + "date_joined": "2016-05-06T17:35:22Z", + "gender": null, + "website": "", + "avatar": "", + "membership": true, + "birthday": null, + "telephone": null, + "street_name": null, + "post_code": null, + "city": null, + "deposit": 0, + "registration_date": "2016-05-06", + "paid_until": "2099-12-31", + "confirmed": true, + "groups": [], + "user_permissions": [] + } +}, +{ + "model": "membership.membership", + "pk": 62, + "fields": { + "password": "top_secret", + "last_login": null, + "is_superuser": false, + "username": "Zacaroo", + "first_name": "Anonymous", + "last_name": "User Nr.62", + "email": "zacaroo@example.kasu.at", + "is_staff": false, + "is_active": true, + "date_joined": "2016-05-18T18:37:48.495Z", + "gender": null, + "website": "", + "avatar": "", + "membership": true, + "birthday": null, + "telephone": null, + "street_name": null, + "post_code": null, + "city": null, + "deposit": 0, + "registration_date": "2016-05-18", + "paid_until": "2099-12-31", + "confirmed": true, + "groups": [], + "user_permissions": [] + } +}, +{ + "model": "membership.membership", + "pk": 63, + "fields": { + "password": "top_secret", + "last_login": null, + "is_superuser": false, + "username": "Sinester", + "first_name": "Anonymous", + "last_name": "User Nr.63", + "email": "sinester@example.kasu.at", + "is_staff": false, + "is_active": true, + "date_joined": "2016-08-21T16:56:11Z", + "gender": null, + "website": "", + "avatar": "", + "membership": true, + "birthday": null, + "telephone": null, + "street_name": null, + "post_code": null, + "city": null, + "deposit": 0, + "registration_date": "2016-08-21", + "paid_until": "2099-12-31", + "confirmed": true, + "groups": [], + "user_permissions": [] + } +}, +{ + "model": "membership.membership", + "pk": 64, + "fields": { + "password": "top_secret", + "last_login": null, + "is_superuser": false, + "username": "DK", + "first_name": "Anonymous", + "last_name": "User Nr.64", + "email": "dk@example.kasu.at", + "is_staff": false, + "is_active": true, + "date_joined": "2016-08-29T19:11:04Z", + "gender": null, + "website": "", + "avatar": "", + "membership": true, + "birthday": null, + "telephone": null, + "street_name": null, + "post_code": null, + "city": null, + "deposit": 0, + "registration_date": "2016-08-29", + "paid_until": "2099-12-31", + "confirmed": true, + "groups": [], + "user_permissions": [] + } +}, +{ + "model": "membership.membership", + "pk": 65, + "fields": { + "password": "top_secret", + "last_login": null, + "is_superuser": false, + "username": "Yechengg", + "first_name": "Anonymous", + "last_name": "User Nr.65", + "email": "yechengg@example.kasu.at", + "is_staff": false, + "is_active": true, + "date_joined": "2016-09-04T19:14:48Z", + "gender": null, + "website": "", + "avatar": "", + "membership": true, + "birthday": null, + "telephone": null, + "street_name": null, + "post_code": null, + "city": null, + "deposit": 0, + "registration_date": "2016-09-04", + "paid_until": "2099-12-31", + "confirmed": true, + "groups": [], + "user_permissions": [] + } +}, +{ + "model": "membership.membership", + "pk": 66, + "fields": { + "password": "top_secret", + "last_login": null, + "is_superuser": false, + "username": "Honey", + "first_name": "Anonymous", + "last_name": "User Nr.66", + "email": "honey@example.kasu.at", + "is_staff": false, + "is_active": true, + "date_joined": "2016-09-04T21:44:48Z", + "gender": null, + "website": "", + "avatar": "", + "membership": true, + "birthday": null, + "telephone": null, + "street_name": null, + "post_code": null, + "city": null, + "deposit": 0, + "registration_date": "2016-09-04", + "paid_until": "2099-12-31", + "confirmed": true, + "groups": [], + "user_permissions": [] + } +}, +{ + "model": "membership.membership", + "pk": 69, + "fields": { + "password": "top_secret", + "last_login": null, + "is_superuser": false, + "username": "dunno", + "first_name": "Anonymous", + "last_name": "User Nr.69", + "email": "dunno@example.kasu.at", + "is_staff": false, + "is_active": true, + "date_joined": "2016-09-18T13:00:19Z", + "gender": null, + "website": "", + "avatar": "", + "membership": true, + "birthday": null, + "telephone": null, + "street_name": null, + "post_code": null, + "city": null, + "deposit": 0, + "registration_date": "2016-09-18", + "paid_until": "2099-12-31", + "confirmed": true, + "groups": [], + "user_permissions": [] + } +}, +{ + "model": "membership.membership", + "pk": 71, + "fields": { + "password": "top_secret", + "last_login": null, + "is_superuser": false, + "username": "Dave", + "first_name": "Anonymous", + "last_name": "User Nr.71", + "email": "dave@example.kasu.at", + "is_staff": false, + "is_active": true, + "date_joined": "2016-09-30T10:59:05Z", + "gender": null, + "website": "", + "avatar": "", + "membership": true, + "birthday": null, + "telephone": null, + "street_name": null, + "post_code": null, + "city": null, + "deposit": 0, + "registration_date": "2016-09-30", + "paid_until": "2099-12-31", + "confirmed": true, + "groups": [], + "user_permissions": [] + } +}, +{ + "model": "membership.membership", + "pk": 72, + "fields": { + "password": "top_secret", + "last_login": null, + "is_superuser": false, + "username": "Glitch", + "first_name": "Anonymous", + "last_name": "User Nr.72", + "email": "glitch@example.kasu.at", + "is_staff": false, + "is_active": true, + "date_joined": "2016-11-27T17:35:43Z", + "gender": null, + "website": "", + "avatar": "", + "membership": true, + "birthday": null, + "telephone": null, + "street_name": null, + "post_code": null, + "city": null, + "deposit": 0, + "registration_date": "2016-11-27", + "paid_until": "2099-12-31", + "confirmed": true, + "groups": [], + "user_permissions": [] + } +}, +{ + "model": "membership.membership", + "pk": 73, + "fields": { + "password": "top_secret", + "last_login": null, + "is_superuser": false, + "username": "Froschkoenig", + "first_name": "Anonymous", + "last_name": "User Nr.73", + "email": "froschkoenig@example.kasu.at", + "is_staff": false, + "is_active": true, + "date_joined": "2017-01-01T21:17:37Z", + "gender": null, + "website": "", + "avatar": "", + "membership": true, + "birthday": null, + "telephone": null, + "street_name": null, + "post_code": null, + "city": null, + "deposit": 0, + "registration_date": "2017-01-01", + "paid_until": "2099-12-31", + "confirmed": true, + "groups": [], + "user_permissions": [] + } +}, +{ + "model": "membership.membership", + "pk": 74, + "fields": { + "password": "top_secret", + "last_login": null, + "is_superuser": false, + "username": "Xhy", + "first_name": "Anonymous", + "last_name": "User Nr.74", + "email": "xhy@example.kasu.at", + "is_staff": false, + "is_active": true, + "date_joined": "2017-01-13T19:10:28.715Z", + "gender": null, + "website": "", + "avatar": "", + "membership": true, + "birthday": null, + "telephone": null, + "street_name": null, + "post_code": null, + "city": null, + "deposit": 0, + "registration_date": "2017-01-13", + "paid_until": "2099-12-31", + "confirmed": true, + "groups": [], + "user_permissions": [] + } +}, +{ + "model": "membership.membership", + "pk": 75, + "fields": { + "password": "top_secret", + "last_login": null, + "is_superuser": false, + "username": "CaroUchiha", + "first_name": "Anonymous", + "last_name": "User Nr.75", + "email": "carouchiha@example.kasu.at", + "is_staff": false, + "is_active": true, + "date_joined": "2017-01-13T20:14:31Z", + "gender": null, + "website": "", + "avatar": "", + "membership": true, + "birthday": null, + "telephone": null, + "street_name": null, + "post_code": null, + "city": null, + "deposit": 0, + "registration_date": "2017-01-13", + "paid_until": "2099-12-31", + "confirmed": true, + "groups": [], + "user_permissions": [] + } +}, +{ + "model": "membership.membership", + "pk": 76, + "fields": { + "password": "top_secret", + "last_login": null, + "is_superuser": false, + "username": "zaphod82", + "first_name": "Anonymous", + "last_name": "User Nr.76", + "email": "zaphod82@example.kasu.at", + "is_staff": false, + "is_active": true, + "date_joined": "2017-01-19T10:02:37Z", + "gender": null, + "website": "", + "avatar": "", + "membership": true, + "birthday": null, + "telephone": null, + "street_name": null, + "post_code": null, + "city": null, + "deposit": 0, + "registration_date": "2017-01-19", + "paid_until": "2099-12-31", + "confirmed": true, + "groups": [], + "user_permissions": [] + } +}, +{ + "model": "membership.membership", + "pk": 77, + "fields": { + "password": "top_secret", + "last_login": null, + "is_superuser": false, + "username": "Danny", + "first_name": "Anonymous", + "last_name": "User Nr.77", + "email": "danny@example.kasu.at", + "is_staff": false, + "is_active": true, + "date_joined": "2017-01-22T10:54:03.153Z", + "gender": null, + "website": "", + "avatar": "", + "membership": true, + "birthday": null, + "telephone": null, + "street_name": null, + "post_code": null, + "city": null, + "deposit": 0, + "registration_date": "2017-01-22", + "paid_until": "2099-12-31", + "confirmed": true, + "groups": [], + "user_permissions": [] + } +}, +{ + "model": "membership.membership", + "pk": 79, + "fields": { + "password": "top_secret", + "last_login": null, + "is_superuser": false, + "username": "Luc", + "first_name": "Anonymous", + "last_name": "User Nr.79", + "email": "luc@example.kasu.at", + "is_staff": false, + "is_active": true, + "date_joined": "2017-02-19T23:36:56.647Z", + "gender": null, + "website": "", + "avatar": "", + "membership": true, + "birthday": null, + "telephone": null, + "street_name": null, + "post_code": null, + "city": null, + "deposit": 0, + "registration_date": "2017-02-20", + "paid_until": "2099-12-31", + "confirmed": true, + "groups": [], + "user_permissions": [] + } +}, +{ + "model": "membership.membership", + "pk": 81, + "fields": { + "password": "top_secret", + "last_login": null, + "is_superuser": false, + "username": "Neco", + "first_name": "Anonymous", + "last_name": "User Nr.81", + "email": "neco@example.kasu.at", + "is_staff": false, + "is_active": true, + "date_joined": "2017-04-02T20:48:00.577Z", + "gender": null, + "website": "", + "avatar": "", + "membership": true, + "birthday": null, + "telephone": null, + "street_name": null, + "post_code": null, + "city": null, + "deposit": 0, + "registration_date": "2017-04-02", + "paid_until": "2099-12-31", + "confirmed": true, + "groups": [], + "user_permissions": [] + } +}, +{ + "model": "membership.membership", + "pk": 82, + "fields": { + "password": "top_secret", + "last_login": null, + "is_superuser": false, + "username": "maxiking", + "first_name": "Anonymous", + "last_name": "User Nr.82", + "email": "maxiking@example.kasu.at", + "is_staff": false, + "is_active": true, + "date_joined": "2017-05-26T17:09:23.132Z", + "gender": null, + "website": "", + "avatar": "", + "membership": true, + "birthday": null, + "telephone": null, + "street_name": null, + "post_code": null, + "city": null, + "deposit": 0, + "registration_date": "2017-05-26", + "paid_until": "2099-12-31", + "confirmed": true, + "groups": [], + "user_permissions": [] + } +} +] diff --git a/sync.sh b/sync.sh deleted file mode 100755 index 97bba86..0000000 --- a/sync.sh +++ /dev/null @@ -1,23 +0,0 @@ -#!/bin/bash - -SSH_LOGIN="kasu@s21.wservices.ch" -SYNC_ASSESTS="requirements templates" -SYNC_SOURCECODE="src" -EXCLUDE_FILES="*.pyc" - -grunt - -echo "Syncing project assets ..." -rsync -r --copy-links --delete $SYNC_ASSESTS $SSH_LOGIN:~/ - -echo "Installing dependecies" -ssh $SSH_LOGIN "virtualenv/bin/pip install --upgrade -r requirements/base.txt" - -echo "Syncing Sourcecode ..." -find . -name "*.pyc" -exec rm -rf {} \; -rsync -r --copy-links --delete $SYNC_SOURCECODE $SSH_LOGIN:~/ --exclude 'src/kasu/local_settings.py' - -echo "Rebuild and reload django..." -ssh $SSH_LOGIN "rm src/kasu/settings/development.*" -ssh $SSH_LOGIN "virtualenv/bin/python ~/src/manage.py collectstatic -l --noinput -v1" -ssh $SSH_LOGIN "~/init/kasu restart"