File: leveldb2etcd.py

package info (click to toggle)
aptly 1.6.2-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 49,928 kB
  • sloc: python: 10,398; sh: 252; makefile: 184
file content (27 lines) | stat: -rw-r--r-- 907 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#!/usr/bin/env python

import plyvel
import etcd3
import argparse
from termcolor import cprint

if __name__ == "__main__":
    parser = argparse.ArgumentParser()
    parser.add_argument("--datadir", required=True, help="leveldb data dir")
    parser.add_argument("--etcdaddr", default="127.0.0.1", help="etcd server address")
    parser.add_argument("--etcdport", default="2379", help="etcd server address")

    args = parser.parse_args()

    ldb = plyvel.DB(args.datadir)
    etcd = etcd3.client(args.etcdaddr, args.etcdport)

    for key, value in ldb:
        try:
            keystr = key
            valuestr = value
            etcd.put(keystr, valuestr)
            # cprint("key: "+keystr+", value: "+valuestr+"put success!\n", 'green')
        except Exception as e:
            cprint("key: " + str(keystr) + ", value: " + str(valuestr) + "put err: " + str(e) + "\n", 'red')
            exit(1)