def test_get_eplusversion(): """py.test for get_eplusversion""" data = ("./eplussql_test/eplussql.sql", "6.0.0.023") # fname, version fname, version = data cursor = eplussql.getcursor(fname) result = eplussql.get_eplusversion(cursor) assert result == version
def test_get_variableunit(): """py.test for get_variablename""" data = (("./eplussql_test/eplussql.sql", 6, "C"),) # fname, ReportVariableDataDictionaryIndex, unit for fname, ReportVariableDataDictionaryIndex, unit in data: cursor = eplussql.getcursor(fname) result = eplussql.get_variableunit(cursor, ReportVariableDataDictionaryIndex) assert result == unit
def test_get_keyvalue(): """py.test for get_keyvalue""" data = (("./eplussql_test/eplussql.sql", 6, "Environment"),) # fname, ReportVariableDataDictionaryIndex, key for fname, ReportVariableDataDictionaryIndex, key in data: cursor = eplussql.getcursor(fname) result = eplussql.get_keyvalue(cursor, ReportVariableDataDictionaryIndex) assert result == key
def test_get_variables1(): """py.test for get_variables1""" def _double(n): return n * 2 data = ( ( "./eplussql_test/eplussql.sql", 6, None, [11.1, 10.4125, 9.625], ), # fname, ReportVariableDataDictionaryIndex, func, threevars ( "./eplussql_test/eplussql.sql", 6, _double, [22.2, 20.8250, 19.250], ), # fname, ReportVariableDataDictionaryIndex, func, threevars ) for fname, ReportVariableDataDictionaryIndex, func, threevars in data: cursor = eplussql.getcursor(fname) result = eplussql.get_variables1(cursor, ReportVariableDataDictionaryIndex, func) threeresult = result[-6:-3] assert threeresult == threevars
def test_get_variablename(): """py.test for get_variablename""" data = (("./eplussql_test/eplussql.sql", 6, "Outdoor Dry Bulb"),) # fname, ReportVariableDataDictionaryIndex, name for fname, ReportVariableDataDictionaryIndex, name in data: cursor = eplussql.getcursor(fname) result = eplussql.get_variablename(cursor, ReportVariableDataDictionaryIndex) assert result == name
def main(argv=None): if argv is None: argv = sys.argv try: try: opts, args = getopt.getopt(argv[1:], "ho:v", ["help", "output="]) except getopt.error, msg: raise Usage(msg) # option processing for option, value in opts: if option == "-v": verbose = True if option in ("-h", "--help"): raise Usage(help_message) if option in ("-o", "--output"): output = value if len(args) == 6: sqlname, etcsv, func, zonetempId, windinc, comforttype = args if len(args) == 5: sqlname, etcsv, func, zonetempId, windinc = args comforttype = 80 if len(args) == 4: sqlname, etcsv, func, zonetempId = args windinc, comforttype = 2, 80 windinc, comforttype = float(windinc), float(comforttype) cursor = eplussql.getcursor(sqlname) etrows = mycsv.readcsv(etcsv) etrows.pop(0) etrows = [[float(cell) for cell in row] for row in etrows] if func == "hours": printhours(cursor, etrows, func, zonetempId, windinc, comforttype) if func == "alldata": printalldata(cursor, etrows, func, zonetempId, windinc, comforttype)
def main(argv=None): if argv is None: argv = sys.argv try: try: opts, args = getopt.getopt(argv[1:], "ho:v", ["help", "output="]) except getopt.error, msg: raise Usage(msg) # option processing for option, value in opts: if option == "-v": verbose = True if option in ("-h", "--help"): raise Usage(help_message) if option in ("-o", "--output"): output = value if len(args) == 6: fname, func, dbtId, zonetempId, windinc, comforttype = args if len(args) == 5: fname, func, dbtId, zonetempId, windinc = args comforttype = 80 if len(args) == 4: fname, func, dbtId, zonetempId = args windinc, comforttype = 2, 80 windinc, comforttype = float(windinc), float(comforttype) cursor = eplussql.getcursor(fname) if func == 'hours': printhours(cursor, dbtId, zonetempId, windinc, comforttype) if func == 'alldata': printalldata(cursor, dbtId, zonetempId, windinc, comforttype)
def test_get_wfilestart(): """py.test for get_wfilestart""" data = (("./eplussql_test/eplussql.sql", 2 * 24),) # fname, start for fname, start in data: cursor = eplussql.getcursor(fname) result = eplussql.get_wfilestart(cursor) assert result == start
def getabovedays(fname, varindex, aboveval, year=2001, convertc2f=False): """return variable name, max and min of the variable""" cursor = eplussql.getcursor(fname) # startpoint = eplussql.get_wfilestart(cursor) varunit = eplussql.get_variableunit(cursor, varindex) # var units varname = eplussql.get_variablename(cursor, varindex) # varname keyvalue = eplussql.get_keyvalue(cursor, varindex) # get keyvalue if convertc2f and varunit == u'C': # conversion func = eplussql.c2f varunit = u'F' else: func = None matrix = eplussql.get_variables(cursor, varindex, func=func) # gets vars yhours = date_functions.yeardateshours(year) # yeardates matrix = zip(yhours, matrix) # days = split2days(matrix, hrs=24) # splits it into 24 hr blocks # filtering of days take place below # daysabove = filterdaysabove(days, aboveval) daysabove = date_functions.filterdays(matrix, -1, aboveval, date_functions.gt, hrs=24) return varname, keyvalue, varunit, daysabove # fname = './eplussql_test/hup01_23_pytest.sql' # varname, keyvalue, varunit, daysabove = getabovedays(fname, 386, 88, convertc2f=True) # for day in daysabove: # for d, val in day: # print '%s, %s' % (d, val)
def printvarindex(fname): """print the var index""" cursor = eplussql.getcursor(fname) mtx1 = eplussql.get_varindex(cursor) mtx2 = [[str(item) for item in row] for row in mtx1] mtx3 = [','.join(row) for row in mtx2] for row in mtx3: print row
def test_checkhourly(): """py.test for checkhourly""" data = ( ("./eplussql_test/eplussql.sql", True), # fname, ishourly ("./eplussql_test/eplussql1.sql", False), # fname, ishourly ) for fname, ishourly in data: cursor = eplussql.getcursor(fname) result = eplussql.checkhourly(cursor) assert result == ishourly
def test_getcursor(): """py.test for getcursor""" data = ( ("./eplussql_test/eplussql.sql", u"10.0.0.023", "exception"), # fname, eplusversion, versionresponse ("./eplussql_test/eplussql.sql", u"10.0.0.023", "print"), # fname, eplusversion, versionresponse ("./eplussql_test/eplussql.sql", u"10.0.0.023", None), # fname, eplusversion, versionresponse ) error = eplussql.VersionMismatchError testing = True for fname, eplusversion, versionresponse in data: if versionresponse == "exception": with pytest.raises(error): eplussql.getcursor(fname, versionresponse=versionresponse, testing=testing) if versionresponse == "print": result = eplussql.getcursor(fname, versionresponse=versionresponse, testing=testing) assert result == "printed" if versionresponse == None: result = eplussql.getcursor(fname, versionresponse=versionresponse, testing=testing) assert result == None
def printvars(fname, ReportVariableDataDictionaryIndex, func=None, year=2001): """print the variables in csv format""" cursor = eplussql.getcursor(fname) varname = eplussql.get_variablename(cursor, ReportVariableDataDictionaryIndex) keyvalue = eplussql.get_keyvalue(cursor, ReportVariableDataDictionaryIndex) matrix = eplussql.get_variables(cursor, ReportVariableDataDictionaryIndex, func=func) yhours = date_functions.yeardateshours(year) outmat = [["datetime", varname]] + [["", keyvalue]] + zip(yhours, matrix) for row in outmat: print "%s, %s" % tuple(row)
def test_get_manyvariables(): """py.test for get_manyvariables""" data = ( ("./eplussql_test/eplussql.sql", [6, 7], [None, None]), # fname, ReportVariableDataDictionaryIndices, funcs ) for fname, ReportVariableDataDictionaryIndices, funcs in data: cursor = eplussql.getcursor(fname) thevars = [] for ind, func in zip(ReportVariableDataDictionaryIndices, funcs): thevars.append(eplussql.get_variables(cursor, ind, func)) matrix = mycsv.transpose2d(thevars) result = eplussql.get_manyvariables(cursor, ReportVariableDataDictionaryIndices, funcs) assert result == matrix
def getmaxmin(fname, varindex, convertc2f=False): """return variable name, max and min of the variable""" cursor = eplussql.getcursor(fname) # startpoint = eplussql.get_wfilestart(cursor) varunit = eplussql.get_variableunit(cursor, varindex) if convertc2f and varunit == u"C": func = eplussql.c2f varunit = u"F" else: func = None matrix = eplussql.get_variables(cursor, varindex, func=func) varname = eplussql.get_variablename(cursor, varindex) keyvalue = eplussql.get_keyvalue(cursor, varindex) return varname, keyvalue, varunit, min(matrix), max(matrix)
def getabove(fname, varindex, aboveval, convertc2f=False): """return variable name, max and min of the variable"""# TODO incorrect __doc__ cursor = eplussql.getcursor(fname) # startpoint = eplussql.get_wfilestart(cursor) varunit = eplussql.get_variableunit(cursor, varindex) if convertc2f and varunit == u'C': func = eplussql.c2f varunit = u'F' else: func = None matrix = eplussql.get_variables(cursor, varindex, func=func) varname = eplussql.get_variablename(cursor, varindex) keyvalue = eplussql.get_keyvalue(cursor, varindex) abovenums = [val for val in matrix if val > aboveval] return varname, keyvalue, varunit, len(abovenums)
def test_get_varindex(): """py.test for get_varindex""" data = ( ( "./eplussql_test/eplussql.sql", [ ["Index", "KeyValue", "VariableName", "VariableUnits"], [6, u"Environment", u"Outdoor Dry Bulb", u"C"], [7, u"Environment", u"Outdoor Wet Bulb", u"C"], [8, u"Environment", u"Outdoor Relative Humidity", u"%"], ], ), # fname, indexmatrix ) for fname, indexmatrix in data: cursor = eplussql.getcursor(fname) result = eplussql.get_varindex(cursor) assert result == indexmatrix
def vars2csv(fname, variables, convertc2f=False): """print the vars in csvformat""" matrix = [] cursor = eplussql.getcursor(fname) for varindex in variables: varunit = eplussql.get_variableunit(cursor, varindex) if varunit == u'C' and convertc2f: func = eplussql.c2f varunit = u'F' else: func = None varlist = eplussql.get_variables(cursor, varindex, func=func) varname = eplussql.get_variablename(cursor, varindex) varkeyvalue = eplussql.get_keyvalue(cursor, varindex) headerandlist = [varname] + [varkeyvalue] + [varunit] + varlist matrix.append(headerandlist) matrix = mycsv.transpose2d(matrix) for row in matrix: row = [str(item) for item in row] print ','.join(row)
def test_outofbounds(): """py.test for outofbounds""" data = ( ( "./eplussql_test/eplussql.sql", 6, 14, True, 2, ), # fname, ReportVariableDataDictionaryIndex, bounds, above, count ( "./eplussql_test/eplussql.sql", 6, 5, False, 2, ), # fname, ReportVariableDataDictionaryIndex, bounds, above, count ) for fname, ReportVariableDataDictionaryIndex, bounds, above, count in data: cursor = eplussql.getcursor(fname) result = eplussql.outofbounds(cursor, ReportVariableDataDictionaryIndex, bounds, above) assert result == count
import eplussql fname = './eplussql_test/eplussql1.sql' fname = '/Volumes/Server/Staff/Santosh/transfer/eplussql_stuff/eplussql1.sql' cursor = eplussql.getcursor(fname) ReportVariableDataDictionaryIndex = 8 rows = eplussql.get_variables1(cursor, ReportVariableDataDictionaryIndex) print rows[:150]
def printvarindex(fname): """print varindex in csv format""" cursor = eplussql.getcursor(fname) mtx = eplussql.get_varindex(cursor) for row in mtx: print "%s,%s,%s,%s" % tuple(row)