From 266c2c9a072bf3289fd7f2d75278b7d59528378c Mon Sep 17 00:00:00 2001 From: Matthias Baumgartner Date: Sat, 24 Dec 2022 10:27:09 +0100 Subject: package restructuring: base * Reader and Extractor to respective reader/extractor modules * ReaderBuilder to reader module * ExtractorBuilder to extractor module * Loading module in utils (safe_load, unpack_name) * Pipeline and PipelineBuilder to lib module * errors to utils * documentation: "standard import" and "external import" --- bsie/apps/index.py | 16 ++++++++-------- bsie/apps/info.py | 16 +++++++++------- 2 files changed, 17 insertions(+), 15 deletions(-) (limited to 'bsie/apps') diff --git a/bsie/apps/index.py b/bsie/apps/index.py index 1dbfdd8..0c6296f 100644 --- a/bsie/apps/index.py +++ b/bsie/apps/index.py @@ -4,16 +4,16 @@ Part of the bsie module. A copy of the license is provided with the project. Author: Matthias Baumgartner, 2022 """ -# imports +# standard imports import argparse import os import typing # bsie imports -from bsie.base import errors -from bsie.lib import BSIE -from bsie.tools import builder -from bsie.utils import bsfs +from bsie.extractor import ExtractorBuilder +from bsie.lib import BSIE, PipelineBuilder +from bsie.reader import ReaderBuilder +from bsie.utils import bsfs, errors # exports __all__: typing.Sequence[str] = ( @@ -44,9 +44,9 @@ def main(argv): # FIXME: Read reader/extractor configs from a config file # reader builder - rbuild = builder.ReaderBuilder({}) + rbuild = ReaderBuilder({}) # extractor builder - ebuild = builder.ExtractorBuilder([ + ebuild = ExtractorBuilder([ {'bsie.extractor.generic.path.Path': {}}, {'bsie.extractor.generic.stat.Stat': {}}, {'bsie.extractor.generic.constant.Constant': dict( @@ -60,7 +60,7 @@ def main(argv): )}, ]) # pipeline builder - pbuild = builder.PipelineBuilder( + pbuild = PipelineBuilder( bsfs.Namespace(args.user + ('/' if not args.user.endswith('/') else '')), rbuild, ebuild, diff --git a/bsie/apps/info.py b/bsie/apps/info.py index eaf1f71..a4e611c 100644 --- a/bsie/apps/info.py +++ b/bsie/apps/info.py @@ -4,15 +4,16 @@ Part of the bsie module. A copy of the license is provided with the project. Author: Matthias Baumgartner, 2022 """ -# imports +# standard imports import argparse import sys import typing # bsie imports -from bsie.base import errors -from bsie.tools import builder -from bsie.utils import bsfs +from bsie.extractor import ExtractorBuilder +from bsie.lib import PipelineBuilder +from bsie.reader import ReaderBuilder +from bsie.utils import bsfs, errors # exports __all__: typing.Sequence[str] = ( @@ -31,9 +32,10 @@ def main(argv): # FIXME: Read reader/extractor configs from a config file # reader builder - rbuild = builder.ReaderBuilder({}) + rbuild = ReaderBuilder({ + }) # extractor builder - ebuild = builder.ExtractorBuilder([ + ebuild = ExtractorBuilder([ {'bsie.extractor.generic.path.Path': {}}, {'bsie.extractor.generic.stat.Stat': {}}, {'bsie.extractor.generic.constant.Constant': dict( @@ -47,7 +49,7 @@ def main(argv): )}, ]) # pipeline builder - pbuild = builder.PipelineBuilder( + pbuild = PipelineBuilder( bsfs.Namespace('http://example.com/me/'), # not actually used rbuild, ebuild, -- cgit v1.2.3 From 07219685d01f803dc46c8d5465fa542c1d822cb4 Mon Sep 17 00:00:00 2001 From: Matthias Baumgartner Date: Sat, 24 Dec 2022 10:39:51 +0100 Subject: documentation: standard vs external import --- bsie/apps/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'bsie/apps') diff --git a/bsie/apps/__init__.py b/bsie/apps/__init__.py index a548c3c..1c3d0f9 100644 --- a/bsie/apps/__init__.py +++ b/bsie/apps/__init__.py @@ -4,7 +4,7 @@ Part of the bsie module. A copy of the license is provided with the project. Author: Matthias Baumgartner, 2022 """ -# imports +# standard imports import typing # inner-module imports -- cgit v1.2.3 From 76f2cc9206276ca21a395dd9417ff7dfed0467fd Mon Sep 17 00:00:00 2001 From: Matthias Baumgartner Date: Mon, 16 Jan 2023 08:53:41 +0100 Subject: schema serialization adjustments and app --- bsie/apps/info.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'bsie/apps') diff --git a/bsie/apps/info.py b/bsie/apps/info.py index a4e611c..cd28685 100644 --- a/bsie/apps/info.py +++ b/bsie/apps/info.py @@ -26,7 +26,7 @@ __all__: typing.Sequence[str] = ( def main(argv): """Show information from BSIE.""" parser = argparse.ArgumentParser(description=main.__doc__, prog='info') - parser.add_argument('what', choices=('predicates', ), + parser.add_argument('what', choices=('predicates', 'schema'), help='Select what information to show.') args = parser.parse_args(argv) @@ -63,6 +63,9 @@ def main(argv): # show predicates for pred in pipeline.schema.predicates(): print(pred.uri) + elif args.what == 'schema': + # show schema + print(bsfs.schema.to_string(pipeline.schema)) else: # args.what is already checked by argparse raise errors.UnreachableError() -- cgit v1.2.3 From 3f93be488638fdf6668e0e03e2b1634bb969ca80 Mon Sep 17 00:00:00 2001 From: Matthias Baumgartner Date: Mon, 16 Jan 2023 15:39:16 +0100 Subject: random fixes --- bsie/apps/info.py | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'bsie/apps') diff --git a/bsie/apps/info.py b/bsie/apps/info.py index cd28685..5b6fb0e 100644 --- a/bsie/apps/info.py +++ b/bsie/apps/info.py @@ -33,6 +33,10 @@ def main(argv): # FIXME: Read reader/extractor configs from a config file # reader builder rbuild = ReaderBuilder({ + 'bsie.reader.image.Image': { + 'bsie.reader.image._raw.RawImage': { + } + } }) # extractor builder ebuild = ExtractorBuilder([ -- cgit v1.2.3 From bffe6bb52d00e60665b4e8e2144ab91e4465173e Mon Sep 17 00:00:00 2001 From: Matthias Baumgartner Date: Mon, 16 Jan 2023 20:54:25 +0100 Subject: minor bugfixes --- bsie/apps/index.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'bsie/apps') diff --git a/bsie/apps/index.py b/bsie/apps/index.py index 0c6296f..7cf94d3 100644 --- a/bsie/apps/index.py +++ b/bsie/apps/index.py @@ -82,7 +82,9 @@ def main(argv): # index input paths for path in args.input_file: - if os.path.isdir(path) and args.recursive: + if not os.path.exists(path): + pass # FIXME: notify the user + elif os.path.isdir(path) and args.recursive: for dirpath, _, filenames in os.walk(path, topdown=True, followlinks=args.follow): for filename in filenames: for node, pred, value in bsie.from_file(os.path.join(dirpath, filename)): -- cgit v1.2.3 From 02bbad817077e9a23f7b24b82845fcde24de63a9 Mon Sep 17 00:00:00 2001 From: Matthias Baumgartner Date: Mon, 16 Jan 2023 20:55:13 +0100 Subject: image feature integration test --- bsie/apps/index.py | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'bsie/apps') diff --git a/bsie/apps/index.py b/bsie/apps/index.py index 7cf94d3..25e006f 100644 --- a/bsie/apps/index.py +++ b/bsie/apps/index.py @@ -44,7 +44,10 @@ def main(argv): # FIXME: Read reader/extractor configs from a config file # reader builder - rbuild = ReaderBuilder({}) + rbuild = ReaderBuilder({ + 'bsie.reader.image.Image': { + 'cfg': {}}, # FIXME: cfg should be optional! + }) # extractor builder ebuild = ExtractorBuilder([ {'bsie.extractor.generic.path.Path': {}}, @@ -58,6 +61,11 @@ def main(argv): bsfs:unique "true"^^xsd:boolean . ''', )}, + {'bsie.extractor.image.colors_spatial.ColorsSpatial': { + 'width': 2, + 'height': 2, + 'exp': 2, + }}, ]) # pipeline builder pbuild = PipelineBuilder( -- cgit v1.2.3 From 8439089807bbad92e95ad9062dc74c3d71f5d7eb Mon Sep 17 00:00:00 2001 From: Matthias Baumgartner Date: Mon, 16 Jan 2023 21:35:19 +0100 Subject: ReaderBuilder optional config --- bsie/apps/index.py | 5 +---- bsie/apps/info.py | 7 +------ 2 files changed, 2 insertions(+), 10 deletions(-) (limited to 'bsie/apps') diff --git a/bsie/apps/index.py b/bsie/apps/index.py index 25e006f..21c2318 100644 --- a/bsie/apps/index.py +++ b/bsie/apps/index.py @@ -44,10 +44,7 @@ def main(argv): # FIXME: Read reader/extractor configs from a config file # reader builder - rbuild = ReaderBuilder({ - 'bsie.reader.image.Image': { - 'cfg': {}}, # FIXME: cfg should be optional! - }) + rbuild = ReaderBuilder() # extractor builder ebuild = ExtractorBuilder([ {'bsie.extractor.generic.path.Path': {}}, diff --git a/bsie/apps/info.py b/bsie/apps/info.py index 5b6fb0e..d8a70a6 100644 --- a/bsie/apps/info.py +++ b/bsie/apps/info.py @@ -32,12 +32,7 @@ def main(argv): # FIXME: Read reader/extractor configs from a config file # reader builder - rbuild = ReaderBuilder({ - 'bsie.reader.image.Image': { - 'bsie.reader.image._raw.RawImage': { - } - } - }) + rbuild = ReaderBuilder() # extractor builder ebuild = ExtractorBuilder([ {'bsie.extractor.generic.path.Path': {}}, -- cgit v1.2.3 From 4f868bcb3be2658960eace3222563cc9a819366a Mon Sep 17 00:00:00 2001 From: Matthias Baumgartner Date: Mon, 16 Jan 2023 21:36:11 +0100 Subject: info schema and feature tests --- bsie/apps/info.py | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'bsie/apps') diff --git a/bsie/apps/info.py b/bsie/apps/info.py index d8a70a6..64a4eba 100644 --- a/bsie/apps/info.py +++ b/bsie/apps/info.py @@ -46,6 +46,11 @@ def main(argv): bsfs:unique "true"^^xsd:boolean . ''', )}, + {'bsie.extractor.image.colors_spatial.ColorsSpatial': { + 'width': 2, + 'height': 2, + 'exp': 2, + }}, ]) # pipeline builder pbuild = PipelineBuilder( -- cgit v1.2.3