rwdschedule 0.98 → 0.99
Sign up to get free protection for your applications and to get access to all the features.
- data/Readme.txt +226 -400
- data/code/01rwdcore/01rwdcore.rb +16 -16
- data/code/01rwdcore/jumplinkcommand.rb +26 -0
- data/code/01rwdcore/openhelpwindow.rb +26 -26
- data/code/01rwdcore/returntomain.rb +8 -8
- data/code/01rwdcore/rundocuments.rb +10 -0
- data/code/01rwdcore/runeditconfiguration.rb +10 -0
- data/code/01rwdcore/runhelpabout.rb +10 -0
- data/code/01rwdcore/rwdtinkerversion.rb +12 -13
- data/code/01rwdcore/rwdwindowreturn.rb +3 -5
- data/code/01rwdcore/selectiontab.rb +9 -0
- data/code/01rwdcore/test_cases.rb +81 -98
- data/code/01rwdcore/test_harness.rb +8 -10
- data/code/01rwdcore/uploadreturns.rb +60 -60
- 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/runremoteinstall.rb +11 -0
- 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/code/superant.com.schedule/jumplinkupdate.rb +11 -0
- data/configuration/language.dist +1 -1
- data/configuration/rwdapplicationidentity.dist +2 -2
- data/configuration/rwdschedule.dist +2 -2
- data/configuration/rwdtinker.dist +3 -3
- data/configuration/tinkerwin2variables.dist +1 -1
- data/gui/00coreguibegin/applicationguitop.rwd +1 -1
- data/gui/frontwindowselectionbegin/selectiontabbegin/selectiontabbegin.rwd +2 -7
- data/gui/frontwindowselections/superant.com.rwdtinkerwin2selectiontab/jumplinkcommands.rwd +15 -0
- data/gui/tinkerbackwindows/superant.com.rwdschedulebackwindow/70rwddiagnostics.rwd +0 -17
- data/gui/tinkerbackwindows/superant.com.rwdschedulebackwindow/m01menubegin.rwd +12 -4
- data/gui/tinkerbackwindows/superant.com.rwdschedulesback/m01menubegin.rwd +12 -4
- data/gui/tinkerbackwindows/superant.com.tinkerbackwindow/81jumplinkcommands.rwd +17 -0
- data/init.rb +228 -228
- data/rwd_files/HowTo_Schedule.txt +6 -0
- data/rwd_files/HowTo_Tinker.txt +11 -0
- data/rwdconfig.dist +4 -2
- data/tests/makedist.rb +36 -7
- metadata +12 -36
- data/extras/cmdline_parse +0 -47
- data/extras/config_file +0 -69
- data/extras/errorMsg +0 -19
- data/extras/makePlaylist +0 -34
- data/extras/mp3controld +0 -289
- data/extras/playlist +0 -186
- data/extras/showHelp +0 -18
- data/gui/frontwindow0/superant.com.zmenus/m01menubegin.rwd +0 -10
- data/gui/frontwindow0/superant.com.zmenus/m02menu.rwd +0 -36
- data/gui/frontwindow0/superant.com.zmenus/m03menu.rwd +0 -15
- data/gui/frontwindow0/superant.com.zmenus/m85menu.rwd +0 -21
- data/gui/frontwindow0/superant.com.zmenus/m88menu.rwd +0 -12
- data/gui/frontwindow0/superant.com.zmenus/m99menuend.rwd +0 -3
- data/gui/frontwindowselections/superant.com.rwdscheduleselectiontab/rwdschedulessyncselectiontab.rwd +0 -12
- data/gui/frontwindowselections/superant.com.rwdtinkerwin2selectiontab/rwdwin2selectiontab.rwd +0 -12
- data/gui/frontwindowselections/superant.com.schedulebackselection/rwdscheduleiscselectiontab.rwd +0 -12
- data/gui/tinkerbackwindows/superant.com.rwdschedulebackwindow/m02menu.rwd +0 -36
- data/gui/tinkerbackwindows/superant.com.rwdschedulebackwindow/m03menu.rwd +0 -11
- data/gui/tinkerbackwindows/superant.com.rwdschedulebackwindow/m85menu.rwd +0 -21
- data/gui/tinkerbackwindows/superant.com.rwdschedulebackwindow/m88menu.rwd +0 -12
- data/gui/tinkerbackwindows/superant.com.rwdschedulebackwindow/m99menuend.rwd +0 -3
- data/gui/tinkerbackwindows/superant.com.rwdschedulesback/m02menu.rwd +0 -36
- data/gui/tinkerbackwindows/superant.com.rwdschedulesback/m03menu.rwd +0 -12
- data/gui/tinkerbackwindows/superant.com.rwdschedulesback/m85menu.rwd +0 -21
- data/gui/tinkerbackwindows/superant.com.rwdschedulesback/m88menu.rwd +0 -12
- data/gui/tinkerbackwindows/superant.com.rwdschedulesback/m99menuend.rwd +0 -3
- data/gui/tinkerbackwindows/superant.com.tinkerbackwindow/80tab1.rwd +0 -11
- data/tests/rwdtinkertestEN.rb +0 -163
- data/tests/test.result +0 -32
@@ -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
|
|