all: implement black as code formatter

This commit is contained in:
Jens Langhammer
2019-12-31 12:51:16 +01:00
parent 8eb3f0f708
commit 3bd1eadd51
298 changed files with 4825 additions and 3145 deletions

View File

@ -5,7 +5,7 @@ from django.apps import AppConfig
class PassbookRecoveryConfig(AppConfig):
"""passbook Recovery app config"""
name = 'passbook.recovery'
label = 'passbook_recovery'
verbose_name = 'passbook Recovery'
mountpoint = 'recovery/'
name = "passbook.recovery"
label = "passbook_recovery"
verbose_name = "passbook Recovery"
mountpoint = "recovery/"

View File

@ -17,30 +17,40 @@ LOGGER = get_logger()
class Command(BaseCommand):
"""Create Nonce used to recover access"""
help = _('Create a Key which can be used to restore access to passbook.')
help = _("Create a Key which can be used to restore access to passbook.")
def add_arguments(self, parser):
parser.add_argument('duration', default=1, action='store',
help='How long the token is valid for (in years).')
parser.add_argument('user', action='store',
help='Which user the Token gives access to.')
parser.add_argument(
"duration",
default=1,
action="store",
help="How long the token is valid for (in years).",
)
parser.add_argument(
"user", action="store", help="Which user the Token gives access to."
)
def get_url(self, nonce: Nonce) -> str:
"""Get full recovery link"""
path = reverse('passbook_recovery:use-nonce', kwargs={'uuid': str(nonce.uuid)})
path = reverse("passbook_recovery:use-nonce", kwargs={"uuid": str(nonce.uuid)})
return f"https://{CONFIG.y('domain')}{path}"
def handle(self, *args, **options):
"""Create Nonce used to recover access"""
duration = int(options.get('duration', 1))
duration = int(options.get("duration", 1))
delta = timedelta(days=duration * 365.2425)
_now = now()
expiry = _now + delta
user = User.objects.get(username=options.get('user'))
user = User.objects.get(username=options.get("user"))
nonce = Nonce.objects.create(
expires=expiry,
user=user,
description=f'Recovery Nonce generated by {getuser()} on {_now}')
self.stdout.write((f"Store this link safely, as it will allow"
f" anyone to access passbook as {user}."))
description=f"Recovery Nonce generated by {getuser()} on {_now}",
)
self.stdout.write(
(
f"Store this link safely, as it will allow"
f" anyone to access passbook as {user}."
)
)
self.stdout.write(self.get_url(nonce))

View File

@ -12,21 +12,22 @@ class TestRecovery(TestCase):
"""recovery tests"""
def setUp(self):
self.user = User.objects.create_user(
username='recovery-test-user')
self.user = User.objects.create_user(username="recovery-test-user")
def test_create_key(self):
"""Test creation of a new key"""
out = StringIO()
self.assertEqual(len(Nonce.objects.all()), 0)
call_command('create_recovery_key', '1', self.user.username, stdout=out)
self.assertIn('https://localhost/recovery/use-nonce/', out.getvalue())
call_command("create_recovery_key", "1", self.user.username, stdout=out)
self.assertIn("https://localhost/recovery/use-nonce/", out.getvalue())
self.assertEqual(len(Nonce.objects.all()), 1)
def test_recovery_view(self):
"""Test recovery view"""
out = StringIO()
call_command('create_recovery_key', '1', self.user.username, stdout=out)
call_command("create_recovery_key", "1", self.user.username, stdout=out)
nonce = Nonce.objects.first()
self.client.get(reverse('passbook_recovery:use-nonce', kwargs={'uuid': str(nonce.uuid)}))
self.assertEqual(int(self.client.session['_auth_user_id']), nonce.user.pk)
self.client.get(
reverse("passbook_recovery:use-nonce", kwargs={"uuid": str(nonce.uuid)})
)
self.assertEqual(int(self.client.session["_auth_user_id"]), nonce.user.pk)

View File

@ -5,5 +5,5 @@ from django.urls import path
from passbook.recovery.views import UseNonceView
urlpatterns = [
path('use-nonce/<uuid:uuid>/', UseNonceView.as_view(), name='use-nonce'),
path("use-nonce/<uuid:uuid>/", UseNonceView.as_view(), name="use-nonce"),
]

View File

@ -18,7 +18,7 @@ class UseNonceView(View):
if nonce.is_expired:
nonce.delete()
raise Http404
login(request, nonce.user, backend='django.contrib.auth.backends.ModelBackend')
login(request, nonce.user, backend="django.contrib.auth.backends.ModelBackend")
nonce.delete()
messages.warning(request, _("Used recovery-link to authenticate."))
return redirect('passbook_core:overview')
return redirect("passbook_core:overview")