Monday, November 08, 2010 at 12:05 AM.
system.verbs.builtins.radio.userInterface.saveFolder
on saveFolder (adrtable, folder, dateLastSave) { <<Changes <<8/11/03; 10:46:04 PM by JES <<Added support for writing out text and HTML files. local (flwrite = true); if file.exists (folder) { if dateLastSave >= timemodified (adrtable) { flwrite = false}}; local (adr, extension, fileType, fileCreator, fileText, f); for adr in adrtable { if typeof (adr^) == tabletype { //recurse radio.userInterface.saveFolder (adr, folder + nameof (adr^) + file.getpathchar (), dateLastSave)} else { case typeof (adr^) { binaryType { case getbinarytype (adr^) { 'gif '; 'GIFf' { extension = ".gif"; fileType = 'GIFf'; fileCreator = user.radio.prefs.imgFileCreator; fileText = adr^}; 'jpg '; 'JPEG' { extension = ".jpg"; fileType = 'JPEG'; fileCreator = user.radio.prefs.imgFileCreator; fileText = adr^}; 'HTM '; 'htm '; 'HTML'; 'html' { if system.environment.isMac { extension = ".html"} else { //windows extension = ".htm"}; fileType = 'TEXT'; fileCreator = user.html.prefs.textFileCreator; fileText = string (adr^)}; 'TXT '; 'txt '; 'TEXT'; 'text' { extension = ".txt"; fileType = 'TEXT'; fileCreator = user.html.prefs.textFileCreator; fileText = string (adr^)}}}; outlineType { extension = ".opml"; fileType = 'OPML'; fileCreator = Frontier.id; fileText = op.outlineToXml (adr)}}; f = folder + nameof (adr^) + extension; if not file.exists (f) { flwrite = true}; if flwrite { file.surefilepath (f); file.writewholefile (f, fileText, fileType, fileCreator)}}}}
This listing is for code that runs in the OPML Editor environment. I created these listings because I wanted the search engines to index it, so that when I want to look up something in my codebase I don't have to use the much slower search functionality in my object database. Dave Winer.