From e43cb44b2d4c71bfabeadb89c7ec1245afbe9b7c Mon Sep 17 00:00:00 2001 From: Philipp Wolfer Date: Tue, 1 Dec 2020 20:07:11 +0100 Subject: [PATCH] PICARD-2016: Strip whitespace from AcoustID API key automatically --- picard/ui/options/fingerprinting.py | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/picard/ui/options/fingerprinting.py b/picard/ui/options/fingerprinting.py index 06f14b62c..27f5ea6c0 100644 --- a/picard/ui/options/fingerprinting.py +++ b/picard/ui/options/fingerprinting.py @@ -5,7 +5,7 @@ # Copyright (C) 2011-2012 Lukáš Lalinský # Copyright (C) 2011-2013 Michael Wiencek # Copyright (C) 2013, 2018 Laurent Monin -# Copyright (C) 2015 Philipp Wolfer +# Copyright (C) 2015, 2020 Philipp Wolfer # Copyright (C) 2016-2017 Sambhav Kothari # # This program is free software; you can redistribute it and/or @@ -27,6 +27,7 @@ import os from PyQt5 import ( QtCore, + QtGui, QtWidgets, ) @@ -45,6 +46,13 @@ from picard.ui.options import ( from picard.ui.ui_options_fingerprinting import Ui_FingerprintingOptionsPage +class ApiKeyValidator(QtGui.QValidator): + + def validate(self, input, pos): + # Strip whitespace to avoid typical copy and paste user errors + return (QtGui.QValidator.Acceptable, input.strip(), pos) + + class FingerprintingOptionsPage(OptionsPage): NAME = "fingerprinting" @@ -72,6 +80,7 @@ class FingerprintingOptionsPage(OptionsPage): self.ui.acoustid_fpcalc_browse.clicked.connect(self.acoustid_fpcalc_browse) self.ui.acoustid_fpcalc_download.clicked.connect(self.acoustid_fpcalc_download) self.ui.acoustid_apikey_get.clicked.connect(self.acoustid_apikey_get) + self.ui.acoustid_apikey.setValidator(ApiKeyValidator()) def load(self): if config.setting["fingerprinting_system"] == "acoustid":