From fe4c5fee38f5b85ca3f9d13874e7c056d832730e Mon Sep 17 00:00:00 2001 From: RblSb Date: Tue, 10 Mar 2020 06:00:24 +0300 Subject: Use std.Date --- build/server.js | 142 ++++++++++++++++++++++++++++++++++++++++++++++++++------ 1 file changed, 129 insertions(+), 13 deletions(-) (limited to 'build') diff --git a/build/server.js b/build/server.js index 65d13a9..5134d74 100644 --- a/build/server.js +++ b/build/server.js @@ -69,6 +69,100 @@ ClientTools.getByName = function(clients,name,def) { } return def; }; +var DateTools = function() { }; +DateTools.__name__ = true; +DateTools.__format_get = function(d,e) { + switch(e) { + case "%": + return "%"; + case "A": + return DateTools.DAY_NAMES[d.getDay()]; + case "B": + return DateTools.MONTH_NAMES[d.getMonth()]; + case "C": + return StringTools.lpad(Std.string(d.getFullYear() / 100 | 0),"0",2); + case "D": + return DateTools.__format(d,"%m/%d/%y"); + case "F": + return DateTools.__format(d,"%Y-%m-%d"); + case "I":case "l": + var hour = d.getHours() % 12; + return StringTools.lpad(Std.string(hour == 0 ? 12 : hour),e == "I" ? "0" : " ",2); + case "M": + return StringTools.lpad(Std.string(d.getMinutes()),"0",2); + case "R": + return DateTools.__format(d,"%H:%M"); + case "S": + return StringTools.lpad(Std.string(d.getSeconds()),"0",2); + case "T": + return DateTools.__format(d,"%H:%M:%S"); + case "Y": + return Std.string(d.getFullYear()); + case "a": + return DateTools.DAY_SHORT_NAMES[d.getDay()]; + case "b":case "h": + return DateTools.MONTH_SHORT_NAMES[d.getMonth()]; + case "d": + return StringTools.lpad(Std.string(d.getDate()),"0",2); + case "e": + return Std.string(d.getDate()); + case "H":case "k": + return StringTools.lpad(Std.string(d.getHours()),e == "H" ? "0" : " ",2); + case "m": + return StringTools.lpad(Std.string(d.getMonth() + 1),"0",2); + case "n": + return "\n"; + case "p": + if(d.getHours() > 11) { + return "PM"; + } else { + return "AM"; + } + break; + case "r": + return DateTools.__format(d,"%I:%M:%S %p"); + case "s": + return Std.string(d.getTime() / 1000 | 0); + case "t": + return "\t"; + case "u": + var t = d.getDay(); + if(t == 0) { + return "7"; + } else if(t == null) { + return "null"; + } else { + return "" + t; + } + break; + case "w": + return Std.string(d.getDay()); + case "y": + return StringTools.lpad(Std.string(d.getFullYear() % 100),"0",2); + default: + throw new js__$Boot_HaxeError("Date.format %" + e + "- not implemented yet."); + } +}; +DateTools.__format = function(d,f) { + var r_b = ""; + var p = 0; + while(true) { + var np = f.indexOf("%",p); + if(np < 0) { + break; + } + var len = np - p; + r_b += len == null ? HxOverrides.substr(f,p,null) : HxOverrides.substr(f,p,len); + r_b += Std.string(DateTools.__format_get(d,HxOverrides.substr(f,np + 1,1))); + p = np + 2; + } + var len1 = f.length - p; + r_b += len1 == null ? HxOverrides.substr(f,p,null) : HxOverrides.substr(f,p,len1); + return r_b; +}; +DateTools.format = function(d,f) { + return DateTools.__format(d,f); +}; var EReg = function(r,opt) { this.r = new RegExp(r,opt.split("u").join("")); }; @@ -147,6 +241,14 @@ EReg.prototype = { }; var HxOverrides = function() { }; HxOverrides.__name__ = true; +HxOverrides.dateStr = function(date) { + var m = date.getMonth() + 1; + var d = date.getDate(); + var h = date.getHours(); + var mi = date.getMinutes(); + var s = date.getSeconds(); + return date.getFullYear() + "-" + (m < 10 ? "0" + m : "" + m) + "-" + (d < 10 ? "0" + d : "" + d) + " " + (h < 10 ? "0" + h : "" + h) + ":" + (mi < 10 ? "0" + mi : "" + mi) + ":" + (s < 10 ? "0" + s : "" + s); +}; HxOverrides.substr = function(s,pos,len) { if(len == null) { len = s.length; @@ -306,6 +408,16 @@ StringTools.startsWith = function(s,start) { return false; } }; +StringTools.lpad = function(s,c,l) { + if(c.length <= 0) { + return s; + } + var buf_b = ""; + l -= s.length; + while(buf_b.length < l) buf_b += c == null ? "null" : "" + c; + buf_b += s == null ? "null" : "" + s; + return buf_b; +}; StringTools.replace = function(s,sub,by) { return s.split(sub).join(by); }; @@ -976,8 +1088,8 @@ var server_Main = function() { } server_Utils.getGlobalIp(function(ip) { _gthis.globalIp = ip; - haxe_Log.trace("Local: http://" + _gthis.localIp + ":" + _gthis.port,{ fileName : "src/server/Main.hx", lineNumber : 79, className : "server.Main", methodName : "new"}); - haxe_Log.trace("Global: http://" + _gthis.globalIp + ":" + _gthis.port,{ fileName : "src/server/Main.hx", lineNumber : 80, className : "server.Main", methodName : "new"}); + haxe_Log.trace("Local: http://" + _gthis.localIp + ":" + _gthis.port,{ fileName : "src/server/Main.hx", lineNumber : 78, className : "server.Main", methodName : "new"}); + haxe_Log.trace("Global: http://" + _gthis.globalIp + ":" + _gthis.port,{ fileName : "src/server/Main.hx", lineNumber : 79, className : "server.Main", methodName : "new"}); return; }); var dir = "" + this.rootDir + "/res"; @@ -1046,7 +1158,7 @@ server_Main.prototype = { var field = _g1[_g]; ++_g; if(Reflect.field(config,field) == null) { - haxe_Log.trace("Warning: config field \"" + field + "\" is unknown",{ fileName : "src/server/Main.hx", lineNumber : 130, className : "server.Main", methodName : "getUserConfig"}); + haxe_Log.trace("Warning: config field \"" + field + "\" is unknown",{ fileName : "src/server/Main.hx", lineNumber : 129, className : "server.Main", methodName : "getUserConfig"}); } config[field] = Reflect.field(customConfig,field); } @@ -1067,7 +1179,7 @@ server_Main.prototype = { js_node_Fs.writeFileSync("" + folder + "/users.json",JSON.stringify(users,null,"\t")); } ,saveState: function() { - haxe_Log.trace("Saving state...",{ fileName : "src/server/Main.hx", lineNumber : 154, className : "server.Main", methodName : "saveState"}); + haxe_Log.trace("Saving state...",{ fileName : "src/server/Main.hx", lineNumber : 153, className : "server.Main", methodName : "saveState"}); var json = JSON.stringify({ videoList : this.videoList, isPlaylistOpen : this.isPlaylistOpen, itemPos : this.itemPos, messages : this.messages, timer : { time : this.videoTimer.getTime(), paused : this.videoTimer.isPaused()}},null,"\t"); js_node_Fs.writeFileSync(this.statePath,json); } @@ -1075,7 +1187,7 @@ server_Main.prototype = { if(!sys_FileSystem.exists(this.statePath)) { return; } - haxe_Log.trace("Loading state...",{ fileName : "src/server/Main.hx", lineNumber : 171, className : "server.Main", methodName : "loadState"}); + haxe_Log.trace("Loading state...",{ fileName : "src/server/Main.hx", lineNumber : 170, className : "server.Main", methodName : "loadState"}); var data = JSON.parse(js_node_Fs.readFileSync(this.statePath,{ encoding : "utf8"})); this.videoList.length = 0; this.messages.length = 0; @@ -1092,13 +1204,12 @@ server_Main.prototype = { this.videoTimer.pause(); } ,logError: function(type,data) { - haxe_Log.trace(type,{ fileName : "src/server/Main.hx", lineNumber : 185, className : "server.Main", methodName : "logError", customParams : [data]}); + haxe_Log.trace(type,{ fileName : "src/server/Main.hx", lineNumber : 184, className : "server.Main", methodName : "logError", customParams : [data]}); var crashesFolder = "" + this.rootDir + "/user/crashes"; - var name = new Date().toISOString() + "-" + type; if(!sys_FileSystem.exists(crashesFolder)) { sys_FileSystem.createDirectory(crashesFolder); } - js_node_Fs.writeFileSync("" + crashesFolder + "/" + name + ".json",JSON.stringify(data,null,"\t")); + js_node_Fs.writeFileSync("" + crashesFolder + "/" + (DateTools.format(new Date(),"%Y-%m-%d_%H_%M_%S") + "-" + type) + ".json",JSON.stringify(data,null,"\t")); } ,initIntergationHandlers: function() { var _gthis = this; @@ -1108,7 +1219,7 @@ server_Main.prototype = { return; } var url = "http://" + process.env["APP_URL"]; - haxe_Log.trace("Ping " + url,{ fileName : "src/server/Main.hx", lineNumber : 199, className : "server.Main", methodName : "initIntergationHandlers"}); + haxe_Log.trace("Ping " + url,{ fileName : "src/server/Main.hx", lineNumber : 198, className : "server.Main", methodName : "initIntergationHandlers"}); js_node_Http.get(url,function(r) { return; }); @@ -1123,14 +1234,14 @@ server_Main.prototype = { } this.userList.admins.push({ name : name, hash : hash}); this.writeUsers(this.userList); - haxe_Log.trace("Admin " + name + " added.",{ fileName : "src/server/Main.hx", lineNumber : 214, className : "server.Main", methodName : "addAdmin"}); + haxe_Log.trace("Admin " + name + " added.",{ fileName : "src/server/Main.hx", lineNumber : 213, className : "server.Main", methodName : "addAdmin"}); } ,onConnect: function(ws,req) { var _gthis = this; var ip = req.connection.remoteAddress; var id = this.freeIds.length > 0 ? this.freeIds.shift() : this.clients.length; var name = "Guest " + (id + 1); - haxe_Log.trace("" + name + " connected (" + ip + ")",{ fileName : "src/server/Main.hx", lineNumber : 221, className : "server.Main", methodName : "onConnect"}); + haxe_Log.trace("" + name + " connected (" + ip + ")",{ fileName : "src/server/Main.hx", lineNumber : 220, className : "server.Main", methodName : "onConnect"}); var client = new Client(ws,req,id,name,0); client.setGroupFlag(ClientGroup.Admin,req.connection.localAddress == ip); this.clients.push(client); @@ -1154,7 +1265,7 @@ server_Main.prototype = { return; }); ws.on("close",function(err) { - haxe_Log.trace("Client " + client.name + " disconnected",{ fileName : "src/server/Main.hx", lineNumber : 251, className : "server.Main", methodName : "onConnect"}); + haxe_Log.trace("Client " + client.name + " disconnected",{ fileName : "src/server/Main.hx", lineNumber : 250, className : "server.Main", methodName : "onConnect"}); server_Utils.sortedPush(_gthis.freeIds,client.id); HxOverrides.remove(_gthis.clients,client); _gthis.sendClientList(); @@ -1293,7 +1404,7 @@ server_Main.prototype = { } data.message.text = text; data.message.clientName = client.name; - var time = "[" + new Date().toTimeString().split(" ")[0] + "] "; + var time = "[" + HxOverrides.dateStr(new Date()).split(" ")[1] + "] "; this.messages.push({ text : text, name : client.name, time : time}); if(this.messages.length > this.config.serverChatHistory) { this.messages.shift(); @@ -1695,10 +1806,15 @@ $global.$haxeUID |= 0; var __map_reserved = {}; String.__name__ = true; Array.__name__ = true; +Date.__name__ = "Date"; Object.defineProperty(js__$Boot_HaxeError.prototype,"message",{ get : function() { return String(this.val); }}); js_Boot.__toStr = ({ }).toString; +DateTools.DAY_SHORT_NAMES = ["Sun","Mon","Tue","Wed","Thu","Fri","Sat"]; +DateTools.DAY_NAMES = ["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]; +DateTools.MONTH_SHORT_NAMES = ["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]; +DateTools.MONTH_NAMES = ["January","February","March","April","May","June","July","August","September","October","November","December"]; Lang.langs = new haxe_ds_StringMap(); Lang.ids = ["en","ru"]; server_HttpServer.mimeTypes = (function($this) { -- cgit v1.2.3