diff --git a/Examples/ebas_convert.py b/Examples/ebas_convert.py index 6975c56cee1f9fb6e07aaa1ae29bbf741a5d5a51..518e1486e08072ce94246b4bd0219e2ee9f2b013 100755 --- a/Examples/ebas_convert.py +++ b/Examples/ebas_convert.py @@ -9,8 +9,9 @@ import sys import logging import argparse import textwrap +import re from nilutility.argparse_helper import ParseStrings, ParseIntegers -from ebas.db_fileindex import IndexDb, IndexDbNotOpen, IndexDbExists +from ebas.db_fileindex import IndexDb, OperationalError from ebas.commandline import EbasCommandline from ebas.io.file import EbasIOFlagOption from ebas.io.file.nasa_ames import EbasNasaAmes, EbasNasaAmesReadError @@ -177,13 +178,21 @@ def open_indexdb(dbname, logger): """ if dbname: try: - return IndexDb(dbname) - except IndexDbNotOpen: - logger.error("can not open index db {}".format(dbname)) - sys.exit(1) - except IndexDbExists: - logger.error("index db {} exists already".format(dbname)) - sys.exit(1) + indexdb = IndexDb(dbname) + except OperationalError as excpt: + if str(excpt) == 'unable to open database file': + logger.error("can not open index db {}".format(dbname)) + sys.exit(1) + raise + try: + indexdb.create_tables() + except OperationalError as excpt: + if re.match('table .* already exists', str(excpt)): + logger.error("index db {} exists already".format(dbname)) + sys.exit(1) + else: + raise + return indexdb return None def ebas_convert(cmdline): @@ -201,7 +210,6 @@ def ebas_convert(cmdline): exitcode = 0 # number of failed files (max 255) indexdb = open_indexdb(args.fileindex, logger) - print(args.format) fileset = EbasIOResultSet( outformat=args.format, createfiles=args.createfiles, destdir=args.destdir, xmlwrap=args.xmlwrap, flags=args.flags, diff --git a/Examples/ebas_flatcsv.py b/Examples/ebas_flatcsv.py index 76f06ec35b0f27d7016fb0524e40c4baf278b5a0..a793a2e0e157bce80c48fffa57d59611551bf1c8 100755 --- a/Examples/ebas_flatcsv.py +++ b/Examples/ebas_flatcsv.py @@ -39,7 +39,7 @@ def prepare_csv(): Returns: csv.writer object """ - outfile = open("output.csv", "wb") + outfile = open("output.csv", "w") csv.register_dialect('ebas', delimiter=',', quotechar='"') csvwriter = csv.writer(outfile, dialect='ebas', quoting=csv.QUOTE_MINIMAL) header = ["Set type code", diff --git a/dist/ebas_io-3.4.0-py2-none-any.whl b/dist/ebas_io-3.4.0-py2-none-any.whl index f682b1eb551ca156c9979699b60fb5238ba240bf..b6bbb05d81e5db5b72fce8dc5919f4049afab915 100644 Binary files a/dist/ebas_io-3.4.0-py2-none-any.whl and b/dist/ebas_io-3.4.0-py2-none-any.whl differ diff --git a/dist/ebas_io-3.4.0-py3-none-any.whl b/dist/ebas_io-3.4.0-py3-none-any.whl index 2f1d9b7d42f1341a111053ea0c6a04a48f3d6cf4..22daf65e389784f0101e0acdca8addf1b5593413 100644 Binary files a/dist/ebas_io-3.4.0-py3-none-any.whl and b/dist/ebas_io-3.4.0-py3-none-any.whl differ