mirror of
https://github.com/IfcOpenShell/IfcOpenShell.git
synced 2026-09-20 15:08:51 +00:00
Improve referencing files using the path if available
This commit is contained in:
@@ -20,10 +20,15 @@ def step_impl(context):
|
|||||||
@given(u'a set of specific related elements taken from the file "{path_file}"')
|
@given(u'a set of specific related elements taken from the file "{path_file}"')
|
||||||
def step_impl(context, path_file):
|
def step_impl(context, path_file):
|
||||||
import csv
|
import csv
|
||||||
|
import os
|
||||||
model = getattr(context, "model", None)
|
model = getattr(context, "model", None)
|
||||||
if not model:
|
if not model:
|
||||||
context.model = TableModel()
|
context.model = TableModel()
|
||||||
with open(path_file, encoding="utf-8") as csvfile:
|
if context.config.userdata.get('path'):
|
||||||
|
path_file = os.path.join(context.config.userdata.get('path'), path_file)
|
||||||
|
if not os.path.exists(path_file):
|
||||||
|
assert False, "File {} not found".format(path_file)
|
||||||
|
with open(path_file, 'r', encoding="utf-8-sig") as csvfile:
|
||||||
reader = csv.DictReader(csvfile)
|
reader = csv.DictReader(csvfile)
|
||||||
for row in reader:
|
for row in reader:
|
||||||
context.model.add_row(row["RelatedObjects"], row["RelatingGroup"])
|
context.model.add_row(row["RelatedObjects"], row["RelatingGroup"])
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
from behave import step
|
from behave import step, given
|
||||||
|
|
||||||
from utils import IfcFile
|
from utils import IfcFile
|
||||||
|
|
||||||
@@ -7,8 +7,7 @@ def step_impl(context, schema):
|
|||||||
try:
|
try:
|
||||||
IfcFile.load_schema(schema)
|
IfcFile.load_schema(schema)
|
||||||
except:
|
except:
|
||||||
assert False
|
assert False, f"The schema {schema} could not be loaded"
|
||||||
|
|
||||||
|
|
||||||
@step('The IFC file "{file}" must be provided')
|
@step('The IFC file "{file}" must be provided')
|
||||||
def step_impl(context, file):
|
def step_impl(context, file):
|
||||||
@@ -17,6 +16,19 @@ def step_impl(context, file):
|
|||||||
except:
|
except:
|
||||||
assert False, f"The file {file} could not be loaded"
|
assert False, f"The file {file} could not be loaded"
|
||||||
|
|
||||||
|
@given('The IFC file has been provided through an argument')
|
||||||
|
def step_impl(context):
|
||||||
|
try:
|
||||||
|
IfcFile.load(context.config.userdata.get("ifcfile"))
|
||||||
|
except:
|
||||||
|
assert False, f"The IFC {context.config.userdata.get('ifcfile')} file could not be loaded"
|
||||||
|
|
||||||
|
@given('A file path has been provided through an argument')
|
||||||
|
def step_impl(context):
|
||||||
|
try:
|
||||||
|
assert context.config.userdata.get("path")
|
||||||
|
except:
|
||||||
|
assert False, f"The path {context.config.userdata.get('path')} could not be loaded"
|
||||||
|
|
||||||
@step("IFC data must use the {schema} schema")
|
@step("IFC data must use the {schema} schema")
|
||||||
def step_impl(context, schema):
|
def step_impl(context, schema):
|
||||||
|
|||||||
Reference in New Issue
Block a user