diff --git a/README.md b/README.md index d39db5e..b2e5878 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@ Swegram is a tool that offers the ability to annotate and analyse Swedish and En ## Setup ENVIRONMENT VARIABLES -```console +```bash export SWEGRAM_WORKSPACE=$(pwd) ``` @@ -14,12 +14,12 @@ export SWEGRAM_WORKSPACE=$(pwd) ## Install swegram command line interface Before installation, it is strongly recommended to use a virtual environment -``` +```bash python3 -m venv venv source venv/bin/activate ``` -```console +```bash # Install swegram package pip install swegram --upgrade diff --git a/setup.py b/setup.py index 1fcf5c2..f9435cc 100644 --- a/setup.py +++ b/setup.py @@ -2,7 +2,7 @@ from pathlib import Path from setuptools import setup, find_packages from typing import List - +from swegram_main.version import VERSION Base = Path(__file__).parent.resolve() @@ -15,7 +15,7 @@ def get_requirements() -> List[str]: setup( name="swegram", - version="1.0.2", + version=VERSION, description="CLI library for Swegram", long_description=(Base / "README.md").read_text(encoding="utf-8"), packages=find_packages(exclude=["tools*", "test*", "swegram/*", "swegram_django*"]), diff --git a/setup.sh b/setup.sh index 295bd71..e279e2a 100644 --- a/setup.sh +++ b/setup.sh @@ -1,5 +1,5 @@ +#!/bin/bash # setup environment variables - export PYTHONPATH="$PYTHONPATH:$(pwd):$(pwd)/tools/efselab" export SWEGRAM_WORKSPACE=$(pwd) diff --git a/swegram_main/handler/visualization.py b/swegram_main/handler/visualization.py index 981c48d..126d695 100644 --- a/swegram_main/handler/visualization.py +++ b/swegram_main/handler/visualization.py @@ -67,7 +67,7 @@ def filter( self.outfile_name = self.outdir.joinpath(f"statistic-{self.input_path.with_suffix(f'.{save_as}').name}") if save_as == "txt" or pprint: self.save(data) - elif save_as == "json": + if save_as == "json": with open(self.outfile_name, code="w", encoding="utf-8") as output_file: data["metadata"] = self.get_json_info() json_object = json.dumps(self.serialize_json_data(data), indent=4) @@ -152,8 +152,9 @@ def save(self, data: OrderedDict) -> None: print() def save_instance(self, index: Optional[str], unit: str, aspect_instances: List[OrderedDict]) -> None: + self._save_instance_head() for aspect_name, instance in zip(self.aspects, aspect_instances): - self.save_title(unit, aspect_name, index) + self.save_aspect_title(unit, aspect_name, index) for fn, f in instance.items(): self.save_feature(fn, f) if self.pprint: @@ -163,7 +164,7 @@ def save_instance(self, index: Optional[str], unit: str, aspect_instances: List[ if self.save_as == "txt": self.append_in_text("") - def save_title(self, unit: str, aspect_name: str, index: Optional[str]) -> None: + def save_aspect_title(self, unit: str, aspect_name: str, index: Optional[str]) -> None: title = f"{' ':>2}{'-'.join(e for e in (unit.title(), index, aspect_name) if e):>40}" \ f"{'|':>4}{'-'*13}|{'-'*13}|{'-'*13}|" if self.pprint: @@ -181,6 +182,18 @@ def c(v: Any) -> Any: if self.save_as == "txt": self.append_in_text(feature) + def _save_instance_head(self): + af = "UNIT-ASPECT/Features" + scalar = "Scalar" + mean = "Mean" + median = "Median" + + heading = f"{' ':>2}{af:>40}{'|':>4}{scalar:>10}{'|':>4}{mean:>10}{'|':>4}{median:>10}{'|':>4}" + if self.pprint: + print(heading) + if self.save_as == "txt": + self.append_in_text(heading) + class XlsxStatisticWriter(XlsxClient): @@ -210,7 +223,8 @@ def load_unit(self, unit: str, aspects: Any) -> None: def load_aspects(self, sheet: worksheet, row: int, unit: str, aspects: Any) -> int: if isinstance(aspects[0], OrderedDict): for aspect, features in zip(self.aspects, aspects): - self.dump_cell(sheet, row, 1, f"{unit}-{aspect}") + for col, content in enumerate([f"{unit}-{aspect}", "Scalar", "Mean", "Median"], 1): + self.dump_cell(sheet, row, col, content) row += 1 for feature_name, feature in features.items(): self.dump_column_list(sheet, row, 1, [feature_name, feature.scalar, feature.mean, feature.median]) diff --git a/swegram_main/version.py b/swegram_main/version.py new file mode 100644 index 0000000..18f1193 --- /dev/null +++ b/swegram_main/version.py @@ -0,0 +1,3 @@ +"""version module""" + +VERSION = "1.0.3"