rwdshell 0.98 → 0.99
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/Readme.txt +6 -0
- data/code/01rwdcore/01rwdcore.rb +16 -16
- data/code/01rwdcore/jumplinkcommand.rb +30 -0
- data/code/01rwdcore/openhelpwindow.rb +26 -26
- data/code/01rwdcore/returntomain.rb +8 -8
- data/code/01rwdcore/rwdtinkerversion.rb +12 -13
- data/code/01rwdcore/rwdwindowreturn.rb +3 -5
- data/code/01rwdcore/test_cases.rb +79 -90
- data/code/01rwdcore/test_harness.rb +7 -10
- data/code/01rwdcore/uploadreturns.rb +60 -60
- data/code/superant.com.rwdshell/clearrubyscreendisplay.rb +7 -0
- data/code/superant.com.rwdshell/helptexthashshell.rb +8 -1
- data/code/superant.com.rwdshell/jumplinkupdate.rb +9 -0
- data/code/superant.com.rwdshell/loadrubyscriptrecord.rb +20 -0
- data/code/superant.com.rwdshell/openhelpwindowshell.rb +6 -0
- data/code/superant.com.rwdshell/runrwdshellwindow.rb +4 -1
- data/code/superant.com.rwdshell/saverubyrecord.rb +19 -0
- data/code/superant.com.rwdtinkerbackwindow/controlclient.rb +89 -92
- data/code/superant.com.rwdtinkerbackwindow/diagnostictab.rb +15 -21
- data/code/superant.com.rwdtinkerbackwindow/installapplet.rb +19 -18
- data/code/superant.com.rwdtinkerbackwindow/installgemapplet.rb +20 -19
- data/code/superant.com.rwdtinkerbackwindow/installremotegem.rb +19 -18
- data/code/superant.com.rwdtinkerbackwindow/listgemdirs.rb +7 -7
- data/code/superant.com.rwdtinkerbackwindow/listgemzips.rb +48 -49
- data/code/superant.com.rwdtinkerbackwindow/listinstalledfiles.rb +8 -7
- data/code/superant.com.rwdtinkerbackwindow/listzips.rb +22 -26
- data/code/superant.com.rwdtinkerbackwindow/loadconfigurationrecord.rb +32 -31
- data/code/superant.com.rwdtinkerbackwindow/loadconfigurationvariables.rb +14 -13
- data/code/superant.com.rwdtinkerbackwindow/network.rb +82 -82
- data/code/superant.com.rwdtinkerbackwindow/openappletname.rb +18 -17
- data/code/superant.com.rwdtinkerbackwindow/openhelpwindowtinkerwin2.rb +37 -37
- data/code/superant.com.rwdtinkerbackwindow/remotegemlist.rb +20 -20
- data/code/superant.com.rwdtinkerbackwindow/removeapplet.rb +33 -32
- data/code/superant.com.rwdtinkerbackwindow/runrwdtinkerbackwindow.rb +8 -9
- data/code/superant.com.rwdtinkerbackwindow/rwdtinkerwin2version.rb +10 -11
- data/code/superant.com.rwdtinkerbackwindow/saveconfigurationrecord.rb +19 -18
- data/code/superant.com.rwdtinkerbackwindow/viewappletcontents.rb +21 -20
- data/code/superant.com.rwdtinkerbackwindow/viewgemappletcontents.rb +23 -20
- data/configuration/language.dist +1 -1
- data/configuration/rwdapplicationidentity.dist +1 -1
- data/configuration/rwdshell.dist +2 -2
- data/configuration/rwdtinker.dist +3 -3
- data/configuration/tinkerwin2variables.dist +1 -1
- data/gui/frontwindow0/superant.com.shellscripts/3editscripts.rwd +1 -0
- data/gui/frontwindowselectionbegin/selectiontabbegin/selectiontabbegin.rwd +2 -7
- data/gui/frontwindowselections/superant.com.rwdtinkerwin2selectiontab/jumplinkcommands.rwd +15 -0
- data/gui/helpaboutinstalled/superant.com.shellhelpabout/3copyright.rwd +1 -1
- data/gui/tinkerbackwindows/superant.com.rwdshellbackwindow/46editscriptrecord.rwd +2 -2
- data/gui/tinkerbackwindows/superant.com.rwdshellbackwindow/94rwddiagnostics.rwd +0 -17
- data/gui/tinkerbackwindows/superant.com.rwdshellbackwindow/98jumplinkcommands.rwd +17 -0
- data/gui/tinkerbackwindows/superant.com.tinkerbackwindow/81jumplinkcommands.rwd +17 -0
- data/init.rb +228 -228
- data/rwd_files/HowTo_Shell.txt +6 -0
- data/rwd_files/HowTo_Tinker.txt +6 -0
- data/rwdconfig.dist +1 -1
- data/scripts/test02.rb +1 -1
- data/tests/makedist.rb +26 -12
- metadata +10 -8
- data/code/superant.com.rwdshell/runrwdshellmenu1.rb +0 -57
- data/gui/frontwindowselections/superant.com.rwdshellselectiontab/rwdshellbackwindowselectiontab.rwd +0 -12
- data/gui/frontwindowselections/superant.com.rwdtinkerwin2selectiontab/rwdwin2selectiontab.rwd +0 -12
- data/gui/tinkerbackwindows/superant.com.rwdshellbackwindow/v9returntab.rwd +0 -11
- data/gui/tinkerbackwindows/superant.com.tinkerbackwindow/80tab1.rwd +0 -11
@@ -1,12 +1,12 @@
|
|
1
1
|
# this code is to list the gem directories that are installed
|
2
2
|
def superantcomshowgemfiledirs
|
3
|
-
|
4
|
-
|
5
|
-
|
3
|
+
|
4
|
+
fileList = Dir.new($gemdirectory_withgemfiles).entries.sort.delete_if { |x| ! (x =~ /\Arwdzip/) }
|
5
|
+
@superantcomshowgemappletdirsresult = fileList.rwd_method("superantcomshowgemappletdirsname")
|
6
6
|
end
|
7
|
-
|
7
|
+
|
8
8
|
def superantcomshowgemappletdirsname(inffile)
|
9
|
-
|
10
|
-
|
11
|
-
|
9
|
+
applet = inffile
|
10
|
+
@a_gemfiledirsinput = applet
|
11
|
+
|
12
12
|
end
|
@@ -1,54 +1,53 @@
|
|
1
1
|
# this code is to list the zips
|
2
|
-
|
3
|
-
|
4
2
|
def fillzipappletname(inffile)
|
5
|
-
|
6
|
-
|
7
|
-
|
3
|
+
applet = inffile.gsub(/\.zip$/, "")
|
4
|
+
@a_installapplet = applet
|
5
|
+
|
6
|
+
end
|
7
|
+
|
8
|
+
def findzipfiles(d)
|
9
|
+
a = Array.new(Dir[d].entries.sort)
|
10
|
+
#loop through and get the files names
|
11
|
+
a.each do |x|
|
12
|
+
#adjust the filters to the files you want to see...
|
13
|
+
if(!test(?d,x))
|
14
|
+
# only zip files
|
15
|
+
if x =~ /\.zip/
|
16
|
+
puts "#{x}" #opens the file thats in fileName as read only
|
17
|
+
$zipsarray = $zipsarray | ["#{x}"]
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
8
21
|
end
|
9
22
|
|
10
|
-
def findzipfiles(d)
|
11
|
-
a = Array.new(Dir[d].entries.sort)
|
12
|
-
#loop through and get the files names
|
13
|
-
a.each do |x|
|
14
|
-
#adjust the filters to the files you want to see...
|
15
|
-
if(!test(?d,x))
|
16
|
-
# only zip files
|
17
|
-
if x =~ /\.zip/
|
18
|
-
puts "#{x}" #opens the file thats in fileName as read only
|
19
|
-
$zipsarray = $zipsarray | ["#{x}"]
|
20
|
-
end
|
21
|
-
end
|
22
|
-
end
|
23
|
-
end
|
24
|
-
|
25
23
|
def listgemzips
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
24
|
+
startlangdir = $geminstalled_directory
|
25
|
+
#get a list of the files and subdirectories on the starting directory only
|
26
|
+
alanghash = Array.new(Dir[startlangdir].entries.sort)
|
27
|
+
p alanghash
|
28
|
+
#loop through the list, ignore the files and add all new directories found
|
29
|
+
alanghash.each do |x|
|
30
|
+
#if a directory...
|
31
|
+
if(test(?d,x))
|
32
|
+
# add to the original list of directories
|
33
|
+
@@tmproot = x + "/**"
|
34
|
+
#adds the new ones to the array
|
35
|
+
blanghash = Dir[@@tmproot].entries.sort
|
36
|
+
blanghash.each do |x|
|
37
|
+
if(test(?d,x))
|
38
|
+
alanghash.push(x) #appends to the end of the array...
|
39
|
+
end
|
40
|
+
end
|
41
|
+
end
|
42
|
+
end
|
43
|
+
alanghash.each do |x|
|
44
|
+
#if it is a file...
|
45
|
+
if(!test(?d,x))
|
46
|
+
alanghash.delete(x)
|
47
|
+
else #it is a directory...
|
48
|
+
findzipfiles(x + "/**")
|
49
|
+
end
|
50
|
+
end
|
51
|
+
@zipslistresult = $zipsarray.rwd_method("fillzipappletname")
|
52
|
+
end
|
53
|
+
|
@@ -1,11 +1,12 @@
|
|
1
1
|
# this code is to list the applets that are installed
|
2
2
|
def listinstalledfiles
|
3
|
-
|
4
|
-
|
3
|
+
fileList = Dir.new("installed").entries.sort.reverse.delete_if { |x| ! (x =~ /inf$/) }
|
4
|
+
@filesresult = fileList.rwd_method("fillappletname")
|
5
5
|
end
|
6
|
-
|
6
|
+
|
7
7
|
def fillappletname(inffile)
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
end
|
8
|
+
applet = inffile.gsub(/\.inf$/, "")
|
9
|
+
@a_installlist = applet
|
10
|
+
@a_removeapplet = applet
|
11
|
+
end
|
12
|
+
|
@@ -1,31 +1,27 @@
|
|
1
1
|
# this code is to list the zipped applets that can be installed
|
2
|
-
|
3
|
-
|
4
2
|
def fillziptoinstallname(inffile)
|
5
|
-
|
6
|
-
|
7
|
-
|
3
|
+
applet = inffile.gsub(/\.zip$/, "")
|
4
|
+
@a_installapplet = applet
|
5
|
+
|
8
6
|
end
|
9
|
-
|
10
7
|
|
11
|
-
|
12
|
-
|
13
8
|
def listzipfilestoinstall
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
9
|
+
startlangdir = File.join($progdir, $zipslocation )
|
10
|
+
#get a list of the files and subdirectories on the starting directory only
|
11
|
+
|
12
|
+
|
13
|
+
a = Array.new(Dir["#{startlangdir}/*"].entries.sort)
|
14
|
+
|
15
|
+
#loop through and get the files names
|
16
|
+
a.each do |x|
|
17
|
+
# only zip files
|
18
|
+
if x =~ /\.zip/
|
19
|
+
# puts "#{x}" #adds the file to the array to display on the screen
|
20
|
+
$zipsarraylocal = $zipsarraylocal | ["#{x}"]
|
21
|
+
end
|
22
|
+
|
23
|
+
end
|
24
|
+
|
25
|
+
@zipslistresult = $zipsarraylocal.rwd_method("fillziptoinstallname")
|
26
|
+
end
|
27
|
+
|
@@ -1,32 +1,33 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
1
|
+
# this method puts the configuration rexord on the screen
|
2
|
+
def loadconfigurationrecord
|
3
|
+
|
4
|
+
require 'fileutils'
|
5
|
+
if TinkerWin2ConfigurationFileName
|
6
|
+
@a_configurationfilename = TinkerWin2ConfigurationFileName
|
7
|
+
end
|
8
|
+
|
9
|
+
begin # exception trapped block
|
10
|
+
|
11
|
+
Dir.chdir($progdir)
|
12
|
+
fileName = File.join(ConfigurationDir, TinkerWin2ConfigurationFileName)
|
13
|
+
|
14
|
+
fd = File.open(fileName,"r")
|
15
|
+
@a_configline1= fd.readline.chomp
|
16
|
+
@a_configline2 = fd.readline.chomp
|
17
|
+
@a_configline3 = fd.readline.chomp
|
18
|
+
@a_configline4 = fd.readline.chomp
|
19
|
+
@a_configline5 = fd.readline.chomp
|
20
|
+
@a_configline6 = fd.readline.chomp
|
21
|
+
@a_configline7 =fd.readline.chomp
|
22
|
+
@a_configline8 = fd.readline.chomp
|
23
|
+
|
24
|
+
while ! fd.eof?
|
25
|
+
@extraconfigdatadisplay = fd.readline
|
26
|
+
end
|
27
|
+
fd.close
|
28
|
+
rescue SystemCallError, StandardError
|
29
|
+
$stderr.print "system call error: " + $!
|
30
|
+
end # exception rescue
|
31
|
+
|
32
|
+
end
|
31
33
|
|
32
|
-
end
|
@@ -1,13 +1,14 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
@newconfigurationresult = "Config Variables loaded"
|
9
|
-
rescue
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
1
|
+
# this method loads the on screen variables into the running class
|
2
|
+
def loadconfigurationvariables
|
3
|
+
|
4
|
+
configfiletoload = File.join(ConfigurationDir,TinkerWin2ConfigurationFileName)
|
5
|
+
begin
|
6
|
+
load configfiletoload
|
7
|
+
@extraconfigdatadisplay = ""
|
8
|
+
@newconfigurationresult = "Config Variables loaded"
|
9
|
+
rescue
|
10
|
+
@extraconfigdatadisplay = ""
|
11
|
+
@newconfigurationresult = "loading error"
|
12
|
+
end
|
13
|
+
end
|
14
|
+
|
@@ -1,87 +1,87 @@
|
|
1
|
-
|
1
|
+
#network
|
2
2
|
require 'socket' # Network stuff
|
3
3
|
require 'timeout' # Timeout functions
|
4
4
|
|
5
5
|
def network_start
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
end
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
openportfound = false
|
23
|
-
until openportfound
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
6
|
+
if RUBY_PLATFORM != "i386-mswin32"
|
7
|
+
processone = fork {
|
8
|
+
network_demon }
|
9
|
+
Process.detach(processone)
|
10
|
+
|
11
|
+
else
|
12
|
+
puts "fork not tried winXP?"
|
13
|
+
end
|
14
|
+
@viewremotecommandresult = "starting controller on next available port"
|
15
|
+
end
|
16
|
+
|
17
|
+
def network_demon
|
18
|
+
# Find configuration variables
|
19
|
+
host = "127.0.0.1"
|
20
|
+
port = $rwdcontrolports[0].to_i
|
21
|
+
|
22
|
+
openportfound = false
|
23
|
+
until openportfound
|
24
|
+
|
25
|
+
# Create a socket to listen on and bind it to the host and port
|
26
|
+
begin
|
27
|
+
@socket = UDPSocket::new()
|
28
|
+
@socket.bind(host, port)
|
29
|
+
# Rescue the "Address in use" error
|
30
|
+
openportfound = true
|
31
|
+
|
32
|
+
rescue Errno::EADDRINUSE
|
33
|
+
puts "controller startup: Port #{port} on host #{host} is already in use."
|
34
|
+
port=port+1
|
35
|
+
# Rescue the "Address not available' error
|
36
|
+
rescue Errno::EADDRNOTAVAIL
|
37
|
+
puts "Network plugin: Address #{host} is not available to bind."
|
38
|
+
port=port+1
|
39
|
+
# Rescue "permission denied errors
|
40
|
+
rescue Errno::EACCES
|
41
|
+
puts "controller startup: Access denied when binding interface addresses. Did you try to bind a port under 1024 as a regular user?"
|
42
|
+
port=port+1
|
43
|
+
# Rescue all other errors
|
44
|
+
rescue
|
45
|
+
puts "Network plugin: An error occured."
|
46
|
+
port = port+1
|
47
|
+
# Rescue all other errors
|
48
|
+
end
|
49
|
+
|
50
|
+
end
|
51
|
+
|
52
|
+
|
53
|
+
# Get all acceptable hosts
|
54
|
+
hosts = ["localhost","vaio-sag"]
|
55
|
+
# Do some nice errorchecking
|
56
|
+
if(hosts.type != Array)
|
57
|
+
puts "Network plugin: No hosts found in networkConfig/acceptHosts. Shutting down plugin."
|
58
|
+
return -1 # Return the errorcode for plugin failure
|
59
|
+
end
|
60
|
+
|
61
|
+
# Main loop
|
62
|
+
while(true)
|
63
|
+
# Get data and client data from the client
|
64
|
+
data, info = @socket.recvfrom(256)
|
65
|
+
|
66
|
+
# Is this an acceptable IP address?
|
67
|
+
if(hosts.include?(info[2]) || hosts.include?(info[3]))
|
68
|
+
command, parameter = data.split(';')
|
69
|
+
|
70
|
+
# Command actions
|
71
|
+
command.downcase!()
|
72
|
+
case command
|
73
|
+
|
74
|
+
when 'stop'
|
75
|
+
@socket.send("hello world",0,info[3],info[1].to_i)
|
76
|
+
|
77
|
+
when 'query'
|
78
|
+
@socket.send("#{$rwdapplicationidentity} on port #{$port}",0,info[3],info[1].to_i)
|
79
|
+
|
80
|
+
|
81
|
+
end # case command
|
82
|
+
|
83
|
+
end # Access control if
|
84
|
+
end # while(true)
|
85
|
+
|
86
|
+
end # Network::start()
|
87
87
|
|