aboutsummaryrefslogtreecommitdiffstats
path: root/bsie
diff options
context:
space:
mode:
authorMatthias Baumgartner <dev@igsor.net>2022-12-15 17:16:25 +0100
committerMatthias Baumgartner <dev@igsor.net>2022-12-15 17:16:25 +0100
commit5d9526783ad8432c7d6dfe18c0e9f2b37950b470 (patch)
tree0562bf41b675f2546cb473bb583a78865d73928b /bsie
parent8e6d27ea75d2c8d68f6dd8b3d529aaa278f291cc (diff)
downloadbsie-5d9526783ad8432c7d6dfe18c0e9f2b37950b470.tar.gz
bsie-5d9526783ad8432c7d6dfe18c0e9f2b37950b470.tar.bz2
bsie-5d9526783ad8432c7d6dfe18c0e9f2b37950b470.zip
Pipeline.prefix as Namespace instead of URI
Diffstat (limited to 'bsie')
-rw-r--r--bsie/apps/index.py5
-rw-r--r--bsie/apps/info.py4
-rw-r--r--bsie/tools/builder.py13
-rw-r--r--bsie/tools/pipeline.py4
4 files changed, 17 insertions, 9 deletions
diff --git a/bsie/apps/index.py b/bsie/apps/index.py
index aa26d0f..e37684b 100644
--- a/bsie/apps/index.py
+++ b/bsie/apps/index.py
@@ -26,7 +26,7 @@ __all__: typing.Sequence[str] = (
def main(argv):
"""Index files or directories into BSFS."""
parser = argparse.ArgumentParser(description=main.__doc__, prog='index')
- parser.add_argument('--user', type=URI, default=URI('http://example.com/me'),
+ parser.add_argument('--user', type=bsfs.URI, default=bsfs.URI('http://example.com/me'),
help='')
parser.add_argument('--collect', action='append', default=[],
help='')
@@ -60,9 +60,8 @@ def main(argv):
)},
])
# pipeline builder
- prefix = URI(args.user + ('file#' if args.user.endswith('/') else '/file#'))
pbuild = builder.PipelineBuilder(
- prefix,
+ 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 8cc6dca..eaf1f71 100644
--- a/bsie/apps/info.py
+++ b/bsie/apps/info.py
@@ -12,7 +12,7 @@ import typing
# bsie imports
from bsie.base import errors
from bsie.tools import builder
-from bsie.utils.bsfs import URI
+from bsie.utils import bsfs
# exports
__all__: typing.Sequence[str] = (
@@ -48,7 +48,7 @@ def main(argv):
])
# pipeline builder
pbuild = builder.PipelineBuilder(
- URI('http://example.com/me/file#'), # not actually used
+ bsfs.Namespace('http://example.com/me/'), # not actually used
rbuild,
ebuild,
)
diff --git a/bsie/tools/builder.py b/bsie/tools/builder.py
index 8c6b931..24aea84 100644
--- a/bsie/tools/builder.py
+++ b/bsie/tools/builder.py
@@ -163,15 +163,24 @@ class ExtractorBuilder():
return cls(**kwargs)
except Exception as err:
- raise errors.BuilderError(f'failed to build extractor {name} due to {typename(err)}: {err}') from err
+ raise errors.BuilderError(f'failed to build extractor {name} due to {bsfs.typename(err)}: {err}') from err
class PipelineBuilder():
"""Build `bsie.tools.pipeline.Pipeline` instances."""
+ # Prefix to be used in the Pipeline.
+ prefix: bsfs.Namespace
+
+ # builder for Readers.
+ rbuild: ReaderBuilder
+
+ # builder for Extractors.
+ ebuild: ExtractorBuilder
+
def __init__(
self,
- prefix: URI,
+ prefix: bsfs.Namespace,
reader_builder: ReaderBuilder,
extractor_builder: ExtractorBuilder,
):
diff --git a/bsie/tools/pipeline.py b/bsie/tools/pipeline.py
index 3d08993..834bd99 100644
--- a/bsie/tools/pipeline.py
+++ b/bsie/tools/pipeline.py
@@ -39,14 +39,14 @@ class Pipeline():
schema: _schema.Schema
# node prefix.
- _prefix: URI
+ _prefix: bsfs.Namespace
# extractor -> reader mapping
_ext2rdr: typing.Dict[base.extractor.Extractor, typing.Optional[base.reader.Reader]]
def __init__(
self,
- prefix: URI,
+ prefix: bsfs.Namespace,
ext2rdr: typing.Dict[base.extractor.Extractor, typing.Optional[base.reader.Reader]]
):
# store core members