Monday, April 04, 2011 at 1:06 AM.
radio2Suite.writeStaticFile
on writeStaticFile (adruser, relpath, filetext, type=nil) {
<<Changes
<<2/28/11; 8:43:43 AM by DW
<<Add optional type param, defaults to nil.
<<2/24/11; 10:57:04 AM by DW
<<Generic static file-writer. Makes it easy to provide another rendering.
local (adrdata = radio2suite.init (), url = "", now = clock.now ());
bundle { //save it to S3
if adrdata^.prefs.s3enabled {
url = s3.newobject (adrdata^.prefs.s3path + nameof (adruser^) + "/" + relpath, filetext, type);
if sizeof (adrdata^.prefs.s3url) > 0 {
url = adrdata^.prefs.s3url + nameof (adruser^) + "/" + relpath}}};
bundle { //save it to the user's S3 bucket
if adruser^.prefs.s3bucket.enabled and (adruser^.prefs.s3bucket.path != "") {
local (path = adruser^.prefs.s3bucket.path);
if not (path beginswith "/") {
path = "/" + path};
if not (path endswith "/") {
path = path + "/"};
url = s3.newobject (path + relpath, filetext, type);
if adruser^.prefs.s3bucket.url != "" {
url = adruser^.prefs.s3bucket.url + relpath}}};
adruser^.stats.ctStaticFileWrites++;
adruser^.stats.whenLastStaticFileWrite = now;
return (url)};
bundle { //test code
webbrowser.openurl (writeStaticFile (@config.radio2.users.dave, "now.txt", string (clock.now ())))}
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.