コード例 #1
0
ファイル: config_file.go プロジェクト: rhinoman/wikifeat
// Load Users configuraiton
func setUsersConfig(userSection *configparser.Section) {
	for key, value := range userSection.Options() {
		switch key {
		case "avatarDB":
			Users.AvatarDb = value
		}
	}
}
コード例 #2
0
ファイル: config_file.go プロジェクト: rhinoman/wikifeat
// Load Search configuration options
func SetSearchConfig(searchSection *configparser.Section) {
	for key, value := range searchSection.Options() {
		switch key {
		case "searchServerLocation":
			Search.SearchServerLocation = value
		}
	}
}
コード例 #3
0
ファイル: config_file.go プロジェクト: rhinoman/wikifeat
// Load Registry configuration
func setRegistryConfig(registrySection *configparser.Section) {
	for key, value := range registrySection.Options() {
		switch key {
		case "entryTTL":
			setUint64Val(value, &ServiceRegistry.EntryTTL)
		case "cacheRefreshInterval":
			setUint64Val(value, &ServiceRegistry.CacheRefreshInterval)
		}
	}
}
コード例 #4
0
ファイル: config_file.go プロジェクト: rhinoman/wikifeat
// Load Logging configuration
func setLogConfig(logSection *configparser.Section) {
	for key, value := range logSection.Options() {
		switch key {
		case "logFile":
			Logger.LogFile = value
		case "maxSize":
			setIntVal(value, &Logger.MaxSize)
		case "maxBackups":
			setIntVal(value, &Logger.MaxBackups)
		case "maxAge":
			setIntVal(value, &Logger.MaxAge)
		}
	}
}
コード例 #5
0
ファイル: config_file.go プロジェクト: rhinoman/wikifeat
// Load Auth configuration
func setAuthConfig(authSection *configparser.Section) {
	for key, value := range authSection.Options() {
		switch key {
		case "authenticator":
			Auth.Authenticator = strings.ToLower(value)
		case "sessionTimeout":
			setUint64Val(value, &Auth.SessionTimeout)
		case "persistentSessions":
			Auth.PersistentSessions = stringToBool(value)
		case "allowGuestAccess":
			Auth.AllowGuest = stringToBool(value)
		case "allowNewUserRegistration":
			Auth.AllowNewUserRegistration = stringToBool(value)
		case "minPasswordLength":
			setIntVal(value, &Auth.MinPasswordLength)
		}
	}
}
コード例 #6
0
ファイル: config_file.go プロジェクト: rhinoman/wikifeat
// Load Database configuration options
func setDbConfig(dbSection *configparser.Section) {
	for key, value := range dbSection.Options() {
		switch key {
		case "dbAddr":
			Database.DbAddr = value
		case "dbPort":
			Database.DbPort = value
		case "useSSL":
			Database.UseSSL = stringToBool(value)
		case "dbAdminUser":
			Database.DbAdminUser = value
		case "dbAdminPassword":
			Database.DbAdminPassword = value
		case "dbTimeout":
			Database.DbTimeout = value
		case "mainDb":
			Database.MainDb = value
		}
	}
}
コード例 #7
0
ファイル: config_file.go プロジェクト: rhinoman/wikifeat
// Load Frontend configuration options
func SetFrontendConfig(frontendSection *configparser.Section) {
	execDir, _ := util.GetExecDirectory()
	for key, value := range frontendSection.Options() {
		switch key {
		case "webAppDir":
			if value[0] != '/' {
				Frontend.WebAppDir = path.Join(execDir, value)
			} else {
				Frontend.WebAppDir = value
			}
		case "pluginDir":
			if value[0] != '/' {
				Frontend.PluginDir = path.Join(execDir, value)
			} else {
				Frontend.PluginDir = value
			}
		case "homepage":
			Frontend.Homepage = value
		}
	}
}
コード例 #8
0
ファイル: config_file.go プロジェクト: rhinoman/wikifeat
//Load Notification configuration options
func setNotificationConfig(notifSection *configparser.Section) {
	for key, value := range notifSection.Options() {
		switch key {
		case "templateDirectory":
			Notifications.TemplateDir = value
		case "useHtmlTemplates":
			Notifications.UseHtmlTemplates = stringToBool(value)
		case "mainSiteUrl":
			Notifications.MainSiteUrl = value
		case "smtpServer":
			Notifications.SmtpServer = value
		case "useSSL":
			Notifications.UseSSL = stringToBool(value)
		case "smtpPort":
			setIntVal(value, &Notifications.SmtpPort)
		case "smtpUser":
			Notifications.SmtpUser = value
		case "smtpPassword":
			Notifications.SmtpPassword = value
		case "fromEmail":
			Notifications.FromEmail = value
		}
	}
}
コード例 #9
0
ファイル: DBConnection.go プロジェクト: Bathakarai/go-orm
// GetConnection - Return DB connection object based on config file.
func GetConnection(path string) abstract.Database {
	var collection *mgo.Collection
	conf, _ := configparser.Read(path)
	checkError(conf, "Invalid configuration file")
	driver_config, _ := conf.Section("nosql.db")

	var db_config *configparser.Section
	if strings.Contains(strings.ToLower(driver_config.ValueOf("name")), "mongo") {
		db_config, _ = conf.Section("mongo")
		driver_config.SetValueFor("name", "mongo")
	} else if strings.Contains(strings.ToLower(driver_config.ValueOf("name")), "couch") {
		db_config, _ = conf.Section("couch")
		driver_config.SetValueFor("name", "couch")
	}
	switch strings.ToUpper(driver_config.ValueOf("name")) {
	case "COUCH":
		var db couch.Database
		if db_config.ValueOf("user") == "" {
			db, _ = couch.NewDatabase(db_config.ValueOf("ipaddress"), db_config.ValueOf("port"), db_config.ValueOf("dbname"))
		} else {
			db, _ = couch.NewDatabaseByURL("http://" + db_config.ValueOf("user") + ":" + db_config.ValueOf("password") + "@" + db_config.ValueOf("ipaddress") + ":" + db_config.ValueOf("port") + "/" + db_config.ValueOf("dbname"))
		}
		return abstract.Database(supported_db.CouchDb{db})
	case "MONGO":
		var mongoSession *mgo.Session
		var err error
		if db_config.ValueOf("user") == "" {
			mongoSession, err = mgo.Dial(db_config.ValueOf("ipaddress") + ":" + db_config.ValueOf("port"))
		} else {
			mongoSession, err = mgo.Dial(db_config.ValueOf("user") + ":" + db_config.ValueOf("password") + "@" + db_config.ValueOf("ipaddress") + ":" + db_config.ValueOf("port") + "/" + db_config.ValueOf("dbname"))
		}
		checkError(mongoSession, err)
		db := mongoSession.DB(db_config.ValueOf("dbname"))
		collection = db.C(db_config.ValueOf("collectionname"))
		return abstract.Database(supported_db.MongoDb{collection})
	default:
		panic("Supports only Couch or MongoDb")
	}
	return nil
}