Monday, November 08, 2010 at 12:01 AM.

system.verbs.apps.s3.init

on init () {
	<<Changes
		<<10/26/10; 8:29:48 AM by DW
			<<Create a prefs table, start with a pref that determines whether we create and watch a folder on the desktop.
		<<12/30/09; 9:51:20 AM by DW
			<<Init user.s3.accounts.default.defaultBucket to three random state names concatenated.
	if not defined (user.s3) {
		new (tabletype, @user.s3)};
	if not defined (user.s3.currentAccount) {
		user.s3.currentAccount = "default"};
	if not defined (user.s3.accounts) {
		new (tabletype, @user.s3.accounts)};
	if not defined (user.s3.accounts.default) {
		new (tabletype, @user.s3.accounts.default)};
	if not defined (user.s3.accounts.default.AWSAccessKeyId) {
		user.s3.accounts.default.AWSAccessKeyId = ""};
	if not defined (user.s3.accounts.default.SecretAccessKey) {
		user.s3.accounts.default.SecretAccessKey = ""};
	if not defined (user.s3.accounts.default.apiUrl) {
		user.s3.accounts.default.apiUrl = "http://s3.amazonaws.com"};
	if not defined (user.s3.accounts.default.timeOutSecs) {
		user.s3.accounts.default.timeOutSecs = 180};
	if not defined (user.s3.accounts.default.defaultBucket) { //12/30/09 by DW
		on randomstate () {
			return (states.nthstate (random (1, 50)))};
		user.s3.accounts.default.defaultBucket = string.innercasename (randomstate () + " " + randomstate () + " " + randomstate ())};
	bundle { //prefs
		if not defined (user.s3.prefs) {
			new (tabletype, @user.s3.prefs)};
		if not defined (user.s3.prefs.flSynchFolder) {
			user.s3.prefs.flSynchFolder = false}};
	return (@user.s3)};
bundle { //test code
	init ()}



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.