static S mechList_opt_raw_fresh(S name) { ifdef mechList_raw_fresh_debug print("mechList_raw_fresh :" + name); endifdef O readMode = mechMode().readMode; if (readMode instanceof File) { S md5Name = uniqueFileNameUsingMD5_80_v2(upper(name)); ret loadTextFileFromZipFile((File) readMode, md5Name); } ifclass VirtualMechLists else if (readMode cast VirtualMechLists) ret readMode.mL_raw(name); endif bool useLocal = false, useRemote = true; if (eq(readMode, 'mergeLocalAndRemote)) useLocal = true; else if (eq(readMode, 'local)) { useLocal = true; useRemote = false; } S s = ""; if (useRemote) { if (eq(mechMode().readMode, 'localCopies)) s = unnull(loadTextFile(remoteMechListMirrorFile(name))); else s = serverMechList_raw_fresh(name, true); } if (useLocal) s = appendNewLineIfNempty(s) + localMechList_opt_raw_fresh(name); ret s; }