Skip to content
Snippets Groups Projects
Commit a0865827 authored by Jakub-Goluch's avatar Jakub-Goluch
Browse files

Add tests to read jsonl files

parent eb918339
Branches
1 merge request!4Resolve "Read not only .txt files"
Pipeline #11225 passed with stages
in 5 minutes and 39 seconds
...@@ -33,7 +33,7 @@ class EasymatcherWorker(nlp_ws.NLPWorker): ...@@ -33,7 +33,7 @@ class EasymatcherWorker(nlp_ws.NLPWorker):
for line in _df: for line in _df:
line_data = json.loads(line) line_data = json.loads(line)
document['text'] = line_data['text'] document['text'] = line_data['text']
document['label'] = [] # document['label'] = []
_f.write(json.dumps(document) + "\n") _f.write(json.dumps(document) + "\n")
else: else:
with open(document_path, "r", encoding="utf-8") as _df: with open(document_path, "r", encoding="utf-8") as _df:
......
{"text": "8703 Tarcza szlifierska Scanmaskin SC Elastic Metal 125 mm do betonu, lastryka i kamienia naturalnego (ziarnisto\u015b\u0107 30) Tarcza szlifierska SC Elastic Metal 125 mm marki Scanmaskin s\u0142u\u017cy do szlifowania betonu, lastryka i naturalnego kamienia. Powinna byc\u0301 stosowana przed na\u0142oz\u0307eniem cienkiej pow\u0142oki lub polerowaniem posadzki, aby usuna\u0328c\u0301 z powierzchni g\u0142e\u0328bokie zarysowania. Opis wariantu: Ziarnisto\u015b\u0107 30", "label": [[46, 51, "Metal"], [62, 68, "Beton"], [70, 78, "Lastryko"], [81, 89, "Kamie\u0144 naturalny"], [149, 154, "Metal"], [200, 206, "Beton"], [208, 216, "Lastryko"], [219, 239, "Kamie\u0144 naturalny"]]}
{"text": "55calowy telewizor QLED Samsung QE55Q75TA Pozw\\u00f3l sobie na luksus wybieraj\\u0105c telewizor QLED Samsung QE55Q75TA kt\\u00f3ry zabierze Ci\\u0119 w \\u015bwiat wspania\\u0142ej rozrywki bez wychodzenia z domu Umozliwia Aktualizowanie oprogramowania przez USB oraz posiada Aktualizacje oprogramowania sprz\u0119towego przez Internet", "label": [[19, 23, "Typ TV"], [96, 100, "Typ TV"], [219, 258, "Aktualizowanie oprogramowania przez USB"], [272, 326, "Aktualizacja oprogramowania sprz\u0119towego przez Internet"]]} {"text": "55calowy telewizor QLED Samsung QE55Q75TA Pozw\\u00f3l sobie na luksus wybieraj\\u0105c telewizor QLED Samsung QE55Q75TA kt\\u00f3ry zabierze Ci\\u0119 w \\u015bwiat wspania\\u0142ej rozrywki bez wychodzenia z domu Umozliwia Aktualizowanie oprogramowania przez USB oraz posiada Aktualizacje oprogramowania sprz\u0119towego przez Internet", "label": [[19, 23, "Typ TV"], [96, 100, "Typ TV"], [219, 258, "Aktualizowanie oprogramowania przez USB"], [272, 326, "Aktualizacja oprogramowania sprz\u0119towego przez Internet"]]}
{"text": "55calowy telewizor QLED Samsung QE55Q75TA Pozw\\u00f3l sobie na luksus wybieraj\\u0105c telewizor QLED Samsung QE55Q75TA kt\\u00f3ry zabierze Ci\\u0119 w \\u015bwiat wspania\\u0142ej rozrywki bez wychodzenia z domu", "label": [[19, 23, "Typ TV"], [96, 100, "Typ TV"]]} {"text": "55calowy telewizor QLED Samsung QE55Q75TA Pozw\\u00f3l sobie na luksus wybieraj\\u0105c telewizor QLED Samsung QE55Q75TA kt\\u00f3ry zabierze Ci\\u0119 w \\u015bwiat wspania\\u0142ej rozrywki bez wychodzenia z domu", "label": [[19, 23, "Typ TV"], [96, 100, "Typ TV"]]}
{"text": "8703 Tarcza szlifierska Scanmaskin SC Elastic Metal 125 mm do betonu, lastryka i kamienia naturalnego (ziarnisto\u015b\u0107 30) Tarcza szlifierska SC Elastic Metal 125 mm marki Scanmaskin s\u0142u\u017cy do szlifowania betonu, lastryka i naturalnego kamienia. Powinna byc\u0301 stosowana przed na\u0142oz\u0307eniem cienkiej pow\u0142oki lub polerowaniem posadzki, aby usuna\u0328c\u0301 z powierzchni g\u0142e\u0328bokie zarysowania. Opis wariantu: Ziarnisto\u015b\u0107 30", "label": []}
{"text": "8703 Tarcza szlifierska Scanmaskin SC Elastic Metal 125 mm do betonu, lastryka i kamienia naturalnego (ziarnistość 30) Tarcza szlifierska SC Elastic Metal 125 mm marki Scanmaskin służy do szlifowania betonu, lastryka i naturalnego kamienia. Powinna być stosowana przed nałożeniem cienkiej powłoki lub polerowaniem posadzki, aby usunąć z powierzchni głębokie zarysowania. Opis wariantu: Ziarnistość 30","label":[]}
{
"labels": {
"Asfalt": [
"asfalt",
"takich jak asfalt",
"Asfalt"
],
"Beton": [
"idealna do betonu",
"beton",
"do kostki betonowej",
"Beton",
"beton"
],
"Beton - miękki": [
"twardy",
"średni",
"miękki",
"ścierny",
"od miękkich do bardzo twardych kruszyw"
],
"Beton - ścierny": [
"ścierny",
"od miękkich do bardzo"
],
"Beton - średni": [
"średni",
"od miękkich do bardzo twardych"
],
"Beton - świeży": [
"beton świeży",
"świeży beton",
"dla cięcia betonu świeżego",
"betonu próżniowego"
],
"Beton - twardy": [
"z betonem utwardzonym",
"bardzo twardych kruszyw betonowych",
"twardego betonu",
"Twardy beton",
"Beton twardy"
],
"Beton - zbrojony": [
"betonie zbrojonym",
"idealna do silnie zbrojonego betonu",
"Beton zbrojony",
"także zbrojnego",
"betonu zbrojonego",
"Beton zbrojny",
"beton zbrojny",
"Beton zbrojony",
"beton zbrojony"
],
"Bloki ścienne": [
"bloki ścienne"
],
"Bloki wapienne": [
"do bloków wapiennych",
"Blok wapienny"
],
"Cegła": [
"cegł",
"cegły",
"cegła",
"Cegła",
"cegła",
"cegłą",
"cegły",
"Cegła wapienno-piaskowa"
],
"Ceramika": [
"ceramika",
"ceramiki",
"płytki ceramiczne",
"glazurowana ceramika",
"tarcza do płytek",
"twarde płytki ceramiczne",
"płytki ceramiczne",
"Ceramika",
"ceramika"
],
"Chrommagnezyt": [
"Chrommagnezyt"
],
"Dachówka": [
"Dachówka cementowa",
"dachówek betonowych",
"dachówka"
],
"Drewno": [
"Drewno",
"drewno"
],
"Fuga murarska": [
"Fuga murarska",
"Fugi murarskie"
],
"Glazura": [
"do cięcia glazury"
],
"Gnejs": [
"gnejsu",
"gnejs"
],
"Grafit": [
"grafit"
],
"Granit": [
"Cięcie takich materiałów jak granit",
"marmur",
"naturalny kamień jest dopuszczalne przy użyciu opisywanej tarczy",
"granit",
"granitu",
"rawężniki granitowe",
"granir",
"Granit"
],
"Gres": [
"Gres"
],
"Jastrych": [
"jastrych"
],
"Kamień naturalny": [
"kamienia",
"naturalnego kamienia",
"kamień naturalny",
"naturalny kamień jest dopuszczalne przy użyciu opisywanej tarczy",
"kamień naturalny",
"kamien naturalny",
"kamienia",
"Kamień",
"kamień",
"Kamień naturalny"
],
"Kamionki": [
"kamionki"
],
"Klej": [
"Klej"
],
"Klinkier": [
"Klinkier",
"klinkier",
"linkier"
],
"Kostka brukowa": [
"kostki brukowej",
"kostka brukowa"
],
"Krzemionka": [
"Krzemionka"
],
"Kwarcyt": [
"kwarcyt",
"Kwarcyt"
],
"Lastryko": [
"lastryka",
"lastryk"
],
"Łupek": [
"łupek"
],
"Magnezyt": [
"Magnezyt"
],
"Marmur": [
"Cięcie takich materiałów jak granit",
"marmur",
"marmur",
"marmuru",
"Marmur",
"marmur"
],
"Materiały budowlane": [
"materiały",
"Materiały budowlane",
"materiały budowlane",
"standardowych materiałów budowlanych"
],
"Materiały ścierne": [
"materiały ścierne"
],
"Materiały twarde": [
"Materiały twarde"
],
"Metal": [
"Metal"
],
"Miękkie kruszywa": [
"miękkich do twardych kruszyw",
"innych miękkich materiałów"
],
"PCV": [
"PCV"
],
"Piaskowiec": [
"iaskow",
"piaskowca",
"piaskowiec"
],
"Plastik": [
"Plastik"
],
"Płyta chodnikowa": [
"płyta chodnikowa"
],
"Płytki": [
"Płytki",
"płytki"
],
"Płytki betonowe": [
"płytki betonowe"
],
"Płytki ceramiczne": [
"Płytki ceramiczne",
"płytki ceramiczne"
],
"Płytki marmurowe": [
"płytek betonowych i marmurowych"
],
"Polbruk": [
"polbruk"
],
"Porcelana": [
"porcelan",
"Porcelana",
"porcelana"
],
"Porfir": [
"Porfir",
"porfir"
],
"Poroterm": [
"poroterm"
],
"Powłoki posadzkowe": [
"Powłoki posadzkowe"
],
"Powłoki ścienne": [
"Powłoki ścienne"
],
"Rury z żeliwa ciągliwego": [
"Rury z żeliwa ciągliwego"
],
"Stal": [
"Stal",
"stal"
],
"Stal nierdzewna": [
"stali nierdzewnej"
],
"Strunobeton": [
"Strunobeton"
],
"Szamot": [
"szamot",
"Szamot"
],
"Szkło pancerne": [
"Szkło pancerne"
],
"Sztuczny kamień": [
"sztucznego kamienia"
],
"Ścierna płyta budowlana": [
"ścierna płyta budowlana"
],
"Ścierne": [
"ścierne"
],
"Terazzo": [
"terazzo"
],
"Tlenek cyrkonu": [
"tlenek cyrkonu"
],
"Tlenek glinu": [
"tlenek glinu"
],
"Trawertyn": [
"trawert",
"trawertyn"
],
"Twarda glazura": [
"Twarda glazura",
"twarda glazura"
],
"Twarde kruszywa": [
"twardych kruszyw"
],
"Twarde materiały": [
"twardych materiałach",
"twarde",
"twardych materiałów",
"im twardszy materiał"
],
"Tworzywo sztuczne": [
"Tworzywo sztuczne",
"tworzywo sztuczne"
],
"Tynk": [
"tynk"
],
"Wapień": [
"wapień"
],
"Zaprawa murarska": [
"Zaprawa murarska",
"zaprawa murarska"
],
"Żelazo": [
"Żelazo"
],
"Żeliwo": [
"Żeliwo",
"żeliwo"
],
"Żeliwo sferoidalne": [
"żeliwo sferoidalne"
]
},
"blackList": {
"Metal": [
"Elastic Metal"
],
"Średnica otworu montażowego tarczy - uwaga": [
"mm"
]
}
}
\ No newline at end of file
...@@ -32,3 +32,12 @@ def example_labels_path(input_dir: Path) -> Path: ...@@ -32,3 +32,12 @@ def example_labels_path(input_dir: Path) -> Path:
def example_document_path(input_dir: Path, request) -> Path: def example_document_path(input_dir: Path, request) -> Path:
document_number = request.param document_number = request.param
return input_dir / f"document{document_number}.txt" return input_dir / f"document{document_number}.txt"
@pytest.fixture
def example_document_path_jsonl(input_dir: Path, request) -> Path:
return input_dir / "document_with_concrete.jsonl"
@pytest.fixture
def example_labels_path_jsonl(input_dir: Path) -> Path:
return input_dir / "labels_with_concrete.json"
...@@ -49,3 +49,17 @@ def test_easymatcher_process_folder( ...@@ -49,3 +49,17 @@ def test_easymatcher_process_folder(
expected_path = expected_dir / "documents.jsonl" expected_path = expected_dir / "documents.jsonl"
worker.process(input_dir, task_options, output_path) worker.process(input_dir, task_options, output_path)
check_and_cleanup(output_path, expected_path) check_and_cleanup(output_path, expected_path)
def test_easymatcher_process_jsonl_document(
worker: EasymatcherWorker,
example_document_path_jsonl: Path,
example_labels_path_jsonl: Path,
output_dir: Path,
expected_dir: Path,
):
task_options = {"labels_path": example_labels_path_jsonl}
output_path = output_dir / f"{example_document_path_jsonl.stem}.jsonl"
expected_path = expected_dir / f"{example_document_path_jsonl.stem}.jsonl"
worker.process(example_document_path_jsonl, task_options, output_path)
check_and_cleanup(output_path, expected_path)
\ No newline at end of file
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment