X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=src%2Fwx%2Fdolby_doremi_certificate_panel.cc;h=7cab6b24b6a87dcfe37dcd920e50a722dd1670aa;hb=1c1676c83d5785e4c6a2212e68a8dff46eab4847;hp=68be51a07eac06b52f9b78808c6f680d3a4dd76e;hpb=eed7e1543b6a55b8da4cf167fa8b2b866f0fba28;p=dcpomatic.git diff --git a/src/wx/dolby_doremi_certificate_panel.cc b/src/wx/dolby_doremi_certificate_panel.cc index 68be51a07..7cab6b24b 100644 --- a/src/wx/dolby_doremi_certificate_panel.cc +++ b/src/wx/dolby_doremi_certificate_panel.cc @@ -23,19 +23,19 @@ #include "download_certificate_dialog.h" #include "wx_util.h" #include "lib/compose.hpp" -#include "lib/util.h" -#include "lib/signal_manager.h" #include "lib/internet.h" +#include "lib/signal_manager.h" +#include "lib/util.h" #include #include #include -#include +#include -using std::string; -using std::cout; +using std::function; using std::list; -using boost::function; +using std::string; +using namespace boost::algorithm; using boost::optional; #if BOOST_VERSION >= 106100 using namespace boost::placeholders; @@ -162,7 +162,8 @@ try_ims3000 (list& urls, list& files, string prefix, string seri void DolbyDoremiCertificatePanel::do_download () { - string const serial = wx_to_std (_serial->GetValue()); + string serial = wx_to_std(_serial->GetValue()); + trim(serial); /* Try dcp2000, imb and ims prefixes (see mantis #375) */ @@ -181,6 +182,8 @@ DolbyDoremiCertificatePanel::do_download () } } + list errors; + if (starts_with_digit) { try_dcp2000 (urls, files, prefix, serial); try_imb (urls, files, prefix, serial); @@ -192,14 +195,15 @@ DolbyDoremiCertificatePanel::do_download () try_cat745 (urls, files, prefix, serial); } else if (starting_char == 'F') { try_cp850 (urls, files, prefix, serial); + } else { + errors.push_back(wx_to_std(_("Unrecognised serial number format (does not start with a number, H or F)"))); } - list errors; bool ok = false; auto i = urls.begin (); auto j = files.begin (); while (!ok && i != urls.end ()) { - auto error = get_from_zip_url (*i++, *j++, true, true, boost::bind(&DownloadCertificatePanel::load_certificate, this, _1)); + auto error = get_from_zip_url (*i++, *j++, true, true, boost::bind(&DownloadCertificatePanel::load_certificate, this, _1, _2)); if (error) { errors.push_back (error.get ()); } else {