diff --git a/ximage.py b/ximage.py index d14450f..2f9bb77 100644 --- a/ximage.py +++ b/ximage.py @@ -9,6 +9,7 @@ from datetime import datetime from string import Template import pickle +from functools import reduce XMP_NS_ALIQUIS = 'http://bioretics.com/aliquis' @@ -361,7 +362,7 @@ def build_hierarchy(blobs_children, parent): for root in roots: parent.children.append(root) build_hierarchy(blobs_children, root) - + mask = cv2.imread(args.mask, -1) # Count number of classes @@ -565,7 +566,11 @@ def _ximage_index_connect(args, create=False): sqlite3.register_converter('uuid', lambda buf: UUID(bytes=buf)) sqlite3.register_adapter(XValue, lambda x: pickle.dumps(x.val)) sqlite3.register_adapter(np.ndarray, lambda a: np.getbuffer(a)) - sqlite3.register_adapter(UUID, lambda uuid: buffer(uuid.get_bytes())) + + if sys.version_info[0] == 2: + sqlite3.register_adapter(UUID, lambda uuid: buffer(uuid.get_bytes())) + else: + sqlite3.register_adapter(UUID, lambda uuid: memoryview(uuid.get_bytes())) index_path = os.path.join(args.root, '.ximage-index.db') if not create: @@ -914,7 +919,12 @@ def ximage_main(prog_name='ximage'): parser_stats = subparsers.add_parser('stats', help='Show some indexed directory statistics') parser_stats.add_argument('-D', '--root', type=str, required=False, default=os.getcwd(), help='Root directory path (default: cwd)') parser_stats.set_defaults(func=ximage_stats) - + + # print usage if no args are used + if len(sys.argv) == 1: + parser.print_help(sys.stderr) + sys.exit(1) + args = parser.parse_args() sys.exit(args.func(args))