Source code for eppy3000.oldeppy

# Copyright (c) 2020 Santosh Philip
# =======================================================================
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
# =======================================================================
"""convertion functions - to convert from JSON to IDF and in reverse.
These functions return a eppy.IDF or eppy3000.EPJ structure"""


[docs]class NeedsEppyError(Exception): pass
try: import eppy except ModuleNotFoundError as e: raise NeedsEppyError("you need to install eppy to run these functions") from io import StringIO import eppy3000 from eppy3000.modelmaker import EPJ import eppy3000.idfjsonconverter # - from eppy import modeleditor from eppy.modeleditor import IDF
[docs]def idf2epj(idf, epjsonhandle): """convert idf to json. return a eppy3000.IDF structure""" idfhandle = StringIO(idf.idfstr()) epjstr = eppy3000.idfjsonconverter.idf2json(idfhandle, epjsonhandle) epjsonhandle.seek(0) # need to reset, since we are reading it again return EPJ(StringIO(epjstr), epw=idf.epw, epschemaname=epjsonhandle)
[docs]def epj2idf(epj, epjsonhandle, iddhandle=None): """convert json to idf""" jsonhandle = epj.savecopy() idfstr = eppy3000.idfjsonconverter.json2idf(jsonhandle, epjsonhandle) return eppy.openidf(StringIO(idfstr), idd=iddhandle, epw=epj.epw)