Monday, November 08, 2010 at 12:05 AM.
system.verbs.builtins.radio.weblog.utilities.fixCategoryNameDirectives
on fixCategoryNameDirectives (adrdata) { <<Changes <<2/13/02; 12:20:58 PM by JES <<Loop over all the categories, and make sure that for each one, a #prefs.txt file exists, which contains a #categoryName directive, that specifies the category. if defined (adrdata^.stats.flCategoryPrefsFilesExist) { return (false)}; local (adrcategories = @adrdata^.categories); local (adrcat); for adrcat in adrcategories { local (catname = nameOf (adrcat^)); local (catfolder = radio.weblog.file.getCategoryFolder (catname)); local (prefsfile = catfolder + "#prefs.txt"); if file.exists (prefsfile) { local (s = file.readWholeFile (prefsfile)); if string.lower (s) contains "#categoryname " { continue}; s = string.replaceAll (s, "\r\n", "\r"); s = string.replaceAll (s, "\n", "\r"); s = "#categoryName \"" + string.replaceAll (catname, "\"", "\\\"") + "\"\r" + s; file.writeTextFile (prefsfile, s)} else { if file.exists (catfolder + "#prefs.opml") { prefsfile = catfolder + "#prefs.opml"; local (lo); op.xmlToOutline (file.readWholeFile (prefsfile), @lo); local (oldtarget = target.set (@lo)); op.insert ("#categoryName \"" + string.replaceAll (catname, "\"", "\\\"") + "\"", up); try {target.set (oldtarget)}; file.writeTextFile (prefsfile, op.outlineToXml (@lo))} else { local (s = "#categoryName \"" + string.replaceAll (catname, "\"", "\\\"") + "\""); file.sureFilePath (prefsfile); file.writeTextFile (prefsfile, s)}}}; adrdata^.stats.flCategoryPrefsFilesExist = true} <<bundle //testing <<fixcategoryNameDirectives (@weblogData)
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.