This commit is contained in:
Andrej730
2024-08-26 17:23:51 +05:00
parent 24aaefb927
commit 27aee31adf
6 changed files with 43 additions and 18 deletions
@@ -16,9 +16,14 @@
# You should have received a copy of the GNU Lesser General Public License
# along with IfcOpenShell. If not, see <http://www.gnu.org/licenses/>.
from __future__ import annotations
import os
import sys
import subprocess
from typing import TYPE_CHECKING
if TYPE_CHECKING:
import schema_class
d = os.path.abspath(os.path.dirname(__file__))
sys.path.append(d)
@@ -30,8 +35,9 @@ if not os.path.exists(exp_parser_fn):
subprocess.call([sys.executable, "bootstrap.py"], cwd=d, stdout=f)
def parse(fn):
def parse(fn: str) -> schema_class.SchemaClass:
import express_parser
import schema_class
mapping = express_parser.parse(fn)
return schema_class.SchemaClass(mapping, schema_class.LateBoundSchemaInstantiator).code