1
0
mirror of https://github.com/SquidDev-CC/CC-Tweaked synced 2024-06-25 22:53:22 +00:00
CC-Tweaked/src/main/resources/assets/computercraft/lua/rom/programs/label.lua
2019-12-07 10:33:47 +00:00

101 lines
2.4 KiB
Lua

local function printUsage()
print( "Usages:" )
print( "label get" )
print( "label get <drive>" )
print( "label set <text>" )
print( "label set <drive> <text>" )
print( "label clear" )
print( "label clear <drive>" )
end
local function checkDrive( sDrive )
if peripheral.getType( sDrive ) == "drive" then
-- Check the disk exists
local bData = disk.hasData( sDrive )
if not bData then
print( "No disk in " .. sDrive .. " drive" )
return false
end
else
print( "No disk drive named " .. sDrive )
return false
end
return true
end
local function get( sDrive )
if sDrive ~= nil then
if checkDrive( sDrive ) then
local sLabel = disk.getLabel( sDrive )
if sLabel then
print( "Disk label is \"" .. sLabel .. "\"" )
else
print( "No Disk label" )
end
end
else
local sLabel = os.getComputerLabel()
if sLabel then
print( "Computer label is \"" .. sLabel .. "\"" )
else
print( "No Computer label" )
end
end
end
local function set( sDrive, sText )
if sDrive ~= nil then
if checkDrive( sDrive ) then
disk.setLabel( sDrive, sText )
local sLabel = disk.getLabel( sDrive )
if sLabel then
print( "Disk label set to \"" .. sLabel .. "\"" )
else
print( "Disk label cleared" )
end
end
else
os.setComputerLabel( sText )
local sLabel = os.getComputerLabel()
if sLabel then
print( "Computer label set to \"" .. sLabel .. "\"" )
else
print( "Computer label cleared" )
end
end
end
local tArgs = { ... }
local sCommand = tArgs[1]
if sCommand == "get" then
-- Get a label
if #tArgs == 1 then
get( nil )
elseif #tArgs == 2 then
get( tArgs[2] )
else
printUsage()
end
elseif sCommand == "set" then
-- Set a label
if #tArgs == 2 then
set( nil, tArgs[2] )
elseif #tArgs == 3 then
set( tArgs[2], tArgs[3] )
else
printUsage()
end
elseif sCommand == "clear" then
-- Clear a label
if #tArgs == 1 then
set( nil, nil )
elseif #tArgs == 2 then
set( tArgs[2], nil )
else
printUsage()
end
else
printUsage()
end