10
0
mirror of https://gitlab.com/scemama/EZFIO.git synced 2024-11-19 12:32:24 +01:00
EZFIO/bin/archive_ezfio.py

55 lines
1.1 KiB
Python
Raw Normal View History

2015-03-03 16:28:24 +01:00
#!/usr/bin/env python
import sys
import os
sys.path = [ os.path.dirname(__file__)+"/../Python" ]+sys.path
import cPickle as pickle
2015-03-03 18:11:32 +01:00
import zlib
2015-03-03 16:28:24 +01:00
from ezfio import ezfio_obj, ezfio
# Hide errors
def f(where,txt):
raise IOError
ezfio.error = f
def main():
2015-03-03 18:11:32 +01:00
do_verbose = False
if "-v" in sys.argv:
do_verbose = True
sys.argv.remove("-v")
2015-03-03 16:28:24 +01:00
if len(sys.argv) == 1:
print "syntax: %s <EZFIO_Filename>"%(sys.argv[0])
sys.exit(1)
ezfio_filename = sys.argv[1]
2015-03-03 18:11:32 +01:00
while ezfio_filename[-1] == "/":
ezfio_filename = ezfio_filename[:-1]
2015-03-03 16:28:24 +01:00
ezfio.set_filename(ezfio_filename)
get_functions = filter(
lambda x: x.startswith("has_"),
ezfio_obj.__dict__.keys() )
d = {}
for f in get_functions:
f_name = f[4:]
try:
exec """d['%s'] = ezfio.%s"""%(f_name,f_name)
except IOError:
2015-03-03 18:11:32 +01:00
if do_verbose:
print "%-40s [%5s]"%(f_name, "Empty")
2015-03-03 16:28:24 +01:00
else:
2015-03-03 18:11:32 +01:00
if do_verbose:
print "%-40s [%5s]"%(f_name, " OK ")
2015-03-03 16:28:24 +01:00
2015-03-03 18:11:32 +01:00
dump = zlib.compress(pickle.dumps(d))
2015-03-03 16:28:24 +01:00
file = open(ezfio_filename+".ezar","w")
file.write(dump)
file.close()
if __name__ == "__main__":
main()