all(minor): remove old, unused code
This commit is contained in:
		| @ -1,88 +0,0 @@ | |||||||
| """passbook Core Reflection templatetags Templatetag""" |  | ||||||
| from django import template |  | ||||||
| from structlog import get_logger |  | ||||||
|  |  | ||||||
| register = template.Library() |  | ||||||
| LOGGER = get_logger() |  | ||||||
|  |  | ||||||
|  |  | ||||||
| def get_key_unique(context): |  | ||||||
|     """Get a unique key for cache based on user""" |  | ||||||
|     uniq = '' |  | ||||||
|     if 'request' in context: |  | ||||||
|         user = context.get('request').user |  | ||||||
|         if user.is_authenticated: |  | ||||||
|             uniq = context.get('request').user.email |  | ||||||
|         else: |  | ||||||
|             # This should never be reached as modlist requires admin rights |  | ||||||
|             uniq = 'anon'  # pragma: no cover |  | ||||||
|     return uniq |  | ||||||
|  |  | ||||||
| # @register.simple_tag(takes_context=True) |  | ||||||
| # def sv_reflection_admin_modules(context): |  | ||||||
| #     """Get a list of all modules and their admin page""" |  | ||||||
| #     key = 'sv_reflection_admin_modules_%s' % get_key_unique(context) |  | ||||||
| #     if not cache.get(key): |  | ||||||
| #         view_list = [] |  | ||||||
| #         for app in get_apps(): |  | ||||||
| #             title = app.title_modifier(context.request) |  | ||||||
| #             url = app.admin_url_name |  | ||||||
| #             view_list.append({ |  | ||||||
| #                 'url': url, |  | ||||||
| #                 'default': True if url == SupervisrAppConfig.admin_url_name else False, |  | ||||||
| #                 'name': title, |  | ||||||
| #             }) |  | ||||||
| #         sorted_list = sorted(view_list, key=lambda x: x.get('name')) |  | ||||||
| #         cache.set(key, sorted_list, 1000) |  | ||||||
| #         return sorted_list |  | ||||||
| #     return cache.get(key)  # pragma: no cover |  | ||||||
|  |  | ||||||
|  |  | ||||||
| # @register.simple_tag(takes_context=True) |  | ||||||
| # def sv_reflection_user_modules(context): |  | ||||||
| #     """Get a list of modules that have custom user settings""" |  | ||||||
| #     key = 'sv_reflection_user_modules_%s' % get_key_unique(context) |  | ||||||
| #     if not cache.get(key): |  | ||||||
| #         app_list = [] |  | ||||||
| #         for app in get_apps(): |  | ||||||
| #             if not app.name.startswith('supervisr.mod'): |  | ||||||
| #                 continue |  | ||||||
| #             view = app.view_user_settings |  | ||||||
| #             if view is not None: |  | ||||||
| #                 app_list.append({ |  | ||||||
| #                     'title': app.title_modifier(context.request), |  | ||||||
| #                     'view': '%s:%s' % (app.label, view) |  | ||||||
| #                 }) |  | ||||||
| #         sorted_list = sorted(app_list, key=lambda x: x.get('title')) |  | ||||||
| #         cache.set(key, sorted_list, 1000) |  | ||||||
| #         return sorted_list |  | ||||||
| #     return cache.get(key)  # pragma: no cover |  | ||||||
|  |  | ||||||
|  |  | ||||||
| # @register.simple_tag(takes_context=True) |  | ||||||
| # def sv_reflection_navbar_modules(context): |  | ||||||
| #     """Get a list of subapps for the navbar""" |  | ||||||
| #     key = 'sv_reflection_navbar_modules_%s' % get_key_unique(context) |  | ||||||
| #     if not cache.get(key): |  | ||||||
| #         app_list = [] |  | ||||||
| #         for app in get_apps(): |  | ||||||
| #             LOGGER.debug("Considering %s for Navbar", app.label) |  | ||||||
| #             title = app.title_modifier(context.request) |  | ||||||
| #             if app.navbar_enabled(context.request): |  | ||||||
| #                 index = getattr(app, 'index', None) |  | ||||||
| #                 if not index: |  | ||||||
| #                     index = '%s:index' % app.label |  | ||||||
| #                 try: |  | ||||||
| #                     reverse(index) |  | ||||||
| #                     LOGGER.debug("Module %s made it with '%s'", app.name, index) |  | ||||||
| #                     app_list.append({ |  | ||||||
| #                         'label': app.label, |  | ||||||
| #                         'title': title, |  | ||||||
| #                         'index': index |  | ||||||
| #                     }) |  | ||||||
| #                 except NoReverseMatch: |  | ||||||
| #                     LOGGER.debug("View '%s' not reversable, ignoring %s", index, app.name) |  | ||||||
| #         sorted_list = sorted(app_list, key=lambda x: x.get('label')) |  | ||||||
| #         cache.set(key, sorted_list, 1000) |  | ||||||
| #         return sorted_list |  | ||||||
| #     return cache.get(key)  # pragma: no cover |  | ||||||
| @ -1,22 +1,14 @@ | |||||||
| """passbook lib Templatetags""" | """passbook lib Templatetags""" | ||||||
| import glob |  | ||||||
| import os |  | ||||||
| import socket |  | ||||||
| from hashlib import md5 | from hashlib import md5 | ||||||
| from importlib import import_module | from urllib.parse import urlencode | ||||||
| from urllib.parse import urlencode, urljoin |  | ||||||
|  |  | ||||||
| from django import template | from django import template | ||||||
| from django.apps import apps | from django.apps import apps | ||||||
| from django.conf import settings |  | ||||||
| from django.db.models import Model | from django.db.models import Model | ||||||
| from django.template.loaders.app_directories import get_app_template_dirs |  | ||||||
| from django.urls import reverse |  | ||||||
| from django.utils.html import escape | from django.utils.html import escape | ||||||
| from django.utils.translation import ugettext as _ | from django.utils.translation import ugettext as _ | ||||||
|  |  | ||||||
| from passbook.lib.config import CONFIG | from passbook.lib.config import CONFIG | ||||||
| from passbook.lib.utils.reflection import path_to_class |  | ||||||
| from passbook.lib.utils.urls import is_url_absolute | from passbook.lib.utils.urls import is_url_absolute | ||||||
|  |  | ||||||
| register = template.Library() | register = template.Library() | ||||||
| @ -48,34 +40,6 @@ def fieldtype(field): | |||||||
|     return field.__class__.__name__ |     return field.__class__.__name__ | ||||||
|  |  | ||||||
|  |  | ||||||
| @register.simple_tag |  | ||||||
| def setting(key, default=''): |  | ||||||
|     """Returns a setting from the settings.py file. If Key is blocked, return default""" |  | ||||||
|     return getattr(settings, key, default) |  | ||||||
|  |  | ||||||
|  |  | ||||||
| @register.simple_tag |  | ||||||
| def hostname(): |  | ||||||
|     """Return the current Host's short hostname""" |  | ||||||
|     return socket.gethostname() |  | ||||||
|  |  | ||||||
|  |  | ||||||
| @register.simple_tag |  | ||||||
| def fqdn(): |  | ||||||
|     """Return the current Host's FQDN.""" |  | ||||||
|     return socket.getfqdn() |  | ||||||
|  |  | ||||||
|  |  | ||||||
| @register.filter('pick') |  | ||||||
| def pick(cont, arg, fallback=''): |  | ||||||
|     """Iterate through arg and return first choice which is not None""" |  | ||||||
|     choices = arg.split(',') |  | ||||||
|     for choice in choices: |  | ||||||
|         if choice in cont and cont[choice] is not None: |  | ||||||
|             return cont[choice] |  | ||||||
|     return fallback |  | ||||||
|  |  | ||||||
|  |  | ||||||
| @register.simple_tag(takes_context=True) | @register.simple_tag(takes_context=True) | ||||||
| def title(context, *title): | def title(context, *title): | ||||||
|     """Return either just branding or title - branding""" |     """Return either just branding or title - branding""" | ||||||
| @ -106,81 +70,12 @@ def config(path, default=''): | |||||||
|     return CONFIG.y(path, default) |     return CONFIG.y(path, default) | ||||||
|  |  | ||||||
|  |  | ||||||
| @register.simple_tag() |  | ||||||
| def media(*args): |  | ||||||
|     """Iterate through arg and return full media URL""" |  | ||||||
|     urls = [] |  | ||||||
|     for arg in args: |  | ||||||
|         urls.append(urljoin(settings.MEDIA_URL, str(arg))) |  | ||||||
|     if len(urls) == 1: |  | ||||||
|         return urls[0] |  | ||||||
|     return urls |  | ||||||
|  |  | ||||||
|  |  | ||||||
| @register.simple_tag |  | ||||||
| def url_unpack(view, kwargs): |  | ||||||
|     """Reverses a URL with kwargs which are stored in a dict""" |  | ||||||
|     return reverse(view, kwargs=kwargs) |  | ||||||
|  |  | ||||||
|  |  | ||||||
| @register.simple_tag |  | ||||||
| def template_wildcard(*args): |  | ||||||
|     """Return a list of all templates in dir""" |  | ||||||
|     templates = [] |  | ||||||
|     for tmpl_dir in args: |  | ||||||
|         for app_templates in get_app_template_dirs('templates'): |  | ||||||
|             path = os.path.join(app_templates, tmpl_dir) |  | ||||||
|             if os.path.isdir(path): |  | ||||||
|                 files = sorted(glob.glob(path + '*.html')) |  | ||||||
|                 for file in files: |  | ||||||
|                     templates.append(os.path.relpath(file, start=app_templates)) |  | ||||||
|     return templates |  | ||||||
|  |  | ||||||
|  |  | ||||||
| @register.simple_tag(takes_context=True) |  | ||||||
| def related_models(context, model_path): |  | ||||||
|     """Return list of models which have a Relationship to current user""" |  | ||||||
|  |  | ||||||
|     request = context.get('request', None) |  | ||||||
|     if not request: |  | ||||||
|         # No Request -> no user -> return empty |  | ||||||
|         return [] |  | ||||||
|     user = request.user |  | ||||||
|  |  | ||||||
|     model = path_to_class(model_path) |  | ||||||
|     # if not issubclass(model, UserAcquirable): |  | ||||||
|     #     # model_path is not actually a module |  | ||||||
|     #     # so we can't assume that it's usable |  | ||||||
|     #     return [] |  | ||||||
|  |  | ||||||
|     return model.objects.filter(users__in=[user]) |  | ||||||
|  |  | ||||||
|  |  | ||||||
| @register.filter('unslug') |  | ||||||
| def unslug(_input): |  | ||||||
|     """Convert slugs back into normal strings""" |  | ||||||
|     return _input.replace('-', ' ').replace('_', ' ') |  | ||||||
|  |  | ||||||
|  |  | ||||||
| @register.filter(name='css_class') | @register.filter(name='css_class') | ||||||
| def css_class(field, css): | def css_class(field, css): | ||||||
|     """Add css class to form field""" |     """Add css class to form field""" | ||||||
|     return field.as_widget(attrs={"class": css}) |     return field.as_widget(attrs={"class": css}) | ||||||
|  |  | ||||||
|  |  | ||||||
| @register.simple_tag |  | ||||||
| def app_versions(): |  | ||||||
|     """Return dictionary of app_name: version""" |  | ||||||
|     app_versions = {} |  | ||||||
|     for app in apps.get_app_configs(): |  | ||||||
|         ver_module = import_module(app.name) |  | ||||||
|         ver = getattr(ver_module, '__version__', None) |  | ||||||
|         if ver: |  | ||||||
|             if not isinstance(ver, str): |  | ||||||
|                 ver = '.'.join([str(x) for x in ver]) |  | ||||||
|             app_versions[app.verbose_name] = ver |  | ||||||
|     return app_versions |  | ||||||
|  |  | ||||||
| @register.simple_tag | @register.simple_tag | ||||||
| def gravatar(email, size=None, rating=None): | def gravatar(email, size=None, rating=None): | ||||||
|     """ |     """ | ||||||
|  | |||||||
| @ -1,70 +0,0 @@ | |||||||
| # SOME DESCRIPTIVE TITLE. |  | ||||||
| # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER |  | ||||||
| # This file is distributed under the same license as the PACKAGE package. |  | ||||||
| # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. |  | ||||||
| # |  | ||||||
| #, fuzzy |  | ||||||
| msgid "" |  | ||||||
| msgstr "" |  | ||||||
| "Project-Id-Version: PACKAGE VERSION\n" |  | ||||||
| "Report-Msgid-Bugs-To: \n" |  | ||||||
| "POT-Creation-Date: 2018-08-16 18:05+0000\n" |  | ||||||
| "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" |  | ||||||
| "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" |  | ||||||
| "Language-Team: LANGUAGE <LL@li.org>\n" |  | ||||||
| "Language: \n" |  | ||||||
| "MIME-Version: 1.0\n" |  | ||||||
| "Content-Type: text/plain; charset=UTF-8\n" |  | ||||||
| "Content-Transfer-Encoding: 8bit\n" |  | ||||||
| "Plural-Forms: nplurals=2; plural=(n != 1);\n" |  | ||||||
|  |  | ||||||
| #: templates/oauth2_provider/authorize.html:18 |  | ||||||
| msgid "SSO - Authorize External Source" |  | ||||||
| msgstr "" |  | ||||||
|  |  | ||||||
| #: templates/oauth2_provider/authorize.html:29 |  | ||||||
| #, python-format |  | ||||||
| msgid "" |  | ||||||
| "\n" |  | ||||||
| "                You're about to sign into %(remote)s\n" |  | ||||||
| "                " |  | ||||||
| msgstr "" |  | ||||||
|  |  | ||||||
| #: templates/oauth2_provider/authorize.html:33 |  | ||||||
| msgid "Application requires following permissions" |  | ||||||
| msgstr "" |  | ||||||
|  |  | ||||||
| #: templates/oauth2_provider/authorize.html:42 |  | ||||||
| #, python-format |  | ||||||
| msgid "" |  | ||||||
| "\n" |  | ||||||
| "                You are logged in as %(user)s. Not you?\n" |  | ||||||
| "                " |  | ||||||
| msgstr "" |  | ||||||
|  |  | ||||||
| #: templates/oauth2_provider/authorize.html:45 |  | ||||||
| msgid "Logout" |  | ||||||
| msgstr "" |  | ||||||
|  |  | ||||||
| #: templates/oauth2_provider/authorize.html:49 |  | ||||||
| msgid "Continue" |  | ||||||
| msgstr "" |  | ||||||
|  |  | ||||||
| #: templates/oauth2_provider/authorize.html:52 |  | ||||||
| msgid "Cancel" |  | ||||||
| msgstr "" |  | ||||||
|  |  | ||||||
| #: templates/oauth2_provider/authorize.html:59 |  | ||||||
| #, python-format |  | ||||||
| msgid "Error: %(err)s" |  | ||||||
| msgstr "" |  | ||||||
|  |  | ||||||
| #: views/oauth2.py:49 |  | ||||||
| #, python-format |  | ||||||
| msgid "You authenticated %s (via OAuth) (skipped Authz)" |  | ||||||
| msgstr "" |  | ||||||
|  |  | ||||||
| #: views/oauth2.py:62 |  | ||||||
| #, python-format |  | ||||||
| msgid "You authenticated %s (via OAuth)" |  | ||||||
| msgstr "" |  | ||||||
| @ -1,69 +0,0 @@ | |||||||
| # SOME DESCRIPTIVE TITLE. |  | ||||||
| # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER |  | ||||||
| # This file is distributed under the same license as the PACKAGE package. |  | ||||||
| # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. |  | ||||||
| # |  | ||||||
| #, fuzzy |  | ||||||
| msgid "" |  | ||||||
| msgstr "" |  | ||||||
| "Project-Id-Version: PACKAGE VERSION\n" |  | ||||||
| "Report-Msgid-Bugs-To: \n" |  | ||||||
| "POT-Creation-Date: 2018-08-20 10:47+0000\n" |  | ||||||
| "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" |  | ||||||
| "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" |  | ||||||
| "Language-Team: LANGUAGE <LL@li.org>\n" |  | ||||||
| "Language: \n" |  | ||||||
| "MIME-Version: 1.0\n" |  | ||||||
| "Content-Type: text/plain; charset=UTF-8\n" |  | ||||||
| "Content-Transfer-Encoding: 8bit\n" |  | ||||||
|  |  | ||||||
| #: templates/oauth2_provider/authorize.html:18 |  | ||||||
| msgid "SSO - Authorize External Source" |  | ||||||
| msgstr "" |  | ||||||
|  |  | ||||||
| #: templates/oauth2_provider/authorize.html:29 |  | ||||||
| #, python-format |  | ||||||
| msgid "" |  | ||||||
| "\n" |  | ||||||
| "                You're about to sign into %(remote)s\n" |  | ||||||
| "                " |  | ||||||
| msgstr "" |  | ||||||
|  |  | ||||||
| #: templates/oauth2_provider/authorize.html:33 |  | ||||||
| msgid "Application requires following permissions" |  | ||||||
| msgstr "" |  | ||||||
|  |  | ||||||
| #: templates/oauth2_provider/authorize.html:42 |  | ||||||
| #, python-format |  | ||||||
| msgid "" |  | ||||||
| "\n" |  | ||||||
| "                You are logged in as %(user)s. Not you?\n" |  | ||||||
| "                " |  | ||||||
| msgstr "" |  | ||||||
|  |  | ||||||
| #: templates/oauth2_provider/authorize.html:45 |  | ||||||
| msgid "Logout" |  | ||||||
| msgstr "" |  | ||||||
|  |  | ||||||
| #: templates/oauth2_provider/authorize.html:49 |  | ||||||
| msgid "Continue" |  | ||||||
| msgstr "" |  | ||||||
|  |  | ||||||
| #: templates/oauth2_provider/authorize.html:52 |  | ||||||
| msgid "Cancel" |  | ||||||
| msgstr "" |  | ||||||
|  |  | ||||||
| #: templates/oauth2_provider/authorize.html:59 |  | ||||||
| #, python-format |  | ||||||
| msgid "Error: %(err)s" |  | ||||||
| msgstr "" |  | ||||||
|  |  | ||||||
| #: views/oauth2.py:49 |  | ||||||
| #, python-format |  | ||||||
| msgid "You authenticated %s (via OAuth) (skipped Authz)" |  | ||||||
| msgstr "" |  | ||||||
|  |  | ||||||
| #: views/oauth2.py:62 |  | ||||||
| #, python-format |  | ||||||
| msgid "You authenticated %s (via OAuth)" |  | ||||||
| msgstr "" |  | ||||||
| @ -1,70 +0,0 @@ | |||||||
| # SOME DESCRIPTIVE TITLE. |  | ||||||
| # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER |  | ||||||
| # This file is distributed under the same license as the PACKAGE package. |  | ||||||
| # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. |  | ||||||
| # |  | ||||||
| #, fuzzy |  | ||||||
| msgid "" |  | ||||||
| msgstr "" |  | ||||||
| "Project-Id-Version: PACKAGE VERSION\n" |  | ||||||
| "Report-Msgid-Bugs-To: \n" |  | ||||||
| "POT-Creation-Date: 2018-08-16 18:05+0000\n" |  | ||||||
| "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" |  | ||||||
| "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" |  | ||||||
| "Language-Team: LANGUAGE <LL@li.org>\n" |  | ||||||
| "Language: \n" |  | ||||||
| "MIME-Version: 1.0\n" |  | ||||||
| "Content-Type: text/plain; charset=UTF-8\n" |  | ||||||
| "Content-Transfer-Encoding: 8bit\n" |  | ||||||
| "Plural-Forms: nplurals=2; plural=(n != 1);\n" |  | ||||||
|  |  | ||||||
| #: templates/oauth2_provider/authorize.html:18 |  | ||||||
| msgid "SSO - Authorize External Source" |  | ||||||
| msgstr "" |  | ||||||
|  |  | ||||||
| #: templates/oauth2_provider/authorize.html:29 |  | ||||||
| #, python-format |  | ||||||
| msgid "" |  | ||||||
| "\n" |  | ||||||
| "                You're about to sign into %(remote)s\n" |  | ||||||
| "                " |  | ||||||
| msgstr "" |  | ||||||
|  |  | ||||||
| #: templates/oauth2_provider/authorize.html:33 |  | ||||||
| msgid "Application requires following permissions" |  | ||||||
| msgstr "" |  | ||||||
|  |  | ||||||
| #: templates/oauth2_provider/authorize.html:42 |  | ||||||
| #, python-format |  | ||||||
| msgid "" |  | ||||||
| "\n" |  | ||||||
| "                You are logged in as %(user)s. Not you?\n" |  | ||||||
| "                " |  | ||||||
| msgstr "" |  | ||||||
|  |  | ||||||
| #: templates/oauth2_provider/authorize.html:45 |  | ||||||
| msgid "Logout" |  | ||||||
| msgstr "" |  | ||||||
|  |  | ||||||
| #: templates/oauth2_provider/authorize.html:49 |  | ||||||
| msgid "Continue" |  | ||||||
| msgstr "" |  | ||||||
|  |  | ||||||
| #: templates/oauth2_provider/authorize.html:52 |  | ||||||
| msgid "Cancel" |  | ||||||
| msgstr "" |  | ||||||
|  |  | ||||||
| #: templates/oauth2_provider/authorize.html:59 |  | ||||||
| #, python-format |  | ||||||
| msgid "Error: %(err)s" |  | ||||||
| msgstr "" |  | ||||||
|  |  | ||||||
| #: views/oauth2.py:49 |  | ||||||
| #, python-format |  | ||||||
| msgid "You authenticated %s (via OAuth) (skipped Authz)" |  | ||||||
| msgstr "" |  | ||||||
|  |  | ||||||
| #: views/oauth2.py:62 |  | ||||||
| #, python-format |  | ||||||
| msgid "You authenticated %s (via OAuth)" |  | ||||||
| msgstr "" |  | ||||||
| @ -1,70 +0,0 @@ | |||||||
| # SOME DESCRIPTIVE TITLE. |  | ||||||
| # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER |  | ||||||
| # This file is distributed under the same license as the PACKAGE package. |  | ||||||
| # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. |  | ||||||
| # |  | ||||||
| #, fuzzy |  | ||||||
| msgid "" |  | ||||||
| msgstr "" |  | ||||||
| "Project-Id-Version: PACKAGE VERSION\n" |  | ||||||
| "Report-Msgid-Bugs-To: \n" |  | ||||||
| "POT-Creation-Date: 2018-08-16 18:05+0000\n" |  | ||||||
| "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" |  | ||||||
| "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" |  | ||||||
| "Language-Team: LANGUAGE <LL@li.org>\n" |  | ||||||
| "Language: \n" |  | ||||||
| "MIME-Version: 1.0\n" |  | ||||||
| "Content-Type: text/plain; charset=UTF-8\n" |  | ||||||
| "Content-Transfer-Encoding: 8bit\n" |  | ||||||
| "Plural-Forms: nplurals=2; plural=(n > 1);\n" |  | ||||||
|  |  | ||||||
| #: templates/oauth2_provider/authorize.html:18 |  | ||||||
| msgid "SSO - Authorize External Source" |  | ||||||
| msgstr "" |  | ||||||
|  |  | ||||||
| #: templates/oauth2_provider/authorize.html:29 |  | ||||||
| #, python-format |  | ||||||
| msgid "" |  | ||||||
| "\n" |  | ||||||
| "                You're about to sign into %(remote)s\n" |  | ||||||
| "                " |  | ||||||
| msgstr "" |  | ||||||
|  |  | ||||||
| #: templates/oauth2_provider/authorize.html:33 |  | ||||||
| msgid "Application requires following permissions" |  | ||||||
| msgstr "" |  | ||||||
|  |  | ||||||
| #: templates/oauth2_provider/authorize.html:42 |  | ||||||
| #, python-format |  | ||||||
| msgid "" |  | ||||||
| "\n" |  | ||||||
| "                You are logged in as %(user)s. Not you?\n" |  | ||||||
| "                " |  | ||||||
| msgstr "" |  | ||||||
|  |  | ||||||
| #: templates/oauth2_provider/authorize.html:45 |  | ||||||
| msgid "Logout" |  | ||||||
| msgstr "" |  | ||||||
|  |  | ||||||
| #: templates/oauth2_provider/authorize.html:49 |  | ||||||
| msgid "Continue" |  | ||||||
| msgstr "" |  | ||||||
|  |  | ||||||
| #: templates/oauth2_provider/authorize.html:52 |  | ||||||
| msgid "Cancel" |  | ||||||
| msgstr "" |  | ||||||
|  |  | ||||||
| #: templates/oauth2_provider/authorize.html:59 |  | ||||||
| #, python-format |  | ||||||
| msgid "Error: %(err)s" |  | ||||||
| msgstr "" |  | ||||||
|  |  | ||||||
| #: views/oauth2.py:49 |  | ||||||
| #, python-format |  | ||||||
| msgid "You authenticated %s (via OAuth) (skipped Authz)" |  | ||||||
| msgstr "" |  | ||||||
|  |  | ||||||
| #: views/oauth2.py:62 |  | ||||||
| #, python-format |  | ||||||
| msgid "You authenticated %s (via OAuth)" |  | ||||||
| msgstr "" |  | ||||||
| @ -108,13 +108,6 @@ GUARDIAN_MONKEY_PATCH = False | |||||||
|  |  | ||||||
| SWAGGER_SETTINGS = { | SWAGGER_SETTINGS = { | ||||||
|     'DEFAULT_INFO': 'passbook.api.v2.urls.info', |     'DEFAULT_INFO': 'passbook.api.v2.urls.info', | ||||||
|     # 'SECURITY_DEFINITIONS': { |  | ||||||
|     #     'JWT': { |  | ||||||
|     #         'type': 'apiKey', |  | ||||||
|     #         'name': 'Authorization', |  | ||||||
|     #         'in': 'header' |  | ||||||
|     #     } |  | ||||||
|     # } |  | ||||||
| } | } | ||||||
|  |  | ||||||
| REST_FRAMEWORK = { | REST_FRAMEWORK = { | ||||||
|  | |||||||
| @ -1,80 +0,0 @@ | |||||||
| # SOME DESCRIPTIVE TITLE. |  | ||||||
| # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER |  | ||||||
| # This file is distributed under the same license as the PACKAGE package. |  | ||||||
| # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. |  | ||||||
| # |  | ||||||
| #, fuzzy |  | ||||||
| msgid "" |  | ||||||
| msgstr "" |  | ||||||
| "Project-Id-Version: PACKAGE VERSION\n" |  | ||||||
| "Report-Msgid-Bugs-To: \n" |  | ||||||
| "POT-Creation-Date: 2018-08-16 18:05+0000\n" |  | ||||||
| "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" |  | ||||||
| "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" |  | ||||||
| "Language-Team: LANGUAGE <LL@li.org>\n" |  | ||||||
| "Language: \n" |  | ||||||
| "MIME-Version: 1.0\n" |  | ||||||
| "Content-Type: text/plain; charset=UTF-8\n" |  | ||||||
| "Content-Transfer-Encoding: 8bit\n" |  | ||||||
| "Plural-Forms: nplurals=2; plural=(n != 1);\n" |  | ||||||
|  |  | ||||||
| #: templates/mod/auth/oauth/client/settings.html:11 |  | ||||||
| msgid "OAuth2" |  | ||||||
| msgstr "" |  | ||||||
|  |  | ||||||
| #: templates/mod/auth/oauth/client/settings.html:16 |  | ||||||
| msgid "Connected Accounts" |  | ||||||
| msgstr "" |  | ||||||
|  |  | ||||||
| #: templates/mod/auth/oauth/client/settings.html:23 |  | ||||||
| msgid "Provider" |  | ||||||
| msgstr "" |  | ||||||
|  |  | ||||||
| #: templates/mod/auth/oauth/client/settings.html:24 |  | ||||||
| msgid "Status" |  | ||||||
| msgstr "" |  | ||||||
|  |  | ||||||
| #: templates/mod/auth/oauth/client/settings.html:25 |  | ||||||
| msgid "Action" |  | ||||||
| msgstr "" |  | ||||||
|  |  | ||||||
| #: templates/mod/auth/oauth/client/settings.html:26 |  | ||||||
| msgid "ID" |  | ||||||
| msgstr "" |  | ||||||
|  |  | ||||||
| #: templates/mod/auth/oauth/client/settings.html:48 |  | ||||||
| msgid "No Providers configured!" |  | ||||||
| msgstr "" |  | ||||||
|  |  | ||||||
| #: views/core.py:126 |  | ||||||
| #, python-format |  | ||||||
| msgid "Provider %(name)s didn't provide an E-Mail address." |  | ||||||
| msgstr "" |  | ||||||
|  |  | ||||||
| #: views/core.py:184 views/core.py:225 |  | ||||||
| #, python-format |  | ||||||
| msgid "Successfully authenticated with %(provider)s!" |  | ||||||
| msgstr "" |  | ||||||
|  |  | ||||||
| #: views/core.py:192 |  | ||||||
| msgid "Authentication Failed." |  | ||||||
| msgstr "" |  | ||||||
|  |  | ||||||
| #: views/core.py:204 |  | ||||||
| #, python-format |  | ||||||
| msgid "Linked user with OAuth Provider %s" |  | ||||||
| msgstr "" |  | ||||||
|  |  | ||||||
| #: views/core.py:208 |  | ||||||
| #, python-format |  | ||||||
| msgid "Successfully linked %(provider)s!" |  | ||||||
| msgstr "" |  | ||||||
|  |  | ||||||
| #: views/core.py:221 |  | ||||||
| #, python-format |  | ||||||
| msgid "Authenticated user with OAuth Provider %s" |  | ||||||
| msgstr "" |  | ||||||
|  |  | ||||||
| #: views/core.py:247 |  | ||||||
| msgid "Connection successfully deleted" |  | ||||||
| msgstr "" |  | ||||||
| @ -1,79 +0,0 @@ | |||||||
| # SOME DESCRIPTIVE TITLE. |  | ||||||
| # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER |  | ||||||
| # This file is distributed under the same license as the PACKAGE package. |  | ||||||
| # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. |  | ||||||
| # |  | ||||||
| #, fuzzy |  | ||||||
| msgid "" |  | ||||||
| msgstr "" |  | ||||||
| "Project-Id-Version: PACKAGE VERSION\n" |  | ||||||
| "Report-Msgid-Bugs-To: \n" |  | ||||||
| "POT-Creation-Date: 2018-08-20 10:47+0000\n" |  | ||||||
| "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" |  | ||||||
| "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" |  | ||||||
| "Language-Team: LANGUAGE <LL@li.org>\n" |  | ||||||
| "Language: \n" |  | ||||||
| "MIME-Version: 1.0\n" |  | ||||||
| "Content-Type: text/plain; charset=UTF-8\n" |  | ||||||
| "Content-Transfer-Encoding: 8bit\n" |  | ||||||
|  |  | ||||||
| #: templates/mod/auth/oauth/client/settings.html:11 |  | ||||||
| msgid "OAuth2" |  | ||||||
| msgstr "" |  | ||||||
|  |  | ||||||
| #: templates/mod/auth/oauth/client/settings.html:16 |  | ||||||
| msgid "Connected Accounts" |  | ||||||
| msgstr "" |  | ||||||
|  |  | ||||||
| #: templates/mod/auth/oauth/client/settings.html:23 |  | ||||||
| msgid "Provider" |  | ||||||
| msgstr "" |  | ||||||
|  |  | ||||||
| #: templates/mod/auth/oauth/client/settings.html:24 |  | ||||||
| msgid "Status" |  | ||||||
| msgstr "" |  | ||||||
|  |  | ||||||
| #: templates/mod/auth/oauth/client/settings.html:25 |  | ||||||
| msgid "Action" |  | ||||||
| msgstr "" |  | ||||||
|  |  | ||||||
| #: templates/mod/auth/oauth/client/settings.html:26 |  | ||||||
| msgid "ID" |  | ||||||
| msgstr "" |  | ||||||
|  |  | ||||||
| #: templates/mod/auth/oauth/client/settings.html:48 |  | ||||||
| msgid "No Providers configured!" |  | ||||||
| msgstr "" |  | ||||||
|  |  | ||||||
| #: views/core.py:126 |  | ||||||
| #, python-format |  | ||||||
| msgid "Provider %(name)s didn't provide an E-Mail address." |  | ||||||
| msgstr "" |  | ||||||
|  |  | ||||||
| #: views/core.py:184 views/core.py:225 |  | ||||||
| #, python-format |  | ||||||
| msgid "Successfully authenticated with %(provider)s!" |  | ||||||
| msgstr "" |  | ||||||
|  |  | ||||||
| #: views/core.py:192 |  | ||||||
| msgid "Authentication Failed." |  | ||||||
| msgstr "" |  | ||||||
|  |  | ||||||
| #: views/core.py:204 |  | ||||||
| #, python-format |  | ||||||
| msgid "Linked user with OAuth Provider %s" |  | ||||||
| msgstr "" |  | ||||||
|  |  | ||||||
| #: views/core.py:208 |  | ||||||
| #, python-format |  | ||||||
| msgid "Successfully linked %(provider)s!" |  | ||||||
| msgstr "" |  | ||||||
|  |  | ||||||
| #: views/core.py:221 |  | ||||||
| #, python-format |  | ||||||
| msgid "Authenticated user with OAuth Provider %s" |  | ||||||
| msgstr "" |  | ||||||
|  |  | ||||||
| #: views/core.py:247 |  | ||||||
| msgid "Connection successfully deleted" |  | ||||||
| msgstr "" |  | ||||||
| @ -1,80 +0,0 @@ | |||||||
| # SOME DESCRIPTIVE TITLE. |  | ||||||
| # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER |  | ||||||
| # This file is distributed under the same license as the PACKAGE package. |  | ||||||
| # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. |  | ||||||
| # |  | ||||||
| #, fuzzy |  | ||||||
| msgid "" |  | ||||||
| msgstr "" |  | ||||||
| "Project-Id-Version: PACKAGE VERSION\n" |  | ||||||
| "Report-Msgid-Bugs-To: \n" |  | ||||||
| "POT-Creation-Date: 2018-08-16 18:05+0000\n" |  | ||||||
| "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" |  | ||||||
| "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" |  | ||||||
| "Language-Team: LANGUAGE <LL@li.org>\n" |  | ||||||
| "Language: \n" |  | ||||||
| "MIME-Version: 1.0\n" |  | ||||||
| "Content-Type: text/plain; charset=UTF-8\n" |  | ||||||
| "Content-Transfer-Encoding: 8bit\n" |  | ||||||
| "Plural-Forms: nplurals=2; plural=(n != 1);\n" |  | ||||||
|  |  | ||||||
| #: templates/mod/auth/oauth/client/settings.html:11 |  | ||||||
| msgid "OAuth2" |  | ||||||
| msgstr "" |  | ||||||
|  |  | ||||||
| #: templates/mod/auth/oauth/client/settings.html:16 |  | ||||||
| msgid "Connected Accounts" |  | ||||||
| msgstr "" |  | ||||||
|  |  | ||||||
| #: templates/mod/auth/oauth/client/settings.html:23 |  | ||||||
| msgid "Provider" |  | ||||||
| msgstr "" |  | ||||||
|  |  | ||||||
| #: templates/mod/auth/oauth/client/settings.html:24 |  | ||||||
| msgid "Status" |  | ||||||
| msgstr "" |  | ||||||
|  |  | ||||||
| #: templates/mod/auth/oauth/client/settings.html:25 |  | ||||||
| msgid "Action" |  | ||||||
| msgstr "" |  | ||||||
|  |  | ||||||
| #: templates/mod/auth/oauth/client/settings.html:26 |  | ||||||
| msgid "ID" |  | ||||||
| msgstr "" |  | ||||||
|  |  | ||||||
| #: templates/mod/auth/oauth/client/settings.html:48 |  | ||||||
| msgid "No Providers configured!" |  | ||||||
| msgstr "" |  | ||||||
|  |  | ||||||
| #: views/core.py:126 |  | ||||||
| #, python-format |  | ||||||
| msgid "Provider %(name)s didn't provide an E-Mail address." |  | ||||||
| msgstr "" |  | ||||||
|  |  | ||||||
| #: views/core.py:184 views/core.py:225 |  | ||||||
| #, python-format |  | ||||||
| msgid "Successfully authenticated with %(provider)s!" |  | ||||||
| msgstr "" |  | ||||||
|  |  | ||||||
| #: views/core.py:192 |  | ||||||
| msgid "Authentication Failed." |  | ||||||
| msgstr "" |  | ||||||
|  |  | ||||||
| #: views/core.py:204 |  | ||||||
| #, python-format |  | ||||||
| msgid "Linked user with OAuth Provider %s" |  | ||||||
| msgstr "" |  | ||||||
|  |  | ||||||
| #: views/core.py:208 |  | ||||||
| #, python-format |  | ||||||
| msgid "Successfully linked %(provider)s!" |  | ||||||
| msgstr "" |  | ||||||
|  |  | ||||||
| #: views/core.py:221 |  | ||||||
| #, python-format |  | ||||||
| msgid "Authenticated user with OAuth Provider %s" |  | ||||||
| msgstr "" |  | ||||||
|  |  | ||||||
| #: views/core.py:247 |  | ||||||
| msgid "Connection successfully deleted" |  | ||||||
| msgstr "" |  | ||||||
| @ -1,80 +0,0 @@ | |||||||
| # SOME DESCRIPTIVE TITLE. |  | ||||||
| # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER |  | ||||||
| # This file is distributed under the same license as the PACKAGE package. |  | ||||||
| # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. |  | ||||||
| # |  | ||||||
| #, fuzzy |  | ||||||
| msgid "" |  | ||||||
| msgstr "" |  | ||||||
| "Project-Id-Version: PACKAGE VERSION\n" |  | ||||||
| "Report-Msgid-Bugs-To: \n" |  | ||||||
| "POT-Creation-Date: 2018-08-16 18:05+0000\n" |  | ||||||
| "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" |  | ||||||
| "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" |  | ||||||
| "Language-Team: LANGUAGE <LL@li.org>\n" |  | ||||||
| "Language: \n" |  | ||||||
| "MIME-Version: 1.0\n" |  | ||||||
| "Content-Type: text/plain; charset=UTF-8\n" |  | ||||||
| "Content-Transfer-Encoding: 8bit\n" |  | ||||||
| "Plural-Forms: nplurals=2; plural=(n > 1);\n" |  | ||||||
|  |  | ||||||
| #: templates/mod/auth/oauth/client/settings.html:11 |  | ||||||
| msgid "OAuth2" |  | ||||||
| msgstr "" |  | ||||||
|  |  | ||||||
| #: templates/mod/auth/oauth/client/settings.html:16 |  | ||||||
| msgid "Connected Accounts" |  | ||||||
| msgstr "" |  | ||||||
|  |  | ||||||
| #: templates/mod/auth/oauth/client/settings.html:23 |  | ||||||
| msgid "Provider" |  | ||||||
| msgstr "" |  | ||||||
|  |  | ||||||
| #: templates/mod/auth/oauth/client/settings.html:24 |  | ||||||
| msgid "Status" |  | ||||||
| msgstr "" |  | ||||||
|  |  | ||||||
| #: templates/mod/auth/oauth/client/settings.html:25 |  | ||||||
| msgid "Action" |  | ||||||
| msgstr "" |  | ||||||
|  |  | ||||||
| #: templates/mod/auth/oauth/client/settings.html:26 |  | ||||||
| msgid "ID" |  | ||||||
| msgstr "" |  | ||||||
|  |  | ||||||
| #: templates/mod/auth/oauth/client/settings.html:48 |  | ||||||
| msgid "No Providers configured!" |  | ||||||
| msgstr "" |  | ||||||
|  |  | ||||||
| #: views/core.py:126 |  | ||||||
| #, python-format |  | ||||||
| msgid "Provider %(name)s didn't provide an E-Mail address." |  | ||||||
| msgstr "" |  | ||||||
|  |  | ||||||
| #: views/core.py:184 views/core.py:225 |  | ||||||
| #, python-format |  | ||||||
| msgid "Successfully authenticated with %(provider)s!" |  | ||||||
| msgstr "" |  | ||||||
|  |  | ||||||
| #: views/core.py:192 |  | ||||||
| msgid "Authentication Failed." |  | ||||||
| msgstr "" |  | ||||||
|  |  | ||||||
| #: views/core.py:204 |  | ||||||
| #, python-format |  | ||||||
| msgid "Linked user with OAuth Provider %s" |  | ||||||
| msgstr "" |  | ||||||
|  |  | ||||||
| #: views/core.py:208 |  | ||||||
| #, python-format |  | ||||||
| msgid "Successfully linked %(provider)s!" |  | ||||||
| msgstr "" |  | ||||||
|  |  | ||||||
| #: views/core.py:221 |  | ||||||
| #, python-format |  | ||||||
| msgid "Authenticated user with OAuth Provider %s" |  | ||||||
| msgstr "" |  | ||||||
|  |  | ||||||
| #: views/core.py:247 |  | ||||||
| msgid "Connection successfully deleted" |  | ||||||
| msgstr "" |  | ||||||
| @ -1,66 +0,0 @@ | |||||||
| #XXX: Use svn:externals to get the same version as in saml2idp??? |  | ||||||
| """ |  | ||||||
| Signing code goes here. |  | ||||||
| """ |  | ||||||
| # # python: |  | ||||||
| # import hashlib |  | ||||||
| # import string |  | ||||||
|  |  | ||||||
| from structlog import get_logger |  | ||||||
|  |  | ||||||
| # other libraries: |  | ||||||
| # this app: |  | ||||||
| # from passbook.providers.saml.utils import nice64 |  | ||||||
| # from passbook.sources.saml.xml_templates import SIGNATURE, SIGNED_INFO |  | ||||||
|  |  | ||||||
| LOGGER = get_logger() |  | ||||||
|  |  | ||||||
| # def get_signature_xml(subject, reference_uri): |  | ||||||
| #     """ |  | ||||||
| #     Returns XML Signature for subject. |  | ||||||
| #     """ |  | ||||||
| #     private_key_file = saml2sp_settings.SAML2SP_PRIVATE_KEY_FILE |  | ||||||
| #     certificate_file = saml2sp_settings.SAML2SP_CERTIFICATE_FILE |  | ||||||
| #     LOGGER.debug('get_signature_xml - Begin.') |  | ||||||
| #     LOGGER.debug('Using private key file: ' + private_key_file) |  | ||||||
| #     LOGGER.debug('Using certificate file: ' + certificate_file) |  | ||||||
| #     LOGGER.debug('Subject: ' + subject) |  | ||||||
|  |  | ||||||
| #     # Hash the subject. |  | ||||||
| #     subject_hash = hashlib.sha1() |  | ||||||
| #     subject_hash.update(subject) |  | ||||||
| #     subject_digest = nice64(subject_hash.digest()) |  | ||||||
| #     LOGGER.debug('Subject digest: ' + subject_digest) |  | ||||||
|  |  | ||||||
| #     # Create signed_info. |  | ||||||
| #     signed_info = string.Template(SIGNED_INFO).substitute({ |  | ||||||
| #         'REFERENCE_URI': reference_uri, |  | ||||||
| #         'SUBJECT_DIGEST': subject_digest, |  | ||||||
| #     }) |  | ||||||
| #     LOGGER.debug('SignedInfo XML: ' + signed_info) |  | ||||||
|  |  | ||||||
| # #    # "Digest" the signed_info. |  | ||||||
| # #    info_hash = hashlib.sha1() |  | ||||||
| # #    info_hash.update(signed_info) |  | ||||||
| # #    info_digest = info_hash.digest() |  | ||||||
| # #    LOGGER.debug('Info digest: ' + nice64(info_digest)) |  | ||||||
|  |  | ||||||
| #     # RSA-sign the signed_info. |  | ||||||
| #     private_key = M2Crypto.EVP.load_key(private_key_file) |  | ||||||
| #     private_key.sign_init() |  | ||||||
| #     private_key.sign_update(signed_info) |  | ||||||
| #     rsa_signature = nice64(private_key.sign_final()) |  | ||||||
| #     LOGGER.debug('RSA Signature: ' + rsa_signature) |  | ||||||
|  |  | ||||||
| #     # Load the certificate. |  | ||||||
| #     cert_data = load_cert_data(certificate_file) |  | ||||||
|  |  | ||||||
| #     # Put the signed_info and rsa_signature into the XML signature. |  | ||||||
| #     signed_info_short = signed_info.replace('xmlns:ds="http://www.w3.org/2000/09/xmldsig#"', '') |  | ||||||
| #     signature_xml = string.Template(SIGNATURE).substitute({ |  | ||||||
| #         'RSA_SIGNATURE': rsa_signature, |  | ||||||
| #         'SIGNED_INFO': signed_info_short, |  | ||||||
| #         'CERTIFICATE': cert_data, |  | ||||||
| #     }) |  | ||||||
| #     LOGGER.debug('Signature XML: ' + signature_xml) |  | ||||||
| #     return signature_xml |  | ||||||
							
								
								
									
										5
									
								
								scripts/pre-commit.sh
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										5
									
								
								scripts/pre-commit.sh
									
									
									
									
									
										Executable file
									
								
							| @ -0,0 +1,5 @@ | |||||||
|  | #!/bin/bash -xe | ||||||
|  | isort | ||||||
|  | pylint passbook | ||||||
|  | prospector | ||||||
|  | scripts/coverage.sh | ||||||
		Reference in New Issue
	
	Block a user
	 Jens Langhammer
					Jens Langhammer