Advertisement
pedrosgali

PedrOS fileAPI

Nov 21st, 2013
119
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 4.02 KB | None | 0 0
  1. function checkDir(path)
  2.     fileCount = 0
  3.     fileTable = fs.list(path)
  4.     for i = 1, 100 do
  5.         if fileTable[i] == nil then
  6.         else
  7.             fileCount = fileCount + 1
  8.         end
  9.     end
  10. end
  11.  
  12. function updateMenu(menuName)
  13.     checkDir("OS/"..menuName)
  14.     fs.delete("OS/menus/"..menuName)
  15.     update = fs.open("OS/menus/"..menuName, "w")
  16.     update.writeLine(fileCount)
  17.     for i = 1, fileCount do
  18.         update.writeLine(tostring(fileTable[i]))
  19.     end
  20.     update.close()
  21. end
  22.  
  23. function getMax()
  24.     data = fs.open("OS/menus/menuData")
  25.     maxEntries = data.readLine()
  26.     data.close()
  27.     return(maxEntries)
  28. end
  29.  
  30. function getMaxLen(filePath)
  31.     maxLen = 0
  32.     data = fs.open(filePath)
  33.     maxEntries = getMax()
  34.     for i = 1, maxEntries do
  35.         x = string.len(data.readLine())
  36.             if x > maxLen then
  37.                   maxLen = x
  38.            end
  39.     end
  40.     return(maxLen)
  41. end
  42.  
  43. --File writing with modifier to allow different function calls.
  44. function edit(filePath, message, modifier)
  45.     --no modifier will write a block of code to a file
  46.     if modifier == nil then
  47.         data = fs.open(filePath, "w")
  48.         data.write(message)
  49.         data.close()
  50.        --"Line" modifier will write a line of code to a file
  51.        elseif modifier == "line" or modifier == "l" or modifier == "Line" or modifier == "L" then
  52.            data = fs.open(filePath, "w")
  53.         data.writeLine(message.."\n")
  54.         data.close()
  55.        --"Pre" modifier adds a line of text to the beginning of a file
  56.     elseif modifier == "pre" or modifier == "p" or modifier == "Pre" or modifier == "P" then
  57.             if fs.exists(filePath) then
  58.                     existingData = readFile(filePath)
  59.                     data = fs.open(filePath, "w")
  60.                     data.writeLine(message.."\n")
  61.                 data.write(existingData)
  62.                   data.close()
  63.         else
  64.                 data = fs.open(filePath, "w")
  65.                     data.writeLine(message.."\n")
  66.                 data.write(existingData)
  67.                     data.close()
  68.             end
  69.        --"Add" modifier will write a line of text on the end of a file
  70.     elseif modifier == "add" or modifier == "a" or modifier == "Add" or modifier == "A" then
  71.             if fs.exists(filePath) then
  72.                     existingData = readFile(filePath)
  73.                     data = fs.open(filePath, "w")
  74.                      data.write(existingData)
  75.                     data.writeLine(message.."\n")
  76.                     data.close()
  77.         else
  78.                   data = fs.open(filePath, "w")
  79.                     data.writeLine(message.."\n")
  80.                     data.close()
  81.             end
  82.        --"Merge" modifier will add a block of code to the end of a file
  83.     elseif modifier == "merge" or modifier == "m" or modifier == "Merge" or modifier == "M" then
  84.            if fs.exists(filePath) then
  85.                     existingData = readFile(filePath)
  86.                     data = fs.open(filePath, "w")
  87.                     data.write(existingData)
  88.                     data.write(message)
  89.                     data.close()
  90.             else
  91.                   data = fs.open(filePath, "w")
  92.                     data.write(message)
  93.                     data.close()
  94.             end
  95.     end
  96. end
  97.  
  98. --File reading with modifier to allow different function calls.
  99. function readFile(filePath, modifier)
  100.     --no modifier returns all of a file as a string
  101.     if modifier == nil then
  102.             data = fs.open(filePath, "r")
  103.             fileData = data.readAll()
  104.             data.close()
  105.             return(fileData)
  106.        --"Line" modifier returns the first line of a file
  107.     elseif modifier == "line" or modifier == "l" or modifier == "Line" or modifier == "L" then
  108.            data = fs.open(filePath, "r")
  109.             fileData = data.readLine()
  110.             data.close()
  111.             return(fileData)
  112.        --"End" modifier returns the last line of a file
  113.     elseif modifier == "end" or modifier == "e" or modifier == "End" or modifier == "E" then
  114.            data = fs.open(filePath, "r")
  115.             line = 0
  116.             while true do
  117.                     if fileData == nil then
  118.                         break
  119.                     end
  120.                 line = data.readLine()
  121.             end
  122.             data.close()
  123.         return(fileData)
  124.     end
  125. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement