Warning: session_start(): open(/var/lib/php/sessions/sess_cmrdfr7e7b32vjtcvmtckvaqgk, O_RDWR) failed: No space left on device (28) in /var/www/tb-usercake/models/config.php on line 51
Warning: session_start(): Failed to read session data: files (path: /var/lib/php/sessions) in /var/www/tb-usercake/models/config.php on line 51
!7
sclass MechLists extends DynCalculatedList {
SS listToMD5;
transient ReliableSingleThread rst = new(r downloadAll);
transient bool authed;
visualize {
JComponent c = super.visualize();
onDoubleClickOrEnter(list, voidfunc(S listName) {
showText(listName, mechList_raw_localCopy(listName))
});
if (!authed) ret c;
ret withLeftAlignedButtonsOnTop(c, "Create...", r createList);
}
start {
set serverMechList_raw_fresh_verbose;
setModuleName("Mech Lists With Text" + trueFalseNull(authed = mech_authedOnServer(), " [Authed]", " [Not Authed]", ""));
actualCalc();
doEvery(10000, 5000, rst);
bot("Mech Lists Mirror.");
}
void actualCalc { setField(results := sortedIC(keys(listToMD5))); }
L calc() { ret results; }
void downloadAll {
L l = mechListMD5sAndStatuses_fresh();
new HashMap listToMD5;
for (LS x : l) {
S name = first(x);
listToMD5.put(name, second(x));
saveTextFileIfDifferent(remoteMechListMirrorMetaFile(name),
struct(litmap("Name" := name, "Status" := last(x))));
}
setField(+listToMD5);
actualCalc();
mechList_completeLocalCopies(listToMD5);
}
void createList enter {
inputText("List Name", voidfunc(S name) {
if (emptyAfterTrim(name)) ret;
createMechList(trim(name));
rst.trigger();
});
}
}