Source code for eppy.useful_scripts.eppyreadtest_folder

# Copyright (c) 2012 Santosh Philip
# =======================================================================
#  Distributed under the MIT License.
#  (See accompanying file LICENSE or copy at
#  http://opensource.org/licenses/MIT)
# =======================================================================
"""script to test idf reads. Use this to test all the files
in the example folder when a new version is released"""
from __future__ import absolute_import
from __future__ import division
from __future__ import print_function
from __future__ import unicode_literals

import argparse

import os
import sys
import eppy.simpleread as simpleread

# pathnameto_eppy = 'c:/eppy'
pathnameto_eppy = "../../"
sys.path.append(pathnameto_eppy)

from eppy.modeleditor import IDF

# iddfile = '/Applications/EnergyPlus-8-1-0/Energy+.idd'
# folder = '/Applications/EnergyPlus-8-1-0/ExampleFiles'
# python eppyreadtest_folder.py '/Applications/EnergyPlus-8-1-0/Energy+.idd'
# '/Applications/EnergyPlus-8-1-0/ExampleFiles'


[docs]def doreadtest(iddfile, folder, silent=False): """print out all the readtest results""" lst = os.listdir(folder) lst = [l for l in lst if l.endswith(".idf")] iddhandle = open(iddfile, "r") for i, fname in enumerate(lst[355:359]): # lst[6:7] # if you want to test a specific file fname1 = "%s/%s" % (folder, fname) idfhandle1 = open(fname1, "rb") idfhandle2 = open(fname1, "rb") verbose = not silent result = simpleread.idfreadtest( iddhandle, idfhandle1, idfhandle2, verbose=verbose, save=False ) print(i, result, fname) if result == False and (not silent): print("full filepath of file that failed the read test ->") print(" %s" % (fname1,)) print() idfhandle1.close() idfhandle2.close() iddhandle.close()
if __name__ == "__main__": # do the argparse stuff parser = argparse.ArgumentParser() parser.add_argument( "idd", action="store", help="location of idd file. ./somewhere/eplusv8-0-1.idd" ) parser.add_argument( "folder", action="store", help="location of folder with idf files. ./somewhere/examples", ) parser.add_argument( "--silent", action="store_true", default=False, help="don't print the first mismatching line", ) nspace = parser.parse_args() folder = nspace.folder iddfile = nspace.idd silent = nspace.silent doreadtest(iddfile, folder, silent)