From a3524b761b59664a9758cafda8c7ffdd981f7fc1 Mon Sep 17 00:00:00 2001 From: Cory McWilliams Date: Mon, 25 Apr 2016 20:27:09 +0000 Subject: [PATCH] Adding a completely dangerous tool to dump and load all lmdb databases. git-svn-id: https://www.unprompted.com/svn/projects/tildefriends/trunk@3217 ed5197a5-7fde-0310-b194-c3ffbd925b24 --- tools/data | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100755 tools/data diff --git a/tools/data b/tools/data new file mode 100755 index 00000000..4c44707d --- /dev/null +++ b/tools/data @@ -0,0 +1,30 @@ +#!/usr/bin/python + +import os +import shutil +import subprocess +import sys +import zipfile + +if sys.argv[1] == 'dump': + with zipfile.ZipFile('data.zip', 'w') as z: + for root, dirs, files in os.walk('data'): + for f in files: + if f == 'data.mdb': + database = subprocess.check_output(['mdb_dump', root]) + z.writestr(root, database) +elif sys.argv[1] == 'load': + with zipfile.ZipFile('data.zip', 'r') as z: + for name in z.namelist(): + database = z.read(name) + if os.path.exists(name): + shutil.rmtree(name) + os.makedirs(name) + p = subprocess.Popen(['mdb_load', name], stdin=subprocess.PIPE) + p.communicate(database) + assert p.wait() == 0 + #for root, dirs, files in os.walk('data'): + #for f in files: + #if f == 'data.mdb': + #database = subprocess.check_output(['mdb_dump', root]) + #z.writestr(root, database)