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
This commit is contained in:
parent
45f0136ceb
commit
a3524b761b
30
tools/data
Executable file
30
tools/data
Executable file
@ -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)
|
Loading…
Reference in New Issue
Block a user