@ -97,6 +97,7 @@ public class QbittorrentAdapter implements IDaemonAdapter {
@@ -97,6 +97,7 @@ public class QbittorrentAdapter implements IDaemonAdapter {
StringaboutEndText=" (Web UI)";
intaboutStart=about.indexOf(aboutStartText);
intaboutEnd=about.indexOf(aboutEndText);
try{
if(aboutStart>=0&&aboutEnd>aboutStart){
// String found: now parse a version like 2.9.7 as a number like 20907 (allowing 10 places for each .)
@ -105,12 +106,26 @@ public class QbittorrentAdapter implements IDaemonAdapter {
@@ -105,12 +106,26 @@ public class QbittorrentAdapter implements IDaemonAdapter {
if(parts.length>1){
version+=Integer.parseInt(parts[1])*100;
if(parts.length>2){
version+=Integer.parseInt(parts[2]);
// For the last part only read until a non-numeric character is read
// For example version 3.0.0-alpha5 is read as version code 30000
Stringnumbers="";
for(charc:parts[2].toCharArray()){
if(Character.isDigit(c))
// Still a number; add it to the numbers string
numbers+=Character.toString(c);
else{
// No longer reading numbers; stop reading
break;
}
}
version+=Integer.parseInt(numbers);
return;
}
}
}
}
}catch(NumberFormatExceptione){
}
// Unable to establish version number; assume an old version by setting it to version 1