コード例 #1
0
func ExportDatabaseJSON(db interfaces.IDatabase, convertNames bool) error {
	fmt.Printf("Exporting the database\n")
	if db == nil {
		return nil
	}
	buckets, err := db.ListAllBuckets()
	if err != nil {
		return err
	}
	answer := map[string]interface{}{}
	for _, bucket := range buckets {
		m := map[string]interface{}{}
		data, keys, err := db.GetAll(bucket, new(primitives.ByteSlice))
		if err != nil {
			return err
		}
		for i, key := range keys {
			m[fmt.Sprintf("%x", key)] = data[i]
		}
		if convertNames == true {
			answer[KeyToName(bucket)] = m
		} else {
			answer[fmt.Sprintf("%x", bucket)] = m
		}
	}

	data, err := primitives.EncodeJSON(answer)
	if err != nil {
		return err
	}

	var out bytes.Buffer
	json.Indent(&out, data, "", "\t")
	data = out.Next(out.Len())
	/*
		dir := be.DataStorePath
		if dir != "" {
			if FileNotExists(dir) {
				err := os.MkdirAll(dir, 0777)
				if err == nil {
					fmt.Println("Created directory " + dir)
				} else {
					return err
				}
			}
		}
		if dir != "" {
			dir = dir + "/db.txt"
		} else {
			dir = "db.txt"
		}*/
	dir := "db.txt"
	err = ioutil.WriteFile(dir, data, 0777)
	if err != nil {
		return err
	}
	return nil
}
コード例 #2
0
ファイル: missingMsg.go プロジェクト: FactomProject/factomd
func (e *MissingMsg) JSONByte() ([]byte, error) {
	return primitives.EncodeJSON(e)
}
コード例 #3
0
func (e *AddFederatedServer) JSONByte() ([]byte, error) {
	return primitives.EncodeJSON(e)
}
コード例 #4
0
ファイル: bounce.go プロジェクト: FactomProject/factomd
func (e *Bounce) JSONByte() ([]byte, error) {
	return primitives.EncodeJSON(e)
}
コード例 #5
0
func (e *EntryBlockResponse) JSONByte() ([]byte, error) {
	return primitives.EncodeJSON(e)
}
コード例 #6
0
ファイル: msgrevealchain.go プロジェクト: jjdevbiz/factomd
func (e *MsgRevealChain) JSONByte() ([]byte, error) {
	return primitives.EncodeJSON(e)
}
コード例 #7
0
ファイル: signatureblock.go プロジェクト: jjdevbiz/factomd
func (e *SignatureBlock) JSONByte() ([]byte, error) {
	return primitives.EncodeJSON(e)
}
コード例 #8
0
ファイル: adminBlock.go プロジェクト: FactomProject/factomd
func (e *AdminBlock) JSONByte() ([]byte, error) {
	return primitives.EncodeJSON(e)
}
コード例 #9
0
ファイル: ferEntry.go プロジェクト: FactomProject/factomd
func (e *FEREntry) JSONByte() ([]byte, error) {
	return primitives.EncodeJSON(e)
}
コード例 #10
0
ファイル: dataResponse.go プロジェクト: FactomProject/factomd
func (e *DataResponse) JSONByte() ([]byte, error) {
	return primitives.EncodeJSON(e)
}
コード例 #11
0
ファイル: requestBlock.go プロジェクト: FactomProject/factomd
func (e *RequestBlock) JSONByte() ([]byte, error) {
	return primitives.EncodeJSON(e)
}
コード例 #12
0
func (e *DBStateMissing) JSONByte() ([]byte, error) {
	return primitives.EncodeJSON(e)
}
コード例 #13
0
ファイル: msggetentrydata.go プロジェクト: jjdevbiz/factomd
func (e *MsgGetEntryData) JSONByte() ([]byte, error) {
	return primitives.EncodeJSON(e)
}
コード例 #14
0
ファイル: bytestore.go プロジェクト: jjdevbiz/factomd
func (e ByteStore) JSONByte() ([]byte, error) {
	return primitives.EncodeJSON(e)
}
コード例 #15
0
ファイル: signature.go プロジェクト: FactomProject/factomd
func (s *FactoidSignature) JSONByte() ([]byte, error) {
	return primitives.EncodeJSON(s)
}
コード例 #16
0
func (e *FactoidTransaction) JSONByte() ([]byte, error) {
	return primitives.EncodeJSON(e)
}
コード例 #17
0
ファイル: msgack.go プロジェクト: jjdevbiz/factomd
func (e *MsgAck) JSONByte() ([]byte, error) {
	return primitives.EncodeJSON(e)
}
コード例 #18
0
func (e *EndOfMinuteEntry) JSONByte() ([]byte, error) {
	return primitives.EncodeJSON(e)
}
コード例 #19
0
func (e *ServerFault) JSONByte() ([]byte, error) {
	return primitives.EncodeJSON(e)
}
コード例 #20
0
func (e *AddAuditServer) JSONByte() ([]byte, error) {
	return primitives.EncodeJSON(e)
}
コード例 #21
0
ファイル: eblockHeader.go プロジェクト: jjdevbiz/factomd
func (e *EBlockHeader) JSONByte() ([]byte, error) {
	return primitives.EncodeJSON(e)
}
コード例 #22
0
ファイル: heartbeat.go プロジェクト: FactomProject/factomd
func (e *Heartbeat) JSONByte() ([]byte, error) {
	return primitives.EncodeJSON(e)
}
コード例 #23
0
func (e *DirectoryBlock) JSONByte() ([]byte, error) {
	return primitives.EncodeJSON(e)
}
コード例 #24
0
ファイル: serverindexnumber.go プロジェクト: jjdevbiz/factomd
func (e *ServerIndexNumber) JSONByte() ([]byte, error) {
	return primitives.EncodeJSON(e)
}
コード例 #25
0
ファイル: ecblockBody.go プロジェクト: jjdevbiz/factomd
func (e *ECBlockBody) JSONByte() ([]byte, error) {
	return primitives.EncodeJSON(e)
}
コード例 #26
0
func (e *IncreaseBalance) JSONByte() ([]byte, error) {
	return primitives.EncodeJSON(e)
}
コード例 #27
0
func (e *IncreaseServerCount) JSONByte() ([]byte, error) {
	return primitives.EncodeJSON(e)
}
コード例 #28
0
ファイル: commitEntry.go プロジェクト: FactomProject/factomd
func (e *CommitEntryMsg) JSONByte() ([]byte, error) {
	return primitives.EncodeJSON(e)
}
コード例 #29
0
ファイル: msgfactoidtx.go プロジェクト: jjdevbiz/factomd
func (e *MsgFactoidTX) JSONByte() ([]byte, error) {
	return primitives.EncodeJSON(e)
}
コード例 #30
0
func (e *Identity) JSONByte() ([]byte, error) {
	return primitives.EncodeJSON(e)
}