aboutsummaryrefslogtreecommitdiffstats
path: root/bsie/apps/info.py
diff options
context:
space:
mode:
Diffstat (limited to 'bsie/apps/info.py')
-rw-r--r--bsie/apps/info.py48
1 files changed, 8 insertions, 40 deletions
diff --git a/bsie/apps/info.py b/bsie/apps/info.py
index 750aedc..e27b70b 100644
--- a/bsie/apps/info.py
+++ b/bsie/apps/info.py
@@ -1,20 +1,16 @@
-"""
-Part of the bsie module.
-A copy of the license is provided with the project.
-Author: Matthias Baumgartner, 2022
-"""
# standard imports
import argparse
+import os
import sys
import typing
# bsie imports
-from bsie.extractor import ExtractorBuilder
-from bsie.lib import PipelineBuilder
-from bsie.reader import ReaderBuilder
from bsie.utils import bsfs, errors
+# inner-module imports
+from . import _loader
+
# exports
__all__: typing.Sequence[str] = (
'main',
@@ -26,43 +22,15 @@ __all__: typing.Sequence[str] = (
def main(argv):
"""Show information from BSIE."""
parser = argparse.ArgumentParser(description=main.__doc__, prog='info')
+ parser.add_argument('--config', type=str,
+ default=os.path.join(os.path.dirname(__file__), _loader.DEFAULT_CONFIG_FILE),
+ help='Path to the config file.')
parser.add_argument('what', choices=('predicates', 'schema'),
help='Select what information to show.')
args = parser.parse_args(argv)
- # FIXME: Read reader/extractor configs from a config file
- # reader builder
- rbuild = ReaderBuilder()
- # extractor builder
- ebuild = ExtractorBuilder([
- {'bsie.extractor.preview.Preview': {
- 'max_sides': [50, 200],
- }},
- {'bsie.extractor.generic.path.Path': {}},
- {'bsie.extractor.generic.stat.Stat': {}},
- {'bsie.extractor.generic.constant.Constant': dict(
- tuples=[('http://bsfs.ai/schema/Entity#author', 'Me, myself, and I')],
- schema='''
- bse:author rdfs:subClassOf bsfs:Predicate ;
- rdfs:domain bsfs:Entity ;
- rdfs:range xsd:string ;
- bsfs:unique "true"^^xsd:boolean .
- ''',
- )},
- {'bsie.extractor.image.colors_spatial.ColorsSpatial': {
- 'width': 2,
- 'height': 2,
- 'exp': 2,
- }},
- ])
- # pipeline builder
- pbuild = PipelineBuilder(
- rbuild,
- ebuild,
- )
-
# build pipeline
- pipeline = pbuild.build()
+ pipeline = _loader.load_pipeline(args.config)
# show info
if args.what == 'predicates':