rusEFI console to compare current bundle against auto-DFU bundle #3266
progress
This commit is contained in:
parent
406107830b
commit
a9afae7977
|
@ -0,0 +1,14 @@
|
||||||
|
package com.rusefi;
|
||||||
|
|
||||||
|
import org.junit.Test;
|
||||||
|
|
||||||
|
import static org.junit.Assert.assertEquals;
|
||||||
|
|
||||||
|
public class SignatureHelperTest {
|
||||||
|
@Test
|
||||||
|
public void parseSignature() {
|
||||||
|
RusEfiSignature s = SignatureHelper.parse("rusEFI 2021.09.22.all.3378169541");
|
||||||
|
|
||||||
|
assertEquals("all", s.getBundle());
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,38 @@
|
||||||
|
package com.rusefi;
|
||||||
|
|
||||||
|
public class RusEfiSignature {
|
||||||
|
private final String year;
|
||||||
|
private final String month;
|
||||||
|
private final String day;
|
||||||
|
private final String bundle;
|
||||||
|
private final String hash;
|
||||||
|
|
||||||
|
public RusEfiSignature(String year, String month, String day, String bundle, String hash) {
|
||||||
|
|
||||||
|
this.year = year;
|
||||||
|
this.month = month;
|
||||||
|
this.day = day;
|
||||||
|
this.bundle = bundle;
|
||||||
|
this.hash = hash;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getYear() {
|
||||||
|
return year;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getMonth() {
|
||||||
|
return month;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getDay() {
|
||||||
|
return day;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getBundle() {
|
||||||
|
return bundle;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getHash() {
|
||||||
|
return hash;
|
||||||
|
}
|
||||||
|
}
|
|
@ -18,21 +18,16 @@ public class SignatureHelper {
|
||||||
private static final char SLASH = '/';
|
private static final char SLASH = '/';
|
||||||
|
|
||||||
public static Pair<String, String> getUrl(String signature) {
|
public static Pair<String, String> getUrl(String signature) {
|
||||||
if (signature == null || !signature.startsWith(PREFIX))
|
RusEfiSignature s = parse(signature);
|
||||||
return null;
|
if (s == null)
|
||||||
signature = signature.substring(PREFIX.length()).trim();
|
|
||||||
String[] elements = signature.split("\\.");
|
|
||||||
if (elements.length != 5)
|
|
||||||
return null;
|
return null;
|
||||||
|
|
||||||
String year = elements[0];
|
String fileName = s.getHash() + ".ini";
|
||||||
String month = elements[1];
|
return new Pair("https://rusefi.com/online/ini/rusefi/" + s.getYear() + SLASH +
|
||||||
String day = elements[2];
|
s.getMonth() + SLASH +
|
||||||
String bundle = elements[3];
|
s.getDay() + SLASH +
|
||||||
String hash = elements[4];
|
s.getBundle() + SLASH +
|
||||||
|
fileName, fileName);
|
||||||
String fileName = hash + ".ini";
|
|
||||||
return new Pair("https://rusefi.com/online/ini/rusefi/" + year + SLASH + month + SLASH + day + SLASH + bundle + SLASH + fileName, fileName);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public static String downloadIfNotAvailable(Pair<String, String> p) {
|
public static String downloadIfNotAvailable(Pair<String, String> p) {
|
||||||
|
@ -56,4 +51,21 @@ public class SignatureHelper {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static RusEfiSignature parse(String signature) {
|
||||||
|
if (signature == null || !signature.startsWith(PREFIX))
|
||||||
|
return null;
|
||||||
|
signature = signature.substring(PREFIX.length()).trim();
|
||||||
|
String[] elements = signature.split("\\.");
|
||||||
|
if (elements.length != 5)
|
||||||
|
return null;
|
||||||
|
|
||||||
|
String year = elements[0];
|
||||||
|
String month = elements[1];
|
||||||
|
String day = elements[2];
|
||||||
|
String bundle = elements[3];
|
||||||
|
String hash = elements[4];
|
||||||
|
|
||||||
|
return new RusEfiSignature(year, month, day, bundle, hash);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue