Monday, November 08, 2010 at 12:01 AM.
system.verbs.apps.FinderMenu.commands.putFilesAway
on putFilesAway () { local (pFolder = "finderMenu.examples.putAwayPath"); on visit (path) { <<we take every file (folders are ignored) and check it's creator <<then we find out the name of the creator app, & add a 'Ä' to <<the end of it's name. We then put the file into a folder named <<'[appName] Ä'. If the folder doesn't exist, we make it. If the <<creating app doesn't exist, the file goes into the 'unknown' <<folder if file.isFolder (path) or (file.type (path) == 'APPL') { return (true)}; local { app = file.fileFromPath (file.findApplication (file.creator (path))); dest = finderMenu.examples.putAwayPath}; if app == "" { app = "Unknown files"}; dest = dest + app + " Ä:"; if ! file.exists (dest) { << if the destination folder doesn't exist, make it file.newFolder (dest)}; <<We can run into problems here <<if the user tries to put away files that are on a different volume <<than the destination, they need to be copied, not moved. if file.volumeFromPath (path) == file.volumeFromPath (dest) { file.move (path, dest)} else { dest = dest + file.fileFromPath (path); file.copy (path, dest)}; return (true)}; bundle { << error checking <<does the ODB address exist? if ! defined (pFolder^) { new (stringType, pFolder)}; << <<does the path at pFolder^ exist? <<is it a folder ? if ! file.exists (pFolder^) or ! file.isFolder (pFolder^) { if ! file.getFolderDialog ("Please select the folder to use as your master file folder:", pFolder) { return (false)}}}; FinderMenu.visitPaths (@visit)}
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.