bigtinker 0.95 → 0.96
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 +20 -7
- data/code/superant.com.rwdaddresses/0uninstallapplet.rb +14 -0
- data/code/superant.com.rwdaddresses/attachtmpcontactphoto.rb +24 -0
- data/code/superant.com.rwdaddresses/clearscreendisplay.rb +15 -0
- data/code/superant.com.rwdaddresses/createnewnamerecord.rb +19 -0
- data/code/superant.com.rwdaddresses/deletecontactrecord.rb +25 -0
- data/code/superant.com.rwdaddresses/deleterwdaddressesupdatefiles.rb +19 -0
- data/code/superant.com.rwdaddresses/downloadrwdaddressfiles.rb +36 -0
- data/code/superant.com.rwdaddresses/helptexthashrwdaddresses.rb +69 -0
- data/code/superant.com.rwdaddresses/listnamerecord.rb +15 -0
- data/code/superant.com.rwdaddresses/listvcardrecord.rb +15 -0
- data/code/{superant.com.schedule → superant.com.rwdaddresses}/loadconfigurationrecord.rb +4 -4
- data/code/superant.com.rwdaddresses/loadconfigurationvariables.rb +15 -0
- data/code/superant.com.rwdaddresses/loadnamerecord.rb +30 -0
- data/code/superant.com.rwdaddresses/openhelpwindowrwdaddresses.rb +30 -0
- data/code/superant.com.rwdaddresses/renamecontact.rb +15 -0
- data/code/superant.com.rwdaddresses/runaddresseswindow.rb +10 -0
- data/code/superant.com.rwdaddresses/runrwdaddressesmenu1.rb +34 -0
- data/code/superant.com.rwdaddresses/runrwdaddresssyncbackwindow.rb +10 -0
- data/code/superant.com.rwdaddresses/rwdaddressesbackwindow.rb +10 -0
- data/code/superant.com.rwdaddresses/rwdaddresseshelpabout.rb +10 -0
- data/code/superant.com.rwdaddresses/saveconfigurationrecord.rb +20 -0
- data/code/superant.com.rwdaddresses/savevcardrecord.rb +76 -0
- data/code/superant.com.rwdaddresses/syncrwdaddress.rb +28 -0
- data/code/{superant.com.schedule → superant.com.rwdaddresses}/test_cases.rb +10 -10
- data/code/superant.com.rwdaddresses/uploadrwdaddressfiles.rb +30 -0
- data/code/superant.com.rwdaddresses/viewaddressconfiguration.rb +21 -0
- data/code/superant.com.rwdaddresses/viewnamedata.rb +28 -0
- data/code/superant.com.rwdaddresses/viewphoto.rb +4 -0
- data/code/superant.com.rwdaddresses/viewrwdaddressesconfiguration.rb +23 -0
- data/code/superant.com.rwdaddresses/viewtmpcontactphoto.rb +12 -0
- data/code/superant.com.rwdaddresses/viewvcarddata.rb +22 -0
- data/code/superant.com.rwdcalc/ca2multiply.rb +10 -0
- data/code/superant.com.rwdcalc/changescriptname.rb +16 -0
- data/code/superant.com.rwdcalc/clearscriptscreendisplay.rb +9 -0
- data/code/superant.com.rwdcalc/deletescriptrecord.rb +20 -0
- data/code/superant.com.rwdcalc/fadd.rb +10 -0
- data/code/superant.com.rwdcalc/frwdcleartape.rb +9 -0
- data/code/superant.com.rwdcalc/frwddivide.rb +10 -0
- data/code/superant.com.rwdcalc/frwdmultiply.rb +10 -0
- data/code/superant.com.rwdcalc/frwdsubtract.rb +10 -0
- data/code/superant.com.rwdcalc/helptexthashrwdcalc.rb +16 -0
- data/code/superant.com.rwdcalc/listscripts.rb +13 -0
- data/code/superant.com.rwdcalc/loadscriptrecord.rb +20 -0
- data/code/superant.com.rwdcalc/mathcommands.rb +53 -0
- data/code/superant.com.rwdcalc/openhelpwindowrwdcalc.rb +21 -0
- data/code/superant.com.rwdcalc/playscript.rb +22 -0
- data/code/superant.com.rwdcalc/renamecalcrecord.rb +14 -0
- data/code/{superant.com.rwdshell/returntomain.rb → superant.com.rwdcalc/runrwdcalcwindow.rb} +9 -9
- data/code/superant.com.rwdcalc/rwdadd.rb +10 -0
- data/code/{superant.com.schedule/rwdmoviesversion.rb → superant.com.rwdcalc/rwdcalcversion.rb} +2 -2
- data/code/superant.com.rwdcalc/rwdcleartape.rb +9 -0
- data/code/superant.com.rwdcalc/rwddivision.rb +10 -0
- data/code/superant.com.rwdcalc/rwdsubtraction.rb +10 -0
- data/code/superant.com.rwdcalc/savechangedscript.rb +19 -0
- data/code/superant.com.rwdcalc/uninstallapplet.rb +31 -0
- data/code/superant.com.rwdcalc/viewscript.rb +18 -0
- data/code/superant.com.rwdshell/0runrefreshacpi.rb +7 -0
- data/code/superant.com.rwdshell/0uninstallapplet.rb +7 -7
- data/code/superant.com.rwdshell/helptexthashshell.rb +13 -1
- data/code/superant.com.rwdshell/loadconfigurationrecord.rb +3 -3
- data/code/superant.com.rwdshell/loadconfigurationvariables.rb +2 -2
- data/code/superant.com.rwdshell/openhelpwindowshell.rb +3 -1
- data/code/superant.com.rwdshell/refresh.rb +19 -0
- data/code/superant.com.rwdshell/refreshacpi.rb +16 -0
- data/code/superant.com.rwdshell/rubyeval.rb +15 -20
- data/code/superant.com.rwdshell/runrwdshellbackwindow.rb +3 -3
- data/code/superant.com.rwdshell/runrwdshellwindow.rb +2 -2
- data/code/superant.com.rwdshell/rwdtinkerversion.rb +2 -2
- data/code/superant.com.rwdshell/saveconfigurationrecord.rb +1 -1
- data/code/superant.com.rwdshell/test_cases.rb +1 -1
- data/code/superant.com.rwdtinkerbackwindow/initiateapplets.rb +39 -34
- data/code/superant.com.rwdtinkerbackwindow/installgemapplet.rb +9 -7
- data/code/superant.com.rwdtinkerbackwindow/listzips.rb +8 -2
- data/code/superant.com.rwdtinkerbackwindow/removeappletvariables.rb +8 -6
- data/code/superant.com.rwdtinkerbackwindow/viewlogfile.rb +13 -0
- data/configuration/bigtinker.dist +2 -2
- data/configuration/language.dist +2 -2
- data/configuration/rwdapplicationidentity.dist +1 -1
- data/configuration/rwdtinker.dist +4 -7
- data/configuration/rwdwaddresses.dist +24 -0
- data/configuration/rwdwcalc.dist +19 -0
- data/configuration/rwdwruby.dist +24 -0
- data/configuration/tinkerwin2variables.dist +8 -7
- data/gui/tinkerbackwindows/superant.com.addressesphotowindow/yy7addressesphoto.rwd +6 -0
- data/gui/tinkerbackwindows/superant.com.ashellscripts/1appname.rwd +1 -1
- data/gui/tinkerbackwindows/superant.com.ashellscripts/1rwdrubyeval.rwd +2 -1
- data/gui/tinkerbackwindows/superant.com.ashellscripts/2arubyeval.rwd +17 -0
- data/gui/tinkerbackwindows/superant.com.refreshacpi/1appname.rwd +4 -0
- data/gui/tinkerbackwindows/superant.com.refreshacpi/2rwdrefresh.rwd +14 -0
- data/gui/tinkerbackwindows/superant.com.refreshacpi/3rwdacpirefresh.rwd +14 -0
- data/gui/tinkerbackwindows/superant.com.refreshacpi/81jumplinkcommands.rwd +17 -0
- data/gui/tinkerbackwindows/{superant.com.rwdschedules/zvbackend.rwd → superant.com.refreshacpi/z9end.rwd} +6 -6
- data/gui/tinkerbackwindows/superant.com.rwdaddresses/10appletbegin.rwd +4 -0
- data/gui/tinkerbackwindows/superant.com.rwdaddresses/11viewnamedata.rwd +19 -0
- data/gui/tinkerbackwindows/superant.com.rwdaddresses/13listnamerecordfiles.rwd +21 -0
- data/gui/tinkerbackwindows/superant.com.rwdaddresses/16editrecord.rwd +39 -0
- data/gui/tinkerbackwindows/superant.com.rwdaddresses/17viewvcardrecord.rwd +32 -0
- data/gui/tinkerbackwindows/superant.com.rwdaddresses/18contactutilities.rwd +34 -0
- data/gui/tinkerbackwindows/superant.com.rwdaddresses/81jumplinkcommands.rwd +17 -0
- data/gui/tinkerbackwindows/{superant.com.rwdschedulesback/zvbackend.rwd → superant.com.rwdaddresses/9end.rwd} +6 -6
- data/gui/tinkerbackwindows/superant.com.rwdaddressessyncbackwindow/1appname.rwd +5 -0
- data/gui/tinkerbackwindows/superant.com.rwdaddressessyncbackwindow/20downloadftp.rwd +45 -0
- data/gui/tinkerbackwindows/{superant.com.rwdschedulebackwindow → superant.com.rwdaddressessyncbackwindow}/70rwddiagnostics.rwd +23 -16
- data/gui/tinkerbackwindows/superant.com.rwdaddressessyncbackwindow/87viewconfiguration.rwd +34 -0
- data/gui/tinkerbackwindows/superant.com.rwdaddressessyncbackwindow/94selectiontab.rwd +11 -0
- data/gui/tinkerbackwindows/{superant.com.rwdschedules/m01menubegin.rwd → superant.com.rwdaddressessyncbackwindow/95jumplink.rwd} +2 -5
- data/gui/tinkerbackwindows/superant.com.rwdaddressessyncbackwindow/97selectionend.rwd +3 -0
- data/gui/tinkerbackwindows/{superant.com.rwdschedulebackwindow → superant.com.rwdaddressessyncbackwindow}/zvbackend.rwd +6 -6
- data/gui/tinkerbackwindows/superant.com.rwdcalc/1appname.rwd +4 -0
- data/gui/tinkerbackwindows/superant.com.rwdcalc/20floatrwdcalc.rwd +24 -0
- data/gui/tinkerbackwindows/superant.com.rwdcalc/30intrwdcalc.rwd +25 -0
- data/gui/tinkerbackwindows/superant.com.rwdcalc/35mathcommands.rwd +25 -0
- data/gui/tinkerbackwindows/superant.com.rwdcalc/44listplayscripts.rwd +19 -0
- data/gui/tinkerbackwindows/superant.com.rwdcalc/45listscripts.rwd +25 -0
- data/gui/tinkerbackwindows/superant.com.rwdcalc/46editscriptrecord.rwd +30 -0
- data/gui/tinkerbackwindows/superant.com.rwdcalc/4scriptutilities.rwd +25 -0
- data/gui/tinkerbackwindows/{superant.com.rwdschedulesback/m01menubegin.rwd → superant.com.rwdcalc/77jumplinkcommands.rwd} +4 -5
- data/gui/tinkerbackwindows/superant.com.rwdcalc/z9end.rwd +6 -0
- data/gui/tinkerbackwindows/superant.com.rwdshellbackwindow/1appname.rwd +1 -1
- data/gui/tinkerbackwindows/superant.com.rwdshellbackwindow/92viewconfiguration.rwd +1 -1
- data/gui/tinkerbackwindows/superant.com.tinkerbackwindow/75rwdlogfile.rwd +20 -0
- data/init.rb +5 -0
- data/installed/rwdaddressesdata2.inf +7 -0
- data/installed/{rwdshelldata1.inf → rwdrubydata1.inf} +1 -1
- data/installed/rwdwaddresses.inf +13 -0
- data/installed/rwdwcalc.inf +10 -0
- data/installed/rwdwruby.inf +12 -0
- data/lang/en/rwdcore/languagefile.rb +1 -0
- data/lang/es/rwdcore/languagefile-es.rb +1 -0
- data/lang/fr/rwdcore/languagefile.rb +1 -0
- data/lang/jp/rwdcore/languagefile.rb +1 -0
- data/lang/nl/rwdcore/languagefile.rb +1 -0
- data/lib/rconftool.rb +13 -6
- data/lib/rwd/net.rb +15 -4
- data/lib/rwd/ruby.rb +1 -1
- data/lib/rwd/rwd.rb +103 -620
- data/lib/rwdthemes/default.rwd +317 -0
- data/lib/rwdthemes/pda.rwd +72 -0
- data/lib/rwdthemes/windowslike.rwd +171 -0
- data/lib/rwdtinker/rwdtinkertools.rb +24 -0
- data/names/Angelina Jolie.jpg +0 -0
- data/names/Angelina Jolie.nam +8 -0
- data/names/Angelina Jolie.vcf +8 -0
- data/names/Steven Gibson.jpg +0 -0
- data/names/Steven Gibson.nam +5 -0
- data/names/elektra.jpg +0 -0
- data/names/elektra.nam +7 -0
- data/names/nophoto.jpg +0 -0
- data/rwd_files/HowTo_Addresses.txt +272 -0
- data/rwd_files/HowTo_BigTinker.txt +11 -0
- data/rwd_files/{HowTo_Shell.txt → HowTo_Ruby.txt} +35 -4
- data/rwd_files/HowTo_RwdCalc.txt +127 -0
- data/rwd_files/HowTo_Tinker.txt +17 -1
- data/rwd_files/contacttmp.jpg +0 -0
- data/rwd_files/log/rwdtinker.log +2 -0
- data/rwdconfig.dist +14 -13
- data/scripts/test02.math +2 -0
- data/tests/{makedist-rwdwhypernote.rb → makedist-rwdwaddesses.rb} +3 -3
- data/tests/makedist-rwdwcalc.rb +58 -0
- data/tests/{makedist-rwdwshell.rb → makedist-rwdwruby.rb} +7 -5
- data/tests/makedist.rb +1 -1
- data/updates/temp.rb +1 -0
- data/zips/{rwdwaddresses-1.05.zip → rwdwaddresses-1.07.zip} +0 -0
- data/zips/rwdwcalc-0.63.zip +0 -0
- data/zips/rwdwfoldeditor-0.05.zip +0 -0
- data/zips/{rwdwgutenberg-0.09.zip → rwdwgutenberg-0.11.zip} +0 -0
- data/zips/rwdwhypernote-0.15.zip +0 -0
- data/zips/rwdwruby-1.08.zip +0 -0
- data/zips/{rwdwschedule-1.04.zip → rwdwschedule-1.05.zip} +0 -0
- data/zips/rwdwtorrent-0.07.zip +0 -0
- data/zips/wrubyslippers-1.07.zip +0 -0
- metadata +148 -103
- data/code/superant.com.rwdcalendar/gh9calendar.rb +0 -40
- data/code/superant.com.rwdcalendar/helptexthashrwdschedule.rb +0 -14
- data/code/superant.com.rwdcalendar/openhelpwindowrwdschedule.rb +0 -17
- data/code/superant.com.schedule/0uninstallapplet.rb +0 -15
- data/code/superant.com.schedule/archiveevent.rb +0 -14
- data/code/superant.com.schedule/archiveicsevent.rb +0 -14
- data/code/superant.com.schedule/cleareventscreendisplay.rb +0 -19
- data/code/superant.com.schedule/deleteeventrecord.rb +0 -19
- data/code/superant.com.schedule/deleteicseventrecord.rb +0 -19
- data/code/superant.com.schedule/deleterwdscheduleupdatefiles.rb +0 -20
- data/code/superant.com.schedule/downloadrwdschedulefiles.rb +0 -37
- data/code/superant.com.schedule/exporticseventrecord.rb +0 -97
- data/code/superant.com.schedule/helptexthashrwdschedule.rb +0 -82
- data/code/superant.com.schedule/listeventdates.rb +0 -19
- data/code/superant.com.schedule/listicseventdates.rb +0 -19
- data/code/superant.com.schedule/loadconfigurationvariables.rb +0 -14
- data/code/superant.com.schedule/loadeventrecord.rb +0 -38
- data/code/superant.com.schedule/loadicseventrecord.rb +0 -30
- data/code/superant.com.schedule/openhelpwindowrwdschedule.rb +0 -43
- data/code/superant.com.schedule/renameeventdata.rb +0 -14
- data/code/superant.com.schedule/renameicseventdata.rb +0 -17
- data/code/superant.com.schedule/returntomain.rb +0 -10
- data/code/superant.com.schedule/runrwdscheduleicsbackwindow.rb +0 -10
- data/code/superant.com.schedule/runrwdschedulemenu1.rb +0 -34
- data/code/superant.com.schedule/runrwdschedulesyncbackwindow.rb +0 -10
- data/code/superant.com.schedule/saveconfigurationrecord.rb +0 -19
- data/code/superant.com.schedule/saveeventrecord.rb +0 -25
- data/code/superant.com.schedule/saveicseventrecord.rb +0 -98
- data/code/superant.com.schedule/syncrwdschedule.rb +0 -30
- data/code/superant.com.schedule/uploadrwdschedulefiles.rb +0 -30
- data/code/superant.com.schedule/viewevent.rb +0 -20
- data/code/superant.com.schedule/viewicsevent.rb +0 -20
- data/code/superant.com.schedule/viewrwdschedulesconfiguration.rb +0 -21
- data/configuration/rwdwschedule-1.04.dist +0 -25
- data/configuration/rwdwshell-1.04.dist +0 -16
- data/extras/cal.rb +0 -158
- data/extras/icalendar/base.rb +0 -17
- data/extras/icalendar/calendar.rb +0 -44
- data/extras/icalendar/calendar_parser.rb +0 -237
- data/extras/icalendar/component/alarm.rb +0 -16
- data/extras/icalendar/component/event.rb +0 -25
- data/extras/icalendar/component/freebusy.rb +0 -12
- data/extras/icalendar/component/journal.rb +0 -25
- data/extras/icalendar/component/timezone.rb +0 -26
- data/extras/icalendar/component/todo.rb +0 -21
- data/extras/icalendar/component.rb +0 -91
- data/extras/icalendar/helpers.rb +0 -103
- data/extras/icalendar/parameter.rb +0 -25
- data/extras/icalendar.rb +0 -18
- data/gui/tinkerbackwindows/superant.com.rwdschedulebackwindow/1appname.rwd +0 -5
- data/gui/tinkerbackwindows/superant.com.rwdschedulebackwindow/20downloadftp.rwd +0 -45
- data/gui/tinkerbackwindows/superant.com.rwdschedulebackwindow/67viewconfiguration.rwd +0 -29
- data/gui/tinkerbackwindows/superant.com.rwdschedulebackwindow/m01menubegin.rwd +0 -18
- data/gui/tinkerbackwindows/superant.com.rwdschedules/1appname.rwd +0 -5
- data/gui/tinkerbackwindows/superant.com.rwdschedules/gg0viewevent.rwd +0 -27
- data/gui/tinkerbackwindows/superant.com.rwdschedules/gl6editrecord.rwd +0 -56
- data/gui/tinkerbackwindows/superant.com.rwdschedules/gl8contactutilities.rwd +0 -25
- data/gui/tinkerbackwindows/superant.com.rwdschedules/hl9calendar.rwd +0 -27
- data/gui/tinkerbackwindows/superant.com.rwdschedulesback/1appname.rwd +0 -5
- data/gui/tinkerbackwindows/superant.com.rwdschedulesback/30viewevent.rwd +0 -27
- data/gui/tinkerbackwindows/superant.com.rwdschedulesback/40editrecord.rwd +0 -49
- data/gui/tinkerbackwindows/superant.com.rwdschedulesback/60eventicsutilities.rwd +0 -25
- data/installed/rwdscheduledate2.inf +0 -6
- data/installed/rwdwschedule-1.04.inf +0 -17
- data/installed/rwdwshell-1.04.inf +0 -11
- data/lang/en/rwdcalendar/calendar-en.rb +0 -6
- data/lang/es/rwdcalendar/calendar-nl.rb +0 -6
- data/lang/nl/rwdcalendar/calendar-nl.rb +0 -6
- data/rwd_files/HowTo_RubyEval.html +0 -80
- data/rwd_files/HowTo_Schedule.txt +0 -257
- data/zips/rwdwcalc-0.61.zip +0 -0
- data/zips/rwdwshell-1.04.zip +0 -0
- data/zips/wrubyslippers-1.06.zip +0 -0
- /data/gui/tinkerbackwindows/{superant.com.rwdshellbackwindow → superant.com.ashellscripts}/44listplayscripts.rwd +0 -0
- /data/gui/tinkerbackwindows/{superant.com.rwdshellbackwindow → superant.com.ashellscripts}/45listscripts.rwd +0 -0
- /data/gui/tinkerbackwindows/{superant.com.rwdshellbackwindow → superant.com.ashellscripts}/46editscriptrecord.rwd +0 -0
- /data/gui/tinkerbackwindows/{superant.com.ashellscripts → superant.com.rwdshellbackwindow}/2listplayscripts.rwd +0 -0
- /data/gui/tinkerbackwindows/{superant.com.ashellscripts → superant.com.rwdshellbackwindow}/2listscripts.rwd +0 -0
- /data/gui/tinkerbackwindows/{superant.com.ashellscripts → superant.com.rwdshellbackwindow}/3editscripts.rwd +0 -0
- /data/gui/tinkerbackwindows/{superant.com.ashellscripts → superant.com.rwdshellbackwindow}/4scriptutilities.rwd +0 -0
- /data/gui/tinkerbackwindows/{superant.com.ashellscripts → superant.com.rwdshellbackwindow}/6rwdshelleval.rwd +0 -0
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
def viewicsevent
|
|
2
|
-
require 'fileutils'
|
|
3
|
-
$currenticseventtext = "%s" % [@a_viewicsevent]
|
|
4
|
-
|
|
5
|
-
begin # exception trapped block
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
fileName = $rwdschedule_directory + "/" + $currenticseventtext + ".ics"
|
|
9
|
-
|
|
10
|
-
fd = File.open(fileName,"r")
|
|
11
|
-
@displayicsevent = " "
|
|
12
|
-
while ! fd.eof?
|
|
13
|
-
@displayicsevent = fd.read
|
|
14
|
-
end
|
|
15
|
-
fd.close
|
|
16
|
-
rescue SystemCallError, StandardError
|
|
17
|
-
$stderr.print "system call error: " + $!
|
|
18
|
-
end # exception rescue
|
|
19
|
-
|
|
20
|
-
end
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
def viewrwdschedulesconfiguration
|
|
2
|
-
require 'fileutils'
|
|
3
|
-
begin # exception trapped block
|
|
4
|
-
|
|
5
|
-
Dir.chdir($progdir)
|
|
6
|
-
rwdschedulesconfigurationfile = File.join( "configuration", RwdScheduleName )
|
|
7
|
-
if File.exist?(rwdschedulesconfigurationfile)
|
|
8
|
-
fd = File.open(rwdschedulesconfigurationfile,"r")
|
|
9
|
-
@rwdschedulesconfigurationtext = " "
|
|
10
|
-
while ! fd.eof?
|
|
11
|
-
@rwdschedulesconfigurationtext = fd.read
|
|
12
|
-
end
|
|
13
|
-
fd.close
|
|
14
|
-
else
|
|
15
|
-
@rwdschedulesconfigurationtext = "File error"
|
|
16
|
-
end
|
|
17
|
-
rescue SystemCallError, StandardError
|
|
18
|
-
$stderr.print "system call error: " + $!
|
|
19
|
-
@rwdschedulesconfigurationtext = "File error"
|
|
20
|
-
end # exception rescue
|
|
21
|
-
end
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
##VERSION:1.04
|
|
2
|
-
##NAME: $rwdschedule_directory:0
|
|
3
|
-
$rwdschedule_directory = "schedules"
|
|
4
|
-
##NAME: $rwdschedule_ftpsite:0
|
|
5
|
-
$rwdschedule_ftpsite = "ftp.site.com"
|
|
6
|
-
##NAME: $rwdschedule_ftplogin:0
|
|
7
|
-
$rwdschedule_ftplogin = "login"
|
|
8
|
-
##NAME: $rwdschedule_ftppassword:0
|
|
9
|
-
$rwdschedule_ftppassword = "anonymous"
|
|
10
|
-
##NAME: $rwdschedule_ftpdirectory:0
|
|
11
|
-
$rwdschedule_ftpdirectory = "/incoming/rwdschedules"
|
|
12
|
-
##NAME: $rwdschedule_updatedirectory:0
|
|
13
|
-
$rwdschedule_updatedirectory = "updates"
|
|
14
|
-
$testharnessarray += ["rwdschedule_all_tests"]
|
|
15
|
-
$tinkerhelpaboutarray += ["RwdSchedule"]
|
|
16
|
-
$tinkerdocumentsarray += ["HowTo_Schedule.txt"]
|
|
17
|
-
$extras_directory = "extras"
|
|
18
|
-
##NAME:JumpLink:0
|
|
19
|
-
JumpLink.update(:RwdScheduleConfiguration=>"runrwdschedulemenu10", :ScheduleEditRecord=>"runrwdschedulemenu1", :ScheduleICSwindow=>"runrwdscheduleicsbackwindow")
|
|
20
|
-
##NAME:rwdjumplink:0
|
|
21
|
-
$rwdjumplink +=["ScheduleICSwindow","ScheduleEditRecord","RwdScheduleConfiguration"]
|
|
22
|
-
##NAME:RwdScheduleVersion:0
|
|
23
|
-
RwdScheduleVersion = "1.04"
|
|
24
|
-
##NAME:RwdScheduleName:0
|
|
25
|
-
RwdScheduleName = "rwdwschedule"
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
##VERSION:1.04
|
|
2
|
-
##NAME:$shellscript_directory:0
|
|
3
|
-
$shellscript_directory = "scripts"
|
|
4
|
-
##NAME:$testharnessarray:0
|
|
5
|
-
$testharnessarray += ["rwdshell_all_tests"]
|
|
6
|
-
##NAME:$tinkerhelpaboutarray:0
|
|
7
|
-
$tinkerhelpaboutarray += ["RwdShell"]
|
|
8
|
-
##NAME:$tinkerdocumentsarray
|
|
9
|
-
$tinkerdocumentsarray += ["HowTo_Shell.txt"]
|
|
10
|
-
JumpLink.update(:RwdShellBackWindow=>"runrwdshellbackwindow", :RunShell=>"runrwdshellwindow")
|
|
11
|
-
##NAME:$rwdjumplink:0
|
|
12
|
-
$rwdjumplink +=["RwdShellBackWindow", "RunShell"]
|
|
13
|
-
##NAME:RwdShellVersion:0
|
|
14
|
-
RwdShellVersion = "1.04"
|
|
15
|
-
|
|
16
|
-
|
data/extras/cal.rb
DELETED
|
@@ -1,158 +0,0 @@
|
|
|
1
|
-
#! /usr/bin/env ruby
|
|
2
|
-
|
|
3
|
-
# cal.rb: Written by Tadayoshi Funaba 1998-2004
|
|
4
|
-
# $Id: cal.rb,v 2.8 2004-09-25 12:50:10+09 tadf Exp $
|
|
5
|
-
|
|
6
|
-
require 'date'
|
|
7
|
-
|
|
8
|
-
class Cal
|
|
9
|
-
|
|
10
|
-
START =
|
|
11
|
-
{
|
|
12
|
-
'cn' => true, # China
|
|
13
|
-
'de' => 2342032, # Germany (protestant states)
|
|
14
|
-
'dk' => 2342032, # Denmark
|
|
15
|
-
'en' => 2361222, # English
|
|
16
|
-
'es' => 2299161, # Spain
|
|
17
|
-
'fi' => 2361390, # Finland
|
|
18
|
-
'fr' => 2299227, # France
|
|
19
|
-
'gb' => 2361222, # United Kingdom
|
|
20
|
-
'gr' => 2423868, # Greece
|
|
21
|
-
'hu' => 2301004, # Hungary
|
|
22
|
-
'it' => 2299161, # Italy
|
|
23
|
-
'jp' => true, # Japan
|
|
24
|
-
'no' => 2342032, # Norway
|
|
25
|
-
'nl' => 2361222,
|
|
26
|
-
'pl' => 2299161, # Poland
|
|
27
|
-
'pt' => 2299161, # Portugal
|
|
28
|
-
'ru' => 2421639, # Russia
|
|
29
|
-
'se' => 2361390, # Sweden
|
|
30
|
-
'us' => 2361222, # United States
|
|
31
|
-
'os' => false, # (old style)
|
|
32
|
-
'ns' => true # (new style)
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
DEFAULT_START = 'gb'
|
|
36
|
-
|
|
37
|
-
def initialize
|
|
38
|
-
opt_j; opt_m; opt_t; opt_y; opt_c
|
|
39
|
-
end
|
|
40
|
-
|
|
41
|
-
def opt_j(flag=false) @opt_j = flag end
|
|
42
|
-
def opt_m(flag=false) @opt_m = flag end
|
|
43
|
-
def opt_t(flag=false) @opt_t = flag end
|
|
44
|
-
def opt_y(flag=false) @opt_y = flag end
|
|
45
|
-
|
|
46
|
-
def opt_c(arg=DEFAULT_START) @start = START[arg] end
|
|
47
|
-
|
|
48
|
-
def set_params
|
|
49
|
-
@dw = if @opt_j then 3 else 2 end
|
|
50
|
-
@mw = (@dw + 1) * 7 - 1
|
|
51
|
-
@mn = if @opt_j then 2 else 3 end
|
|
52
|
-
@tw = (@mw + 2) * @mn - 2
|
|
53
|
-
@k = if @opt_m then 1 else 0 end
|
|
54
|
-
@da = if @opt_j then :yday else :mday end
|
|
55
|
-
end
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
def nl_pict(y, m)
|
|
60
|
-
d = (1..31).detect{|d| Date.valid_date?(y, m, d, @start)}
|
|
61
|
-
fi = Date.new(y, m, d, @start)
|
|
62
|
-
fi -= (fi.jd - @k + 1) % 7
|
|
63
|
-
|
|
64
|
-
ve = (fi..fi + 6).collect{|cu|
|
|
65
|
-
%w(zo ma di wo do vr za)[cu.wday]
|
|
66
|
-
}
|
|
67
|
-
ve += (fi..fi + 41).collect{|cu|
|
|
68
|
-
if cu.mon == m then cu.send(@da) end.to_s
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
ve = ve.collect{|e| e.rjust(@dw)}
|
|
72
|
-
|
|
73
|
-
gr = group(ve, 7)
|
|
74
|
-
gr = trans(gr) if @opt_t
|
|
75
|
-
ta = gr.collect{|xs| xs.join(' ')}
|
|
76
|
-
|
|
77
|
-
ca = %w(januari februari maart april mei juni juli
|
|
78
|
-
augustus september oktober november december)[m - 1]
|
|
79
|
-
ca = ca + ' ' + y.to_s if not @opt_y
|
|
80
|
-
ca = ca.center(@mw)
|
|
81
|
-
|
|
82
|
-
ta.unshift(ca)
|
|
83
|
-
end
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
def en_pict(y, m)
|
|
87
|
-
d = (1..31).detect{|d| Date.valid_date?(y, m, d, @start)}
|
|
88
|
-
fi = Date.new(y, m, d, @start)
|
|
89
|
-
fi -= (fi.jd - @k + 1) % 7
|
|
90
|
-
|
|
91
|
-
ve = (fi..fi + 6).collect{|cu|
|
|
92
|
-
%w(Su Mo Tu We Th Fr Sa)[cu.wday]
|
|
93
|
-
}
|
|
94
|
-
ve += (fi..fi + 41).collect{|cu|
|
|
95
|
-
if cu.mon == m then cu.send(@da) end.to_s
|
|
96
|
-
}
|
|
97
|
-
|
|
98
|
-
ve = ve.collect{|e| e.rjust(@dw)}
|
|
99
|
-
|
|
100
|
-
gr = group(ve, 7)
|
|
101
|
-
gr = trans(gr) if @opt_t
|
|
102
|
-
ta = gr.collect{|xs| xs.join(' ')}
|
|
103
|
-
|
|
104
|
-
ca = %w(January February March April May June July
|
|
105
|
-
August September October November December)[m - 1]
|
|
106
|
-
ca = ca + ' ' + y.to_s if not @opt_y
|
|
107
|
-
ca = ca #.center(@mw)
|
|
108
|
-
|
|
109
|
-
ta.unshift(ca)
|
|
110
|
-
end
|
|
111
|
-
|
|
112
|
-
def group(xs, n)
|
|
113
|
-
(0..xs.size / n - 1).collect{|i| xs[i * n, n]}
|
|
114
|
-
end
|
|
115
|
-
|
|
116
|
-
def trans(xs)
|
|
117
|
-
(0..xs[0].size - 1).collect{|i| xs.collect{|x| x[i]}}
|
|
118
|
-
end
|
|
119
|
-
|
|
120
|
-
def stack(xs)
|
|
121
|
-
if xs.empty? then [] else xs[0] + stack(xs[1..-1]) end
|
|
122
|
-
end
|
|
123
|
-
|
|
124
|
-
def block(xs, n)
|
|
125
|
-
stack(group(xs, n).collect{|ys| trans(ys).collect{|zs| zs.join(' ')}})
|
|
126
|
-
end
|
|
127
|
-
|
|
128
|
-
def unlines(xs)
|
|
129
|
-
xs.collect{|x| x + "\n"}.join
|
|
130
|
-
end
|
|
131
|
-
|
|
132
|
-
def monthly(y, m)
|
|
133
|
-
if $lang == "nl"
|
|
134
|
-
return nl_pict(y,m)
|
|
135
|
-
end
|
|
136
|
-
return en_pict(y,m)
|
|
137
|
-
#unlines(pict(y, m))
|
|
138
|
-
end
|
|
139
|
-
|
|
140
|
-
def addmon(y, m, n)
|
|
141
|
-
y, m = (y * 12 + (m - 1) + n).divmod(12)
|
|
142
|
-
return y, m + 1
|
|
143
|
-
end
|
|
144
|
-
|
|
145
|
-
def yearly(y)
|
|
146
|
-
y.to_s.center(@tw) + "\n\n" +
|
|
147
|
-
unlines(block((0..11).collect{|n| pict(*addmon(y, 1, n))}, @mn)) + "\n"
|
|
148
|
-
end
|
|
149
|
-
|
|
150
|
-
def print(y, m)
|
|
151
|
-
set_params
|
|
152
|
-
if @opt_y then yearly(y) else monthly(y, m) end
|
|
153
|
-
end
|
|
154
|
-
|
|
155
|
-
end
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
data/extras/icalendar/base.rb
DELETED
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
require 'logger'
|
|
2
|
-
|
|
3
|
-
module Icalendar #:nodoc:
|
|
4
|
-
class IcalendarError < StandardError #:nodoc:
|
|
5
|
-
end
|
|
6
|
-
|
|
7
|
-
class InvalidComponentClass < IcalendarError
|
|
8
|
-
end
|
|
9
|
-
|
|
10
|
-
class InvalidPropertyValue < IcalendarError
|
|
11
|
-
end
|
|
12
|
-
|
|
13
|
-
class Base
|
|
14
|
-
@@logger = Logger.new(STDOUT)
|
|
15
|
-
@@logger.level = Logger::INFO
|
|
16
|
-
end
|
|
17
|
-
end
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
module Icalendar
|
|
2
|
-
class Calendar < Component
|
|
3
|
-
|
|
4
|
-
attr_accessor :events, :todos, :journals, :freebusys, :timezones
|
|
5
|
-
|
|
6
|
-
def initialize()
|
|
7
|
-
super("VCALENDAR")
|
|
8
|
-
@properties = {}
|
|
9
|
-
@property_params = {}
|
|
10
|
-
|
|
11
|
-
@events = []
|
|
12
|
-
@todos = []
|
|
13
|
-
@journals = []
|
|
14
|
-
@freebusys = []
|
|
15
|
-
@timezones = []
|
|
16
|
-
end
|
|
17
|
-
|
|
18
|
-
def add(component)
|
|
19
|
-
if component.is_a? Event
|
|
20
|
-
@events << component
|
|
21
|
-
elsif component.is_a? Todo
|
|
22
|
-
@todos << component
|
|
23
|
-
elsif component.is_a? Journal
|
|
24
|
-
@journals << component
|
|
25
|
-
elsif component.is_a? Freebusy
|
|
26
|
-
@freebusys << component
|
|
27
|
-
elsif component.is_a? Timezone
|
|
28
|
-
@timezones << component
|
|
29
|
-
else
|
|
30
|
-
raise InvalidComponentClass
|
|
31
|
-
end
|
|
32
|
-
end
|
|
33
|
-
|
|
34
|
-
def to_s
|
|
35
|
-
print_string do |s|
|
|
36
|
-
@events.each { |event| s << event.to_s }
|
|
37
|
-
@todos.each { |todo| s << todo.to_s }
|
|
38
|
-
@journals.each { |journal| s << journal.to_s }
|
|
39
|
-
@freebusys.each { |freebusy| s << freebusy.to_s }
|
|
40
|
-
@timezones.each { |timezone| s << timezone.to_s }
|
|
41
|
-
end
|
|
42
|
-
end
|
|
43
|
-
end
|
|
44
|
-
end
|
|
@@ -1,237 +0,0 @@
|
|
|
1
|
-
module Icalendar
|
|
2
|
-
class CalendarParser < Icalendar::Base
|
|
3
|
-
# 1*(ALPHA / DIGIT / "=")
|
|
4
|
-
NAME = '[-a-z0-9]+'
|
|
5
|
-
|
|
6
|
-
# <"> <Any character except CTLs, DQUOTE> <">
|
|
7
|
-
QSTR = '"[^"]*"'
|
|
8
|
-
|
|
9
|
-
# *<Any character except CTLs, DQUOTE, ";", ":", ",">
|
|
10
|
-
PTEXT = '[^";:,]*'
|
|
11
|
-
|
|
12
|
-
# param-value = ptext / quoted-string
|
|
13
|
-
PVALUE = "#{PTEXT}|#{QSTR}"
|
|
14
|
-
|
|
15
|
-
# Contentline
|
|
16
|
-
LINE = "(#{NAME})([^:]*)\:(.*)"
|
|
17
|
-
|
|
18
|
-
# param = name "=" param-value *("," param-value)
|
|
19
|
-
# Note: v2.1 allows a type or encoding param-value to appear without the type=
|
|
20
|
-
# or the encoding=. This is hideous, but we try and support it, if there # is no "=", then $2 will be "", and we will treat it as a v2.1 param.
|
|
21
|
-
PARAM = ";(#{NAME})(=?)((?:#{PVALUE})(?:,#{PVALUE})*)"
|
|
22
|
-
|
|
23
|
-
# date = date-fullyear ["-"] date-month ["-"] date-mday
|
|
24
|
-
# date-fullyear = 4 DIGIT
|
|
25
|
-
# date-month = 2 DIGIT
|
|
26
|
-
# date-mday = 2 DIGIT
|
|
27
|
-
DATE = '(\d\d\d\d)-?(\d\d)-?(\d\d)'
|
|
28
|
-
|
|
29
|
-
# time = time-hour [":"] time-minute [":"] time-second [time-secfrac] [time-zone]
|
|
30
|
-
# time-hour = 2 DIGIT
|
|
31
|
-
# time-minute = 2 DIGIT
|
|
32
|
-
# time-second = 2 DIGIT
|
|
33
|
-
# time-secfrac = "," 1*DIGIT
|
|
34
|
-
# time-zone = "Z" / time-numzone
|
|
35
|
-
# time-numzome = sign time-hour [":"] time-minute
|
|
36
|
-
TIME = '(\d\d):?(\d\d):?(\d\d)(\.\d+)?(Z|[-+]\d\d:?\d\d)?'
|
|
37
|
-
|
|
38
|
-
def initialize(src)
|
|
39
|
-
@@logger.info("New Calendar Parser")
|
|
40
|
-
|
|
41
|
-
# Define the next line method different depending on whether
|
|
42
|
-
# this is a string or an IO object so we can be efficient about
|
|
43
|
-
# parsing large files...
|
|
44
|
-
|
|
45
|
-
# Just do the unfolding work in one shot if its a whole string
|
|
46
|
-
if src.respond_to?(:split)
|
|
47
|
-
unfolded = []
|
|
48
|
-
|
|
49
|
-
# Split into an array of lines, then unfold those into a new array
|
|
50
|
-
src.split(/\r?\n/).each do |line|
|
|
51
|
-
|
|
52
|
-
# If it's a continuation line, add it to the last.
|
|
53
|
-
# If it's an empty line, drop it from the input.
|
|
54
|
-
if( line =~ /^[ \t]/ )
|
|
55
|
-
unfolded << unfolded.pop + line[1, line.size-1]
|
|
56
|
-
elsif( line =~ /^$/ )
|
|
57
|
-
else
|
|
58
|
-
unfolded << line
|
|
59
|
-
end
|
|
60
|
-
end
|
|
61
|
-
|
|
62
|
-
@lines = unfolded
|
|
63
|
-
@index = 0
|
|
64
|
-
|
|
65
|
-
# Now that we are unfolded we can just iterate through the array.
|
|
66
|
-
# Dynamically define next line for a string.
|
|
67
|
-
def next_line
|
|
68
|
-
if @index == @lines.size
|
|
69
|
-
return nil
|
|
70
|
-
else
|
|
71
|
-
line = @lines[@index]
|
|
72
|
-
@index += 1
|
|
73
|
-
return line
|
|
74
|
-
end
|
|
75
|
-
end
|
|
76
|
-
|
|
77
|
-
# If its a file we need to read and unfold on the go to save from reading
|
|
78
|
-
# large amounts of data into memory.
|
|
79
|
-
elsif src.respond_to?(:gets)
|
|
80
|
-
@file = src
|
|
81
|
-
@prev_line = src.gets
|
|
82
|
-
if !@prev_line.nil?
|
|
83
|
-
@prev_line.chomp!
|
|
84
|
-
end
|
|
85
|
-
|
|
86
|
-
# Dynamically define next line for an IO object
|
|
87
|
-
def next_line
|
|
88
|
-
line = @prev_line
|
|
89
|
-
|
|
90
|
-
if line.nil?
|
|
91
|
-
return nil
|
|
92
|
-
end
|
|
93
|
-
|
|
94
|
-
# Loop through until we get to a non-continuation line...
|
|
95
|
-
loop do
|
|
96
|
-
nextLine = @file.gets
|
|
97
|
-
if !nextLine.nil?
|
|
98
|
-
nextLine.chomp!
|
|
99
|
-
end
|
|
100
|
-
|
|
101
|
-
# If it's a continuation line, add it to the last.
|
|
102
|
-
# If it's an empty line, drop it from the input.
|
|
103
|
-
if( nextLine =~ /^[ \t]/ )
|
|
104
|
-
line << nextLine[1, nextLine.size]
|
|
105
|
-
elsif( nextLine =~ /^$/ )
|
|
106
|
-
else
|
|
107
|
-
@prev_line = nextLine
|
|
108
|
-
break
|
|
109
|
-
end
|
|
110
|
-
end
|
|
111
|
-
line
|
|
112
|
-
end
|
|
113
|
-
else
|
|
114
|
-
raise ArgumentError, "CalendarParser.new cannot be called with a #{src.class} type!"
|
|
115
|
-
end
|
|
116
|
-
end
|
|
117
|
-
|
|
118
|
-
# Parse the calendar into an object representation
|
|
119
|
-
def parse
|
|
120
|
-
calendars = []
|
|
121
|
-
|
|
122
|
-
# Outer loop for Calendar objects
|
|
123
|
-
while (line = next_line)
|
|
124
|
-
fields = parse_line(line)
|
|
125
|
-
|
|
126
|
-
# Just iterate through until we find the beginning of a calendar object
|
|
127
|
-
if fields[:name] == "BEGIN" and fields[:value] == "VCALENDAR"
|
|
128
|
-
cal = parse_calendar
|
|
129
|
-
calendars << cal
|
|
130
|
-
end
|
|
131
|
-
end
|
|
132
|
-
|
|
133
|
-
calendars
|
|
134
|
-
end
|
|
135
|
-
|
|
136
|
-
# Parse a single VCALENDAR object
|
|
137
|
-
# -- This should consist of the PRODID, VERSION, option METHOD & CALSCALE,
|
|
138
|
-
# and then one or more calendar components: VEVENT, VTODO, VJOURNAL,
|
|
139
|
-
# VFREEBUSY, VTIMEZONE
|
|
140
|
-
def parse_calendar(component = Calendar.new)
|
|
141
|
-
while (line = next_line)
|
|
142
|
-
fields = parse_line(line)
|
|
143
|
-
|
|
144
|
-
name = fields[:name]
|
|
145
|
-
|
|
146
|
-
# Although properties are supposed to come before components, we should
|
|
147
|
-
# be able to handle them in any order...
|
|
148
|
-
if name == "END"
|
|
149
|
-
break
|
|
150
|
-
elsif name == "BEGIN" # New component
|
|
151
|
-
case(fields[:value])
|
|
152
|
-
when "VEVENT"
|
|
153
|
-
component.events << parse_calendar(Event.new)
|
|
154
|
-
when "VTODO"
|
|
155
|
-
component.todos << parse_calendar(Todo.new)
|
|
156
|
-
when "VJOURNAL"
|
|
157
|
-
component.journals << parse_calendar(Journal.new)
|
|
158
|
-
when "VFREEBUSY"
|
|
159
|
-
component.freebusys << parse_calendar(Freebusy.new)
|
|
160
|
-
when "VTIMEZONE"
|
|
161
|
-
component.timezones << parse_calendar(Timezone.new)
|
|
162
|
-
when "VALARM"
|
|
163
|
-
component.alarms << parse_calendar(Alarm.new)
|
|
164
|
-
end
|
|
165
|
-
else # If its not a component then it should be properties...
|
|
166
|
-
|
|
167
|
-
# Just set the properties ourselves so that the parser can still
|
|
168
|
-
# parse invalid files...
|
|
169
|
-
@@logger.debug("Setting #{name} => #{fields[:value]}")
|
|
170
|
-
component.properties[name] = fields[:value]
|
|
171
|
-
if not fields[:params].empty?
|
|
172
|
-
component.property_params[name] = fields[:params]
|
|
173
|
-
end
|
|
174
|
-
|
|
175
|
-
# This will generate the correctly formed calls to the dynamic method
|
|
176
|
-
# handler.
|
|
177
|
-
# component.send("#{name}=", fields[:value])
|
|
178
|
-
# component.send("#{name}_params=", fields[:params]) unless fields[:params].empty?
|
|
179
|
-
end
|
|
180
|
-
end
|
|
181
|
-
|
|
182
|
-
component
|
|
183
|
-
end
|
|
184
|
-
|
|
185
|
-
def parse_line(line)
|
|
186
|
-
unless line =~ %r{#{LINE}}i # Case insensitive match for a valid line
|
|
187
|
-
raise "Invalid line in calendar string!"
|
|
188
|
-
end
|
|
189
|
-
|
|
190
|
-
name = $1.upcase # The case insensitive part is upcased for easier comparison...
|
|
191
|
-
paramslist = $2
|
|
192
|
-
value = $3
|
|
193
|
-
|
|
194
|
-
params = {}
|
|
195
|
-
|
|
196
|
-
# Collect the params, if any.
|
|
197
|
-
if paramslist.size > 1
|
|
198
|
-
|
|
199
|
-
# v3.0 and v2.1 params
|
|
200
|
-
paramslist.scan( %r{#{PARAM}}i ) do
|
|
201
|
-
|
|
202
|
-
# param names are case-insensitive, and multi-valued
|
|
203
|
-
pname = $1
|
|
204
|
-
pvals = $3
|
|
205
|
-
|
|
206
|
-
# v2.1 pvals have no '=' sign, figure out what kind of param it
|
|
207
|
-
# is (either its a known encoding, or we treat it as a 'type'
|
|
208
|
-
# param).
|
|
209
|
-
if $2 == ""
|
|
210
|
-
pvals = $1
|
|
211
|
-
case $1
|
|
212
|
-
when /quoted-printable/i
|
|
213
|
-
pname = 'encoding'
|
|
214
|
-
|
|
215
|
-
when /base64/i
|
|
216
|
-
pname = 'encoding'
|
|
217
|
-
|
|
218
|
-
else
|
|
219
|
-
pname = 'type'
|
|
220
|
-
end
|
|
221
|
-
end
|
|
222
|
-
|
|
223
|
-
unless params.key? pname
|
|
224
|
-
params[pname] = []
|
|
225
|
-
end
|
|
226
|
-
pvals.scan( %r{(#{PVALUE})} ) do
|
|
227
|
-
if $1.size > 0
|
|
228
|
-
params[pname] << $1
|
|
229
|
-
end
|
|
230
|
-
end
|
|
231
|
-
end
|
|
232
|
-
end
|
|
233
|
-
|
|
234
|
-
{:name => name, :params => params, :value => value}
|
|
235
|
-
end
|
|
236
|
-
end
|
|
237
|
-
end
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
module Icalendar
|
|
2
|
-
# An Alarm calendar component is a grouping of component
|
|
3
|
-
# properties that is a reminder or alarm for an event or a
|
|
4
|
-
# to-do. For example, it may be used to define a reminder for a
|
|
5
|
-
# pending Event or an overdue Todo.
|
|
6
|
-
class Alarm < Component
|
|
7
|
-
def initialize()
|
|
8
|
-
super("VALARM")
|
|
9
|
-
|
|
10
|
-
end
|
|
11
|
-
|
|
12
|
-
def to_s
|
|
13
|
-
print_string {}
|
|
14
|
-
end
|
|
15
|
-
end
|
|
16
|
-
end
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
module Icalendar
|
|
2
|
-
# A Event calendar component is a grouping of component
|
|
3
|
-
# properties, and possibly including Alarm calendar components, that
|
|
4
|
-
# represents a scheduled amount of time on a calendar. For example, it
|
|
5
|
-
# can be an activity; such as a one-hour long, department meeting from
|
|
6
|
-
# 8:00 AM to 9:00 AM, tomorrow. Generally, an event will take up time
|
|
7
|
-
# on an individual calendar.
|
|
8
|
-
class Event < Component
|
|
9
|
-
include Dtstart
|
|
10
|
-
|
|
11
|
-
attr_accessor :alarms
|
|
12
|
-
|
|
13
|
-
def initialize()
|
|
14
|
-
super("VEVENT")
|
|
15
|
-
|
|
16
|
-
@alarms = []
|
|
17
|
-
end
|
|
18
|
-
|
|
19
|
-
def to_s
|
|
20
|
-
print_string do |s|
|
|
21
|
-
@alarms.each { |alarm| s << alarm.to_s }
|
|
22
|
-
end
|
|
23
|
-
end
|
|
24
|
-
end
|
|
25
|
-
end
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
module Icalendar
|
|
2
|
-
# A Freebusy calendar component is a grouping of
|
|
3
|
-
# component properties that represents either a request for, a reply to
|
|
4
|
-
# a request for free or busy time information or a published set of
|
|
5
|
-
# busy time information.
|
|
6
|
-
class Freebusy < Component
|
|
7
|
-
|
|
8
|
-
def initialize()
|
|
9
|
-
super("VFREEBUSY")
|
|
10
|
-
end
|
|
11
|
-
end
|
|
12
|
-
end
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
module Icalendar
|
|
2
|
-
# A Journal calendar component is a grouping of
|
|
3
|
-
# component properties that represent one or more descriptive text
|
|
4
|
-
# notes associated with a particular calendar date. The "DTSTART"
|
|
5
|
-
# property is used to specify the calendar date that the journal entry
|
|
6
|
-
# is associated with. Generally, it will have a DATE value data type,
|
|
7
|
-
# but it can also be used to specify a DATE-TIME value data type.
|
|
8
|
-
# Examples of a journal entry include a daily record of a legislative
|
|
9
|
-
# body or a journal entry of individual telephone contacts for the day
|
|
10
|
-
# or an ordered list of accomplishments for the day. The Journal
|
|
11
|
-
# calendar component can also be used to associate a document with a
|
|
12
|
-
# calendar date.
|
|
13
|
-
class Journal < Component
|
|
14
|
-
|
|
15
|
-
def initialize()
|
|
16
|
-
super("VJOURNAL")
|
|
17
|
-
end
|
|
18
|
-
|
|
19
|
-
def to_s
|
|
20
|
-
print_string { }
|
|
21
|
-
end
|
|
22
|
-
|
|
23
|
-
end
|
|
24
|
-
end
|
|
25
|
-
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
module Icalendar
|
|
2
|
-
# A Timezone is unambiguously defined by the set of time
|
|
3
|
-
# measurement rules determined by the governing body for a given
|
|
4
|
-
# geographic area. These rules describe at a minimum the base offset
|
|
5
|
-
# from UTC for the time zone, often referred to as the Standard Time
|
|
6
|
-
# offset. Many locations adjust their Standard Time forward or backward
|
|
7
|
-
# by one hour, in order to accommodate seasonal changes in number of
|
|
8
|
-
# daylight hours, often referred to as Daylight Saving Time. Some
|
|
9
|
-
# locations adjust their time by a fraction of an hour. Standard Time
|
|
10
|
-
# is also known as Winter Time. Daylight Saving Time is also known as
|
|
11
|
-
# Advanced Time, Summer Time, or Legal Time in certain countries. The
|
|
12
|
-
# following table shows the changes in time zone rules in effect for
|
|
13
|
-
# New York City starting from 1967. Each line represents a description
|
|
14
|
-
# or rule for a particular observance.
|
|
15
|
-
class Timezone < Component
|
|
16
|
-
|
|
17
|
-
def initialize()
|
|
18
|
-
super("VTIMEZONE")
|
|
19
|
-
@components = components
|
|
20
|
-
end
|
|
21
|
-
|
|
22
|
-
def to_s
|
|
23
|
-
super.to_s { |s| s << @components.each { |component| component.to_s } }
|
|
24
|
-
end
|
|
25
|
-
end
|
|
26
|
-
end
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
module Icalendar
|
|
2
|
-
# A Todo calendar component is a grouping of component
|
|
3
|
-
# properties and possibly Alarm calendar components that represent
|
|
4
|
-
# an action-item or assignment. For example, it can be used to
|
|
5
|
-
# represent an item of work assigned to an individual; such as "turn in
|
|
6
|
-
# travel expense today".
|
|
7
|
-
class Todo < Component
|
|
8
|
-
|
|
9
|
-
attr_reader :alarms
|
|
10
|
-
|
|
11
|
-
def initialize()
|
|
12
|
-
super("VTODO")
|
|
13
|
-
|
|
14
|
-
@alarms = alarms
|
|
15
|
-
end
|
|
16
|
-
|
|
17
|
-
def to_s
|
|
18
|
-
print_string { |s| @alarms.each { |alarm| alarm.to_s } }
|
|
19
|
-
end
|
|
20
|
-
end
|
|
21
|
-
end
|