本文整理汇总了Golang中github.com/keybase/go-jsonw.NewDictionary函数的典型用法代码示例。如果您正苦于以下问题:Golang NewDictionary函数的具体用法?Golang NewDictionary怎么用?Golang NewDictionary使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了NewDictionary函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Golang代码示例。
示例1: RevokeKeysProof
func (u *User) RevokeKeysProof(key GenericKey, kidsToRevoke []keybase1.KID, deviceToDisable keybase1.DeviceID) (*jsonw.Wrapper, error) {
ret, err := ProofMetadata{
Me: u,
LinkType: RevokeType,
SigningKey: key,
}.ToJSON(u.G())
if err != nil {
return nil, err
}
body := ret.AtKey("body")
revokeSection := jsonw.NewDictionary()
revokeSection.SetKey("kids", jsonw.NewWrapper(kidsToRevoke))
body.SetKey("revoke", revokeSection)
if deviceToDisable.Exists() {
device, err := u.GetDevice(deviceToDisable)
if err != nil {
return nil, err
}
deviceSection := jsonw.NewDictionary()
deviceSection.SetKey("id", jsonw.NewString(deviceToDisable.String()))
deviceSection.SetKey("type", jsonw.NewString(device.Type))
deviceSection.SetKey("status", jsonw.NewInt(DeviceStatusDefunct))
body.SetKey("device", deviceSection)
}
return ret, nil
}
开发者ID:polluks,项目名称:client,代码行数:26,代码来源:kbsig.go
示例2: Pack
func (cr CheckResult) Pack() *jsonw.Wrapper {
p := jsonw.NewDictionary()
if cr.Status != nil {
s := jsonw.NewDictionary()
s.SetKey("code", jsonw.NewInt(int(cr.Status.GetProofStatus())))
s.SetKey("desc", jsonw.NewString(cr.Status.GetDesc()))
p.SetKey("status", s)
}
p.SetKey("time", jsonw.NewInt64(cr.Time.Unix()))
return p
}
开发者ID:moul,项目名称:client,代码行数:11,代码来源:proof_cache.go
示例3: setUserConfigWithLock
func (f *JSONConfigFile) setUserConfigWithLock(u *UserConfig, overwrite bool) error {
if u == nil {
f.G().Log.Debug("| SetUserConfig(nil)")
f.jw.DeleteKey("current_user")
f.userConfigWrapper.userConfig = nil
return f.flush()
}
parent := f.jw.AtKey("users")
un := u.GetUsername()
f.G().Log.Debug("| SetUserConfig(%s)", un)
if parent.IsNil() {
parent = jsonw.NewDictionary()
f.jw.SetKey("users", parent)
f.dirty = true
}
if parent.AtKey(un.String()).IsNil() || overwrite {
uWrapper, err := jsonw.NewObjectWrapper(*u)
if err != nil {
return err
}
parent.SetKey(un.String(), uWrapper)
f.userConfigWrapper.userConfig = u
f.dirty = true
}
if !f.getCurrentUser().Eq(un) {
f.jw.SetKey("current_user", jsonw.NewString(un.String()))
f.userConfigWrapper.userConfig = nil
f.dirty = true
}
return f.Write()
}
开发者ID:polluks,项目名称:client,代码行数:35,代码来源:config.go
示例4: ToServiceJSON
func (t WebServiceType) ToServiceJSON(un string) *jsonw.Wrapper {
h, p, _ := ParseWeb(un)
ret := jsonw.NewDictionary()
ret.SetKey("protocol", jsonw.NewString(p+":"))
ret.SetKey("hostname", jsonw.NewString(h))
return ret
}
开发者ID:keybase,项目名称:kbfs-beta,代码行数:7,代码来源:proof_support_web.go
示例5: condenseRecord
func condenseRecord(l *libkb.TrackChainLink) (*jsonw.Wrapper, error) {
uid, err := l.GetTrackedUID()
if err != nil {
return nil, err
}
trackedKeys, err := l.GetTrackedKeys()
if err != nil {
return nil, err
}
fpsDisplay := make([]string, len(trackedKeys))
for i, trackedKey := range trackedKeys {
fpsDisplay[i] = strings.ToUpper(trackedKey.Fingerprint.String())
}
un, err := l.GetTrackedUsername()
if err != nil {
return nil, err
}
rp := l.RemoteKeyProofs()
out := jsonw.NewDictionary()
out.SetKey("uid", libkb.UIDWrapper(uid))
out.SetKey("keys", jsonw.NewString(strings.Join(fpsDisplay, ", ")))
out.SetKey("ctime", jsonw.NewInt64(l.GetCTime().Unix()))
out.SetKey("username", jsonw.NewString(un))
out.SetKey("proofs", rp)
return out, nil
}
开发者ID:paul-pearce,项目名称:client-beta,代码行数:31,代码来源:list_tracking.go
示例6: ToUntrackingStatement
func (u *User) ToUntrackingStatement(w *jsonw.Wrapper) (err error) {
untrack := jsonw.NewDictionary()
untrack.SetKey("basics", u.ToUntrackingStatementBasics())
untrack.SetKey("id", UIDWrapper(u.GetUID()))
w.SetKey("untrack", untrack)
return
}
开发者ID:polluks,项目名称:client,代码行数:7,代码来源:kbsig.go
示例7: showJSONResults
func (c *CmdSearch) showJSONResults(results []keybase1.UserSummary) error {
output := jsonw.NewArray(len(results))
for userIndex, user := range results {
userBlob := jsonw.NewDictionary()
userBlob.SetKey("username", jsonw.NewString(user.Username))
for _, social := range user.Proofs.Social {
userBlob.SetKey(social.ProofType, jsonw.NewString(social.ProofName))
}
if len(user.Proofs.Web) > 0 {
var webProofs []string
for _, webProof := range user.Proofs.Web {
for _, protocol := range webProof.Protocols {
webProofs = append(webProofs, libkb.MakeURI(protocol, webProof.Hostname))
}
}
websites := jsonw.NewArray(len(webProofs))
for i, wp := range webProofs {
websites.SetIndex(i, jsonw.NewString(wp))
}
userBlob.SetKey("websites", websites)
}
output.SetIndex(userIndex, userBlob)
}
GlobUI.Println(output.MarshalPretty())
return nil
}
开发者ID:Varjelus,项目名称:keybase-client,代码行数:28,代码来源:cmd_search.go
示例8: NewJSONFile
func NewJSONFile(g *GlobalContext, filename, which string) *JSONFile {
return &JSONFile{
filename: filename,
which: which,
jw: jsonw.NewDictionary(),
Contextified: NewContextified(g),
}
}
开发者ID:polluks,项目名称:client,代码行数:8,代码来源:json.go
示例9: MarshalToJSON
func (sh SigHint) MarshalToJSON() *jsonw.Wrapper {
ret := jsonw.NewDictionary()
ret.SetKey("sig_id", jsonw.NewString(sh.sigID.ToString(true)))
ret.SetKey("remote_id", jsonw.NewString(sh.remoteID))
ret.SetKey("api_url", jsonw.NewString(sh.apiURL))
ret.SetKey("human_url", jsonw.NewString(sh.humanURL))
ret.SetKey("proof_text_check", jsonw.NewString(sh.checkText))
return ret
}
开发者ID:paul-pearce,项目名称:client-beta,代码行数:9,代码来源:sig_hints.go
示例10: ToSigJSON
func (mr *MerkleRoot) ToSigJSON() (ret *jsonw.Wrapper) {
ret = jsonw.NewDictionary()
ret.SetKey("seqno", jsonw.NewInt(int(mr.seqno)))
ret.SetKey("ctime", jsonw.NewInt64(mr.ctime))
ret.SetKey("hash", jsonw.NewString(mr.rootHash.String()))
return
}
开发者ID:paul-pearce,项目名称:client-beta,代码行数:9,代码来源:merkle_client.go
示例11: ToTrackingStatementSeqTail
func (u *User) ToTrackingStatementSeqTail() *jsonw.Wrapper {
mul := u.GetPublicChainTail()
if mul == nil {
return jsonw.NewNil()
}
ret := jsonw.NewDictionary()
ret.SetKey("sig_id", jsonw.NewString(mul.SigID.ToString(true)))
ret.SetKey("seqno", jsonw.NewInt(int(mul.Seqno)))
ret.SetKey("payload_hash", jsonw.NewString(mul.LinkID.String()))
return ret
}
开发者ID:qbit,项目名称:client,代码行数:11,代码来源:kbsig.go
示例12: ToTrackingStatementBasics
func (u *User) ToTrackingStatementBasics(errp *error) *jsonw.Wrapper {
ret := jsonw.NewDictionary()
ret.SetKey("username", jsonw.NewString(u.name))
if lastIDChange, err := u.basics.AtKey("last_id_change").GetInt(); err == nil {
ret.SetKey("last_id_change", jsonw.NewInt(lastIDChange))
}
if idVersion, err := u.basics.AtKey("id_version").GetInt(); err == nil {
ret.SetKey("id_version", jsonw.NewInt(idVersion))
}
return ret
}
开发者ID:polluks,项目名称:client,代码行数:11,代码来源:kbsig.go
示例13: CryptocurrencySig
func (u *User) CryptocurrencySig(key GenericKey, address string, sigToRevoke keybase1.SigID) (*jsonw.Wrapper, error) {
ret, err := ProofMetadata{
Me: u,
LinkType: CryptocurrencyType,
SigningKey: key,
}.ToJSON(u.G())
if err != nil {
return nil, err
}
body := ret.AtKey("body")
currencySection := jsonw.NewDictionary()
currencySection.SetKey("address", jsonw.NewString(address))
currencySection.SetKey("type", jsonw.NewString("bitcoin"))
body.SetKey("cryptocurrency", currencySection)
if len(sigToRevoke) > 0 {
revokeSection := jsonw.NewDictionary()
revokeSection.SetKey("sig_id", jsonw.NewString(sigToRevoke.ToString(true /* suffix */)))
body.SetKey("revoke", revokeSection)
}
return ret, nil
}
开发者ID:polluks,项目名称:client,代码行数:21,代码来源:kbsig.go
示例14: createKeyFamily
func createKeyFamily(bundles []string) (*KeyFamily, error) {
allKeys := jsonw.NewArray(len(bundles))
for i, bundle := range bundles {
err := allKeys.SetIndex(i, jsonw.NewString(bundle))
if err != nil {
return nil, err
}
}
publicKeys := jsonw.NewDictionary()
publicKeys.SetKey("all_bundles", allKeys)
return ParseKeyFamily(publicKeys)
}
开发者ID:mark-adams,项目名称:client,代码行数:12,代码来源:sig_chain_test.go
示例15: CheckDataJSON
func (w *WebProofChainLink) CheckDataJSON() *jsonw.Wrapper {
ret := jsonw.NewDictionary()
if w.protocol == "dns" {
ret.SetKey("protocol", jsonw.NewString(w.protocol))
ret.SetKey("domain", jsonw.NewString(w.hostname))
} else {
ret.SetKey("protocol", jsonw.NewString(w.protocol+":"))
ret.SetKey("hostname", jsonw.NewString(w.hostname))
}
return ret
}
开发者ID:jacobhaven,项目名称:client,代码行数:12,代码来源:id_table.go
示例16: BaseToTrackingStatement
func (g *GenericChainLink) BaseToTrackingStatement(state keybase1.ProofState) *jsonw.Wrapper {
ret := jsonw.NewDictionary()
ret.SetKey("curr", jsonw.NewString(g.id.String()))
ret.SetKey("sig_id", jsonw.NewString(g.GetSigID().ToString(true)))
rkp := jsonw.NewDictionary()
ret.SetKey("remote_key_proof", rkp)
rkp.SetKey("state", jsonw.NewInt(int(state)))
prev := g.GetPrev()
var prevVal *jsonw.Wrapper
if prev == nil {
prevVal = jsonw.NewNil()
} else {
prevVal = jsonw.NewString(prev.String())
}
ret.SetKey("prev", prevVal)
ret.SetKey("ctime", jsonw.NewInt64(g.unpacked.ctime))
ret.SetKey("etime", jsonw.NewInt64(g.unpacked.etime))
return ret
}
开发者ID:polluks,项目名称:client,代码行数:22,代码来源:kbsig.go
示例17: ToTrackingStatementKey
func (u *User) ToTrackingStatementKey(errp *error) *jsonw.Wrapper {
ret := jsonw.NewDictionary()
if !u.HasActiveKey() {
*errp = fmt.Errorf("User %s doesn't have an active key", u.GetName())
} else {
kid := u.GetEldestKID()
ret.SetKey("kid", jsonw.NewString(kid.String()))
ckf := u.GetComputedKeyFamily()
if fingerprint, exists := ckf.kf.kid2pgp[kid]; exists {
ret.SetKey("key_fingerprint", jsonw.NewString(fingerprint.String()))
}
}
return ret
}
开发者ID:polluks,项目名称:client,代码行数:15,代码来源:kbsig.go
示例18: UpdatePassphraseProof
func (u *User) UpdatePassphraseProof(key GenericKey, pwh string, ppGen PassphraseGeneration) (*jsonw.Wrapper, error) {
ret, err := ProofMetadata{
Me: u,
LinkType: UpdatePassphraseType,
SigningKey: key,
}.ToJSON(u.G())
if err != nil {
return nil, err
}
body := ret.AtKey("body")
pp := jsonw.NewDictionary()
pp.SetKey("hash", jsonw.NewString(pwh))
pp.SetKey("version", jsonw.NewInt(int(triplesec.Version)))
pp.SetKey("passphrase_generation", jsonw.NewInt(int(ppGen)))
body.SetKey("update_passphrase_hash", pp)
return ret, nil
}
开发者ID:polluks,项目名称:client,代码行数:17,代码来源:kbsig.go
示例19: StoreTopLevel
func (u *User) StoreTopLevel() error {
u.G().Log.Debug("+ StoreTopLevel")
jw := jsonw.NewDictionary()
jw.SetKey("id", UIDWrapper(u.id))
jw.SetKey("basics", u.basics)
jw.SetKey("public_keys", u.publicKeys)
jw.SetKey("pictures", u.pictures)
err := u.G().LocalDb.Put(
DbKeyUID(DBUser, u.id),
[]DbKey{{Typ: DBLookupUsername, Key: u.name}},
jw,
)
u.G().Log.Debug("- StoreTopLevel -> %s", ErrToOk(err))
return err
}
开发者ID:mattcurrycom,项目名称:client,代码行数:17,代码来源:user.go
示例20: ToJSON
func (arg KeySection) ToJSON() (*jsonw.Wrapper, error) {
ret := jsonw.NewDictionary()
ret.SetKey("kid", jsonw.NewString(arg.Key.GetKID().String()))
if arg.EldestKID != "" {
ret.SetKey("eldest_kid", jsonw.NewString(arg.EldestKID.String()))
}
if arg.ParentKID != "" {
ret.SetKey("parent_kid", jsonw.NewString(arg.ParentKID.String()))
}
if arg.HasRevSig {
var revSig *jsonw.Wrapper
if arg.RevSig != "" {
revSig = jsonw.NewString(arg.RevSig)
} else {
revSig = jsonw.NewNil()
}
ret.SetKey("reverse_sig", revSig)
}
if arg.SigningUser != nil {
ret.SetKey("host", jsonw.NewString(CanonicalHost))
ret.SetKey("uid", UIDWrapper(arg.SigningUser.GetUID()))
ret.SetKey("username", jsonw.NewString(arg.SigningUser.GetName()))
}
if pgp, ok := arg.Key.(*PGPKeyBundle); ok {
fingerprint := pgp.GetFingerprint()
ret.SetKey("fingerprint", jsonw.NewString(fingerprint.String()))
ret.SetKey("key_id", jsonw.NewString(fingerprint.ToKeyID()))
if arg.IncludePGPHash {
hash, err := pgp.FullHash()
if err != nil {
return nil, err
}
ret.SetKey("full_hash", jsonw.NewString(hash))
}
}
return ret, nil
}
开发者ID:polluks,项目名称:client,代码行数:45,代码来源:kbsig.go
注:本文中的github.com/keybase/go-jsonw.NewDictionary函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论