func parseResult(data *json.Json) (string, bool) { for i, _ := range data.Get("results").MustArray() { item := data.Get("results").GetIndex(i) address, ok := item.CheckGet("formatted_address") if ok { return address.MustString(), true } } return "", false }
func (this *Context) Message(data *simplejson.Json) { content, err := data.Get("content").String() if err != nil { log.Println(err) return } gContexts.SendAll(map[string]interface{}{ "type": "message", "userName": this.UserName, "content": content, }) }
func Initialize(json *simpleJson.Json) *SlackBot { if slackBot != nil { return slackBot } self := json.Get("self") slackBot = &SlackBot{ Id: self.Get("id").MustString(), Name: self.Get("name").MustString(), } return slackBot }
func (p *NsqSrcProvider) Init(ctx *sj.Json) error { var err error p.nsqMsgChan = make(chan nsq.Message) // not buffered p.timeOutSec = ctx.Get("timeout_sec").MustInt() nsqLookupdAddrs := ctx.Get("nsq_lookupd_addrs").MustStringArray() if len(nsqLookupdAddrs) <= 0 { return errors.New("no nsq_lookupd_addr in provided") } topic := ctx.Get("topic").MustString() channel := ctx.Get("channel").MustString() p.config = nsq.NewConfig() p.consumer, err = nsq.NewConsumer(topic, channel, p.config) if p.consumer == nil || err != nil { return err } p.consumer.AddHandler(nsq.HandlerFunc(func(message *nsq.Message) error { p.nsqMsgChan <- *message return nil })) err = p.consumer.ConnectToNSQLookupds(nsqLookupdAddrs) // ip:port if err != nil { return errors.New("Could not connect to nsqLookupd") } return nil }
func (this *Context) Auth(data *simplejson.Json) { userName, err := data.Get("userName").String() if err != nil { log.Println(err) return } this.UserName = userName // send message userNames := gContexts.GetAllUserNames() gContexts.SendAll(map[string]interface{}{ "type": "auth", "message": userName + "进入聊天室", "userNames": userNames, }) }
func BuildMongoWhere(where *simplejson.Json, primaryKey string) bson.M { mongoWhere := bson.M{} for key, value := range where.MustMap() { switch key { case "and", "or", "nor": mongoWhere["$"+key] = buildMongoWhereByArray( where.Get(key), primaryKey, ) continue case primaryKey: mongoWhere["_id"] = value continue } mongoWhere[key] = value } return mongoWhere }
func (p *DmSrcProvider) Init(ctx *sj.Json) error { var err error p.monitorIntervalSec = ctx.Get("monitor_interval_sec").MustInt(10) p.popLastFile = ctx.Get("pop_last_file").MustBool(true) p.timeOutMs = ctx.Get("time_out_ms").MustInt(10000) p.dataDir = ctx.Get("data_dir").MustString("/tmp") stat, err := os.Stat(p.dataDir) if (err != nil && !os.IsExist(err)) || !stat.IsDir() { return errors.New("data dir not valid") } p.lastFileMap = make(map[string]string) paths := ctx.Get("monitor_paths").MustStringArray() if len(paths) <= 0 { return errors.New("no monitor_paths is provided") } if err = p.initMonitorPaths(paths); err != nil { return err } return nil }
func (p *Workshop) Init(ctx *sj.Json, upCtrlChan chan int, upReportChan chan int, isTest bool) error { p.ctx = ctx p.upCtrlChan = upCtrlChan p.upReportChan = upReportChan p.processedLine = 0 var err error if err = p.initLog(isTest); err != nil { return err } logger.Debug("workshop init log success") if err = p.initSrcProvider(); err != nil { return err } logger.Debug("workshop init srcProvider success") p.cronTickInterval = ctx.Get("main").Get("cron_tick_interval").MustInt() p.memLimit = ctx.Get("main").Get("mem_limit").MustUint64() p.PRCtrlChan = make(chan int, 1000) // 1000 is enough p.PRReportChan = make(chan int) p.CLCtrlChan = make(chan int, 1000) // 1000 is enough p.CLReportChan = make(chan int) if err = p.initChannel(isTest); err != nil { return err } logger.Debug("workshop init channel and subroutine success") logger.Info("start... config:\n[", *p.ctx, "]\n") if isTest { p.provider.Destory() } logger.SetConsole(false) return nil }
func (p *PrintProcessor) Init(ctx *sj.Json, id int, itemChans [](chan Item)) error { p.id = id p.itemChans = itemChans p.category = ctx.Get("category").MustString("print") return nil }
func parseCreateJobBody(js *simplejs.Json) (string, map[string]string) { m := make(map[string]string) jobname, err := js.Get("jobname").String() if err != nil { log.Errorf("parse \"jobname\" failed") return "", nil } /* else { m["jobname"] = jobname fmt.Println(jobname) }*/ if desc, err := js.Get("description").String(); err != nil { log.Errorf("parse \"description\" failed") return "", nil } else { m["desc"] = desc } if repositryrUrl, err := js.Get("repositryurl").String(); err != nil { //log.Errorf("parse \"repositryurl\" failed") log.Errorf(err.Error()) return "", nil } else { m["repositryurl"] = repositryrUrl } /* if credentialsId, err := js.Get("credentialsid").String(); err != nil { log.Errorf("parse \"credentialsid\" failed") return nil } else { m["credentialsid"] = credentialsId } */ if usr, err := js.Get("username").String(); err != nil { log.Errorf("parse \"username\" failed") return "", nil } else { m["username"] = usr } if passwd, err := js.Get("password").String(); err != nil { log.Errorf("parse \"password\" failed") return "", nil } else { m["password"] = passwd } if branchesToBuild, err := js.Get("branches").String(); err != nil { log.Errorf("parse \"branches\" failed") return "", nil } else { m["branchestobuild"] = branchesToBuild } /* // builders bdrs := js.Get("builders").Get("dockerbuildandpublish") if bdrs == nil { log.Errorf("parse \"dockerbuildandpublish\" failed") return nil } */ if repoName, err := js.Get("repositryname").String(); err != nil { log.Errorf("parse \"repositryname\" failed") return "", nil } else { m["repositryname"] = repoName } if tag, err := js.Get("tag").String(); err != nil { log.Errorf("parse \"tag\" failed") return "", nil } else { m["tag"] = tag } if dockerRegistryUrl, err := js.Get("dockerregistryurl").String(); err != nil { log.Errorf("parse \"dockerregistryurl\" failed") return "", nil } else { m["dockerregistryurl"] = dockerRegistryUrl } if dockerHostUri, err := js.Get("dockerhosturi").String(); err != nil { log.Errorf("parse \"dockerhosturi\" failed") return "", nil } else { m["dockerhosturi"] = dockerHostUri } if skipPush, err := js.Get("skippush").String(); err != nil { log.Errorf("parse \"skippush\" failed") return "", nil } else { m["skippush"] = skipPush } if cmd, err := js.Get("command").String(); err != nil { log.Errorf("parse \"command\" failed") return "", nil } else { m["command"] = cmd } return jobname, m }