Monday, November 08, 2010 at 12:03 AM.
system.verbs.builtins.Frontier.tools.installNewTools
on installNewTools () { <<Install any new Tools in the Tools folder. Return a list of file paths of any new Tools that were installed. <<01/06/01; 3:37:49 PM by PBS <<Changes: <<2/24/01; 2:19:45 PM by PBS <<If a tool does not have a table in user.tools.databases, create it. This prevents opening and closing disabled tools every 10 seconds, which interrupts typing and causes screen flashing. local (newTools = {}); local (toolsFolder = Frontier.tools.getToolsFolderPath ()); local (f); fileloop (f in toolsFolder) { local (fname = file.fileFromPath (f)); local (shortName = string.popSuffix (fname)); if string.lower (fname) endsWith ".root" { if not (defined ([f])) { //is it a new tool? if not defined (user.tools.databases.[shortName]) { if Frontier.tools.isEnabled (f) { Frontier.tools.install (f); newTools = newTools + f} else { //PBS 02/24/01: set up table for this tool; this prevents opening it every 10 seconds local (adrTable = @user.tools.databases.[shortName]); local (t); new (tableType, @t); t.flInstalled = false; t.lastModified = file.modified (f); t.path = f; adrTable^ = t}}}}}; return (newTools)} //list of file paths of new Tools installed
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.