init.rb in rwddemo-0.91 vs init.rb in rwddemo-0.92

- old
+ new

@@ -22,253 +22,256 @@ #***********************************************************************/ require "ev/rwd" require 'fileutils' require 'extras/rconftool' - + $progdir = File::expand_path( File.dirname(__FILE__)) - $tempdoc = " " - - def findfiles(d) - a = Array.new(Dir[d].entries.sort) - #loop through and get the files names - a.each do |x| - #adjust the filters to the files you want to see... - if(!test(?d,x)) - # only rwd files - if x =~ /rb|rwd|txt/ - fileA=File.open("#{x}","r") #opens the file thats in fileName as read only - $tempdoc+=fileA.read #reads the file into the doc string - fileA.close - end - end - end - end - def loadguifile(d) - a = Array.new(Dir[d].entries.sort) - #loop through and get the files names - a.each do |x| - #adjust the filters to the files you want to see... - if(!test(?d,x)) - # only rwd files - if x =~ /rb|rwd|txt/ - - load x #opens the file thats in fileName and reads it - $tempdoc += $rwdguivar # adds the file into the doc string - end - end - end - end - +$tempdoc = " " + +def findfiles(d) + a = Array.new(Dir[d].entries.sort) + #loop through and get the files names + a.each do |x| + #adjust the filters to the files you want to see... + if(!test(?d,x)) + # only rwd files + if x =~ /rb|rwd|txt/ + fileA=File.open("#{x}","r") #opens the file thats in fileName as read only + $tempdoc+=fileA.read #reads the file into the doc string + fileA.close + end + end + end +end +def loadguifile(d) + a = Array.new(Dir[d].entries.sort) + #loop through and get the files names + a.each do |x| + #adjust the filters to the files you want to see... + if(!test(?d,x)) + # only rwd files + if x =~ /rb|rwd|txt/ + + load x #opens the file thats in fileName and reads it + $tempdoc += $rwdguivar # adds the file into the doc string + end + end + end +end + # integrate the new configuration files MAINconfignew = "rwdconfig.cnf" MAINconfigdist = "rwdconfig.dist" Rconftool::install(MAINconfigdist,MAINconfignew) - Dir.chdir("configuration") #changes the current working directory - - fileList = Dir.new(".").entries.sort.reverse.delete_if { |x| ! (x =~ /dist$/) } #creates an Array separated with \n - @doc = "" - fileList.length.times{ #opening of a block - configdist =fileList.pop #pops the first item out of the Array +#load main config file +load 'rwdconfig.cnf' + +Dir.chdir("configuration") #changes the current working directory + +fileList = Dir.new(".").entries.sort.reverse.delete_if { |x| ! (x =~ /dist$/) } #creates an Array separated with \n +@doc = "" +fileList.length.times{ #opening of a block +configdist =fileList.pop #pops the first item out of the Array tempconfigfile = configdist.gsub(/\.dist$/, "") confignew = tempconfigfile + ".cnf" Rconftool::install(configdist,confignew) #integrates new file with old } #closing block - # END of configuration integration -Dir.chdir($progdir) + # END of configuration integration + Dir.chdir($progdir) -# Read in the configuration files - Dir.chdir("configuration") #changes the current working directory - - fileList = Dir.new(".").entries.sort.reverse.delete_if { |x| ! (x =~ /cnf$/) } #creates an Array separated with \n - @doc = "" - fileList.length.times{ #opening of a block - fileName=fileList.pop #pops the first item out of the Array - load fileName #loads the the config file thats in fileName + # Read in the configuration files + Dir.chdir("configuration") #changes the current working directory + + fileList = Dir.new(".").entries.sort.reverse.delete_if { |x| ! (x =~ /cnf$/) } #creates an Array separated with \n + @doc = "" + fileList.length.times{ #opening of a block + fileName=fileList.pop #pops the first item out of the Array + load fileName #loads the the config file thats in fileName } #closing block - # END of configuration reading - - Dir.chdir($progdir) # change back to top program directory + # END of configuration reading - # build the English Language hash file from the parts - languagehashvariable = 'Message = Hash.new { |hh, kk| hh[kk] = "ERROR: Message not found: #{kk.inspect}."; hh[kk] } - langmessage = {' + "\n" - startlangdir = File.join(LangDir,"en") - #get a list of the files and subdirectories on the starting directory only - alanghash = Array.new(Dir[startlangdir].entries.sort) - #loop through the list, ignore the files and add all new directories found - alanghash.each do |x| - #if a directory... - if(test(?d,x)) - # add to the original list of directories - @@tmproot = x + "/**" - #adds the new ones to the array - blanghash = Dir[@@tmproot].entries.sort - blanghash.each do |x| - if(test(?d,x)) - alanghash.push(x) #appends to the end of the array... - end - end - end - end - alanghash.each do |x| - #if it is a file... - if(!test(?d,x)) - alanghash.delete(x) - else #it is a directory... - findfiles(x + "/**") - end - end + Dir.chdir($progdir) # change back to top program directory - - #writes the contents of doc into the languagehashvariable + # build the English Language hash file from the parts + languagehashvariable = 'Message = Hash.new { |hh, kk| hh[kk] = "ERROR: Message not found: #{kk.inspect}."; hh[kk] } + langmessage = {' + "\n" + startlangdir = File.join(LangDir,"en") + #get a list of the files and subdirectories on the starting directory only + alanghash = Array.new(Dir[startlangdir].entries.sort) + #loop through the list, ignore the files and add all new directories found + alanghash.each do |x| + #if a directory... + if(test(?d,x)) + # add to the original list of directories + @@tmproot = x + "/**" + #adds the new ones to the array + blanghash = Dir[@@tmproot].entries.sort + blanghash.each do |x| + if(test(?d,x)) + alanghash.push(x) #appends to the end of the array... + end + end + end + end + alanghash.each do |x| + #if it is a file... + if(!test(?d,x)) + alanghash.delete(x) + else #it is a directory... + findfiles(x + "/**") + end + end + + + #writes the contents of doc into the languagehashvariable languagehashvariable = languagehashvariable + $tempdoc + "} ; langmessage.each { |kk, vv| Message[kk] = vv }" - - # END of en Lang building + + # END of en Lang building $tempdoc = " " Dir.chdir($progdir) # change back to top program directory - - # build the local Language hash file from the parts - startlangdir = File.join(LangDir,$lang) - #get a list of the files and subdirectories on the starting directory only - alanghash = Array.new(Dir[startlangdir].entries.sort) - #loop through the list, ignore the files and add all new directories found - alanghash.each do |x| - #if a directory... - if(test(?d,x)) - # add to the original list of directories - @@tmproot = x + "/**" - #adds the new ones to the array - blanghash = Dir[@@tmproot].entries.sort - blanghash.each do |x| - if(test(?d,x)) - alanghash.push(x) #appends to the end of the array... - end - end - end - end - alanghash.each do |x| - #if it is a file... - if(!test(?d,x)) - alanghash.delete(x) - else #it is a directory... - findfiles(x + "/**") - end - end - - #writes the contents of doc into the variable + # build the local Language hash file from the parts + startlangdir = File.join(LangDir,$lang) + #get a list of the files and subdirectories on the starting directory only + alanghash = Array.new(Dir[startlangdir].entries.sort) + #loop through the list, ignore the files and add all new directories found + alanghash.each do |x| + #if a directory... + if(test(?d,x)) + # add to the original list of directories + @@tmproot = x + "/**" + #adds the new ones to the array + blanghash = Dir[@@tmproot].entries.sort + blanghash.each do |x| + if(test(?d,x)) + alanghash.push(x) #appends to the end of the array... + end + end + end + end + alanghash.each do |x| + #if it is a file... + if(!test(?d,x)) + alanghash.delete(x) + else #it is a directory... + findfiles(x + "/**") + end + end + + + #writes the contents of doc into the variable languagehashvariable = languagehashvariable + " ; Message.update(" + $tempdoc + ' :rwdtinker => "Rwdtinker" ) ' - -$tempdoc = " " - - Dir.chdir($progdir) # change back to top program directory - - temp = eval( languagehashvariable ) - $tempdoc = " " + $tempdoc = " " - # build the actual program from the code parts - #get a list of the files and subdirectories on the starting directory only - a = Array.new(Dir[CodeDir].entries.sort) - #loop through the list, ignore the files and add all new directories found - a.each do |x| - #if a directory... - if(test(?d,x)) - # add to the original list of directories - @@root = x + "/**" - #adds the new ones to the array - b = Dir[@@root].entries.sort - b.each do |x| - if(test(?d,x)) - a.push(x) #appends to the end of the array... - end - end - end - end - a.each do |x| - #if it is a file... - if(!test(?d,x)) - a.delete(x) - else #it is a directory... - findfiles(x + "/**") - end - end + Dir.chdir($progdir) # change back to top program directory + temp = eval( languagehashvariable ) -# load the program file - tempcoderesult = eval( $tempdoc ) + $tempdoc = " " -# build the actual GUI from the gui parts - $tempdoc = " " - #get a list of the files and subdirectories on the starting directory only - a = Array.new(Dir[GuiDir].entries.sort) - #loop through the list, ignore the files and add all new directories found - a.each do |x| - #if a directory... - if(test(?d,x)) - #use this new dir find to add to the original list of directories - @@root = x + "/**" - #adds the new ones to the array - b = Dir[@@root].entries.sort - b.each do |x| - if(test(?d,x)) - a.push(x) #appends to the end of the array... - end - end - end - end - a.each do |x| - #if it is a file... - if(!test(?d,x)) - a.delete(x) - - else #it is a directory... - loadguifile(x + "/**") - end - end + # build the actual program from the code parts + #get a list of the files and subdirectories on the starting directory only + a = Array.new(Dir[CodeDir].entries.sort) + #loop through the list, ignore the files and add all new directories found + a.each do |x| + #if a directory... + if(test(?d,x)) + # add to the original list of directories + @@root = x + "/**" + #adds the new ones to the array + b = Dir[@@root].entries.sort + b.each do |x| + if(test(?d,x)) + a.push(x) #appends to the end of the array... + end + end + end + end + a.each do |x| + #if it is a file... + if(!test(?d,x)) + a.delete(x) + else #it is a directory... + findfiles(x + "/**") + end + end - # gui variable is done - guiRWD = $tempdoc - - require 'socket' # Network stuff - host = "127.0.0.1" - port = $port - - # Create a socket to listen on and bind it to the host and port - freeportfound = false - until freeportfound - begin - @socket = UDPSocket::new() - @socket.bind(host, port) - freeportfound = true -$port = port - # Rescue the "Address in use" error - rescue Errno::EADDRINUSE - puts "RWD Startup: Port #{port} on host #{host} is already in use." - port=port +1 - puts "trying port: #{port}" - # Rescue the "Address not available' error - rescue Errno::EADDRNOTAVAIL - puts "RWD Startup: Address #{host} is not available to bind." - port =port + 1 - puts "trying port: #{port}" - # Rescue "permission denied errors - rescue Errno::EACCES - puts "RWD Startup: Access denied when binding interface addresses. ?" - port =port + 1 - puts "trying port: #{port}" - # Rescue all other errors - rescue - puts "RWD Startup: An error occured." - port =port + 1 - puts "trying port: #{port}" - # Rescue all other errors - end -end + # load the program file + tempcoderesult = eval( $tempdoc ) + # build the actual GUI from the gui parts + $tempdoc = " " + #get a list of the files and subdirectories on the starting directory only + a = Array.new(Dir[GuiDir].entries.sort) + #loop through the list, ignore the files and add all new directories found + a.each do |x| + #if a directory... + if(test(?d,x)) + #use this new dir find to add to the original list of directories + @@root = x + "/**" + #adds the new ones to the array + b = Dir[@@root].entries.sort + b.each do |x| + if(test(?d,x)) + a.push(x) #appends to the end of the array... + end + end + end + end + a.each do |x| + #if it is a file... + if(!test(?d,x)) + a.delete(x) -RwdTinker.new( guiRWD).serve(port) # start the main class and program + else #it is a directory... + loadguifile(x + "/**") + end + end + + # gui variable is done + guiRWD = $tempdoc + + require 'socket' # Network stuff + host = "127.0.0.1" + port = $port + + # Create a socket to listen on and bind it to the host and port + freeportfound = false + until freeportfound + begin + @socket = UDPSocket::new() + @socket.bind(host, port) + freeportfound = true + $port = port + # Rescue the "Address in use" error + rescue Errno::EADDRINUSE + puts "RWD Startup: Port #{port} on host #{host} is already in use." + port=port +1 + puts "trying port: #{port}" + # Rescue the "Address not available' error + rescue Errno::EADDRNOTAVAIL + puts "RWD Startup: Address #{host} is not available to bind." + port =port + 1 + puts "trying port: #{port}" + # Rescue "permission denied errors + rescue Errno::EACCES + puts "RWD Startup: Access denied when binding interface addresses. ?" + port =port + 1 + puts "trying port: #{port}" + # Rescue all other errors + rescue + puts "RWD Startup: An error occured." + port =port + 1 + puts "trying port: #{port}" + # Rescue all other errors + end + + end + + + RwdTinker.new( guiRWD).serve(port) # start the main class and program