diff --git a/docs/mteam.groovy b/docs/mteam.groovy index 9311da4..2dddc33 100644 --- a/docs/mteam.groovy +++ b/docs/mteam.groovy @@ -37,11 +37,11 @@ private Map buildProfile(d) { fields: [ id: d.id?.toString(), username: d.username?.toString(), - uploaded: formatSize(d.uploaded as long), - downloaded: formatSize(d.downloaded as long), + uploaded: utils.formatSize(d.uploaded as long), + downloaded: utils.formatSize(d.downloaded as long), bonus: d.bonus?.toString(), seeding: d.seeding?.toString(), - seedingSize: formatSize(d.seedingSize as long), + seedingSize: utils.formatSize(d.seedingSize as long), invite: d.memberCount?.invite?.toString(), ] ] @@ -52,7 +52,7 @@ private Map buildSearchResults(List items) { def st = it.status ?: [:] return [ title: it.name ?: '', - size: formatSize((it.size ?: 0) as long), + size: utils.formatSize((it.size ?: 0) as long), seeders: st.seeders ?: 0, leechers: st.leechers ?: 0, grabs: st.timesCompleted ?: 0, @@ -63,15 +63,6 @@ private Map buildSearchResults(List items) { return [pageName: '搜索', extracted: rows, message: "共 ${rows.size()} 条"] } -private String formatSize(long bytes) { - if (bytes == 0) return '0' - def units = ['B','KB','MB','GB','TB'] - double v = bytes - int i = 0 - while (v >= 1024 && i < units.size() - 1) { v /= 1024; i++ } - return String.format('%.2f %s', v, units[i]) -} - // ==================== mediabot 运行时入口 ==================== Map sync(PluginContext ctx) { diff --git a/par-core/src/main/java/com/par/core/adapter/GroovyScriptEngine.java b/par-core/src/main/java/com/par/core/adapter/GroovyScriptEngine.java index 7045af0..27c5768 100644 --- a/par-core/src/main/java/com/par/core/adapter/GroovyScriptEngine.java +++ b/par-core/src/main/java/com/par/core/adapter/GroovyScriptEngine.java @@ -132,5 +132,21 @@ public class GroovyScriptEngine { return null; } catch (Exception e) { return null; } } + /** 字节数 → 可读大小 */ + public String formatSize(long bytes) { + if (bytes == 0) return "0"; + String[] units = {"B","KB","MB","GB","TB"}; + double v = bytes; + int i = 0; + while (v >= 1024 && i < units.length - 1) { v /= 1024; i++; } + return String.format("%.2f %s", v, units[i]); + } + /** 字符串转数字 */ + public Long toLong(String s) { + try { return Long.parseLong(s.replaceAll("[^\\d-]", "")); } catch (NumberFormatException e) { return null; } + } + public Integer toInt(String s) { + try { return Integer.parseInt(s.replaceAll("[^\\d-]", "")); } catch (NumberFormatException e) { return null; } + } } }