mirror of
https://github.com/IgorTimofeev/MineOS.git
synced 2026-01-08 04:02:40 +01:00
Го!
This commit is contained in:
parent
d6a3ca108e
commit
3a28cbf290
@ -271,14 +271,14 @@
|
||||
name="lib/MineOSCore.lua",
|
||||
url="IgorTimofeev/OpenComputers/master/lib/MineOSCore.lua",
|
||||
type="Library",
|
||||
version=1.18,
|
||||
version=1.19,
|
||||
},
|
||||
{
|
||||
name="lib/advancedLua.lua",
|
||||
url="IgorTimofeev/OpenComputers/master/lib/advancedLua.lua",
|
||||
type="Library",
|
||||
preLoadFile=true,
|
||||
version=1.00,
|
||||
version=1.01,
|
||||
},
|
||||
{
|
||||
name="lib/ECSAPI.lua",
|
||||
|
||||
@ -154,17 +154,6 @@ function MineOSCore.parseErrorMessage(error, indentationWidth)
|
||||
return parsedError
|
||||
end
|
||||
|
||||
--Функция-оптимизатор говносимволов для урлек, пробелсы там в %20 и т.п.
|
||||
function MineOSCore.optimizeStringForURLSending(code)
|
||||
if code then
|
||||
code = string.gsub(code, "([^%w ])", function (c)
|
||||
return string.format("%%%02X", string.byte(c))
|
||||
end)
|
||||
code = string.gsub(code, " ", "+")
|
||||
end
|
||||
return code
|
||||
end
|
||||
|
||||
local function drawErrorWindow(path, programVersion, errorLine, reason, showSendToDeveloperButton)
|
||||
local topbarColor = 0x383838
|
||||
local programName = MineOSCore.localization.errorWhileRunningProgram .. "\"" .. fs.name(path) .. "\""
|
||||
@ -265,10 +254,10 @@ local function drawErrorWindow(path, programVersion, errorLine, reason, showSend
|
||||
local phpUrl = "http://igortimofeev.wallst.ru/MineOSErrorReports/Report.php"
|
||||
local url = phpUrl ..
|
||||
"?path=" .. path ..
|
||||
"&version=" .. MineOSCore.optimizeStringForURLSending(programVersion) ..
|
||||
"&userContacts=" .. MineOSCore.optimizeStringForURLSending(data[1]) ..
|
||||
"&userMessage=" .. MineOSCore.optimizeStringForURLSending(data[2]) ..
|
||||
"&errorMessage=" .. MineOSCore.optimizeStringForURLSending(reason)
|
||||
"&version=" .. string.optimizeForURLRequests(programVersion) ..
|
||||
"&userContacts=" .. string.optimizeForURLRequests(data[1]) ..
|
||||
"&userMessage=" .. string.optimizeForURLRequests(data[2]) ..
|
||||
"&errorMessage=" .. string.optimizeForURLRequests(reason)
|
||||
|
||||
local success, reason = component.internet.request(url)
|
||||
if success then
|
||||
@ -329,10 +318,11 @@ function MineOSCore.safeLaunch(path, ...)
|
||||
local applications = files.loadTableFromFile(MineOSCore.paths.applicationList)
|
||||
local applicationExists = false
|
||||
local programVersion = "N/A"
|
||||
|
||||
for i = 1, #applications do
|
||||
if path == "/" .. applications[i].name then
|
||||
if string.canonicalPath("/" .. path) == string.canonicalPath("/" .. applications[i].name) then
|
||||
applicationExists = true
|
||||
programVersion = tostring(applications[i].version) or programVersion
|
||||
programVersion = math.doubleToString(applications[i].version, 2) or programVersion
|
||||
break
|
||||
end
|
||||
end
|
||||
|
||||
@ -157,6 +157,26 @@ end
|
||||
|
||||
-------------------------------------------------- String extensions --------------------------------------------------
|
||||
|
||||
function string.canonicalPath(str)
|
||||
return string.gsub("/" .. str, "%/+", "/")
|
||||
end
|
||||
|
||||
function string.optimize(str, indentationWidth)
|
||||
str = string.gsub("\r\n", "\n")
|
||||
str = string.gsub(" ", string.rep(" ", indentationWidth or 2))
|
||||
return str
|
||||
end
|
||||
|
||||
function string.optimizeForURLRequests(code)
|
||||
if code then
|
||||
code = string.gsub(code, "([^%w ])", function (c)
|
||||
return string.format("%%%02X", string.byte(c))
|
||||
end)
|
||||
code = string.gsub(code, " ", "+")
|
||||
end
|
||||
return code
|
||||
end
|
||||
|
||||
function string.unicodeFind(str, pattern, init, plain)
|
||||
if init then
|
||||
if init < 0 then
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user