Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #==============================================================================
- # Manage text files with event commands
- # By gerkrt/gerrtunk
- # Version: 1
- # License: GPL, credits
- # Date: 05/01/2011
- # IMPORTANT NOTE: to acces the more actualitzed or corrected version of this
- # script check here: http://usuarios.multimania.es/kisap/english_list.html
- #==============================================================================
- =begin
- -------INTRODUCTION-----------
- This script gives a little control to create and modifiy text files to eventers.
- You can create a file, erase it, append text, add or remove a specific line.
- Also you can configure the files extensions and paths.
- ----------INSTRUCTIONS----------------
- 1. First of all you have to create the text file. You do this with the
- script command newTxt. That will create a new text file called at your will.
- 2. Then you can erase it using delTxt or modify it and continue to append contents
- using appTxt, that add new text after the existent one.
- You can also check for the rest of the functions to do other things:
- newTxt(name, text). This command create a new text file named 'name' and adds
- the text 'text.
- delTxt(name). This deletes the text file of the specified name.
- newTxt("test", "Initial text") --> Creates a test.txt file with Initial text inside.
- delTxt("test") --> Erases it
- appTxt(name, text). Appends at the end of the file a new text. If you make
- a newTxt over a file that already exist it will be overwritten.
- With the file called "test":
- "start of file and line 1
- line 2
- line3
- end of file and line 4
- "
- If you do a appTxt("test", "Append \n me \n)) it will result in:
- "start of file and line 1
- line 2
- line3
- end of file and line 4
- Append
- me
- "
- addLine(name, text, line). Insert a line of text in the specified position of
- the file. A line means a piece of text thats beyond two \n (or the end of start
- of the file). The insert moves all the lines after the one you are pushing, so:
- With the file called "test":
- "start of file and line 1
- line 2
- line3
- end of file and line 4
- "
- If you do a addLine("test", "test line \n", 2) it will be inserted where the
- actual line 2 is, so it will result in:
- "start of file and line 1
- test line
- line 2
- line3
- end of file and line 4
- "
- delLines(name, lines). Deletes a list of lines from the file named 'name'.
- Works in a similar way that the add line but deleting them. It also
- accepts more lines to erase:
- With the file called "test":
- "start of file and line 1
- line 2
- line3
- end of file and line 4
- "
- If you do a delLine("test", [2,4]) it will result in:
- "start of file and line 1
- line3
- "
- -------SPECIAL CARACTERS------------
- You can add new lines marks and tabulations marks using these codes:
- \t (tab)
- \n (newline)
- This works internally for the system, but the reader doesent see ethese symbols
- but their true meaning. So if you write:
- text = " testing \n \ttabulating it"
- It will read as:
- testing
- tabulating it
- ------CONFIGURATION-------------
- Texts_file_path: Ifor you put this to empty "", it wont create a folder.
- Also you have to add the \\ at the end of the folder name.
- Texts_file_extension: You can changue the extension of all the text files.
- =end
- # Configuration
- module Wep
- Texts_file_path = "Text Files\\"
- Texts_file_extension = ".txt"
- end
- # Create Folder for text files
- if Wep::Texts_file_path != ''
- Dir.mkdir(Wep::Texts_file_path) if !FileTest.directory?(Wep::Texts_file_path)
- end
- class Interpreter
- #--------------------------------------------------------------------------
- # * newTxt
- # creates a new text file
- # name: file name, text: text to write in the file
- #--------------------------------------------------------------------------
- def newTxt(name, text='')
- file = open(Wep::Texts_file_path + name + Wep::Texts_file_extension, 'w')
- file.write text
- file.close
- end
- #--------------------------------------------------------------------------
- # * delTxt
- # deletes a text file
- # name: file name
- #--------------------------------------------------------------------------
- def delTxt(name)
- File.delete Wep::Texts_file_path + name + Wep::Texts_file_extension
- end
- #--------------------------------------------------------------------------
- # * addLine
- # insert line in text file
- # name: file name, text: text to write in the file, line: line number(-1 internal)
- #--------------------------------------------------------------------------
- def addLine(name, text, line)
- # Extract a array of lines from the file and insert text
- line_arr = File.readlines(Wep::Texts_file_path + name + Wep::Texts_file_extension)
- line_arr.insert(line-1, text)
- # Save it
- file = open(Wep::Texts_file_path + name + Wep::Texts_file_extension, 'w')
- file.write line_arr
- file.close
- end
- #--------------------------------------------------------------------------
- # * delLines
- # deletes lines in text file
- # name: file name, lines: array of line numbers to erase(-1 internal)
- #--------------------------------------------------------------------------
- def delLines (name, lines)
- # Extract a array of lines from the file and insert text
- line_arr = File.readlines(Wep::Texts_file_path + name + Wep::Texts_file_extension)
- # Delete specified lines
- lines.each do |index|
- line_arr.delete_at(index-1)
- end
- # Save it
- File.open(Wep::Texts_file_path+name+Wep::Texts_file_extension, "w") do |f|
- line_arr.each{|line| f.puts(line)}
- end
- end
- #--------------------------------------------------------------------------
- # * appTxt
- # appends text to a text file
- # name: file name text: text to append
- #--------------------------------------------------------------------------
- def appTxt (name, text)
- file = open(Wep::Texts_file_path + name + Wep::Texts_file_extension, 'a')
- file.write text
- file.close
- end
- end
Advertisement
Add Comment
Please, Sign In to add comment