''' Hello! Thank you for downloading a CORGIS library. However, you do not need to open this file. Instead you should make your own Python file and add the following line: import electricity Then just place the files you downloaded alongside it. ''' import os as _os import pickle as _pickle __all__ = ['get_utility'] def _tifa_definitions(): return {"type": "ModuleType", "fields": { 'get': { "type": "FunctionType", "name": 'get', "returns": { "type": "ListType", "empty": False, "subtype": {"type": "NumType"} } }, 'get_utility': { "type": "FunctionType", "name": 'get_utility', "returns": {"type": "ListType", "subtype": {"type": "DictType", "literals": [{"type": "LiteralStr", "value": 'Utility'}, {"type": "LiteralStr", "value": 'Demand'}, {"type": "LiteralStr", "value": 'Sources'}, {"type": "LiteralStr", "value": 'Uses'}, {"type": "LiteralStr", "value": 'Revenues'}, {"type": "LiteralStr", "value": 'Revenue'}, {"type": "LiteralStr", "value": 'Retail'}], "values": [ {"type": "DictType", "literals": [{"type": "LiteralStr", "value": 'Number'}, {"type": "LiteralStr", "value": 'Name'}, {"type": "LiteralStr", "value": 'State'}, {"type": "LiteralStr", "value": 'Type'}], "values": [ {"type": "NumType"}, {"type": "StrType"}, {"type": "StrType"}, {"type": "StrType"}]}, {"type": "DictType", "literals": [{"type": "LiteralStr", "value": 'Summer Peak'}, {"type": "LiteralStr", "value": 'Winter Peak'}], "values": [ {"type": "NumType"}, {"type": "NumType"}]}, {"type": "DictType", "literals": [{"type": "LiteralStr", "value": 'Generation'}, {"type": "LiteralStr", "value": 'Purchased'}, {"type": "LiteralStr", "value": 'Other'}, {"type": "LiteralStr", "value": 'Total'}], "values": [ {"type": "NumType"}, {"type": "NumType"}, {"type": "NumType"}, {"type": "NumType"}]}, {"type": "DictType", "literals": [{"type": "LiteralStr", "value": 'Retail'}, {"type": "LiteralStr", "value": 'Resale'}, {"type": "LiteralStr", "value": 'No Charge'}, {"type": "LiteralStr", "value": 'Consumed'}, {"type": "LiteralStr", "value": 'Losses'}, {"type": "LiteralStr", "value": 'Total'}], "values": [ {"type": "NumType"}, {"type": "NumType"}, {"type": "NumType"}, {"type": "NumType"}, {"type": "NumType"}, {"type": "NumType"}]}, {"type": "DictType", "literals": [{"type": "LiteralStr", "value": 'Retail'}], "values": [ {"type": "NumType"}]}, {"type": "DictType", "literals": [{"type": "LiteralStr", "value": 'Delivery'}, {"type": "LiteralStr", "value": 'Resale'}, {"type": "LiteralStr", "value": 'Adjustments'}, {"type": "LiteralStr", "value": 'Transmission'}, {"type": "LiteralStr", "value": 'Other'}, {"type": "LiteralStr", "value": 'Total'}], "values": [ {"type": "NumType"}, {"type": "NumType"}, {"type": "NumType"}, {"type": "NumType"}, {"type": "NumType"}, {"type": "NumType"}]}, {"type": "DictType", "literals": [{"type": "LiteralStr", "value": 'Residential'}, {"type": "LiteralStr", "value": 'Commercial'}, {"type": "LiteralStr", "value": 'Industrial'}, {"type": "LiteralStr", "value": 'Transportation'}, {"type": "LiteralStr", "value": 'Total'}], "values": [ {"type": "DictType", "literals": [{"type": "LiteralStr", "value": 'Revenue'}, {"type": "LiteralStr", "value": 'Sales'}, {"type": "LiteralStr", "value": 'Customers'}], "values": [ {"type": "NumType"}, {"type": "NumType"}, {"type": "NumType"}]}, {"type": "DictType", "literals": [{"type": "LiteralStr", "value": 'Revenue'}, {"type": "LiteralStr", "value": 'Sales'}, {"type": "LiteralStr", "value": 'Customers'}], "values": [ {"type": "NumType"}, {"type": "NumType"}, {"type": "NumType"}]}, {"type": "DictType", "literals": [{"type": "LiteralStr", "value": 'Revenue'}, {"type": "LiteralStr", "value": 'Sales'}, {"type": "LiteralStr", "value": 'Customers'}], "values": [ {"type": "NumType"}, {"type": "NumType"}, {"type": "NumType"}]}, {"type": "DictType", "literals": [{"type": "LiteralStr", "value": 'Revenue'}, {"type": "LiteralStr", "value": 'Sales'}, {"type": "LiteralStr", "value": 'Customers'}], "values": [ {"type": "NumType"}, {"type": "NumType"}, {"type": "NumType"}]}, {"type": "DictType", "literals": [{"type": "LiteralStr", "value": 'Revenue'}, {"type": "LiteralStr", "value": 'Sales'}, {"type": "LiteralStr", "value": 'Customers'}], "values": [ {"type": "NumType"}, {"type": "NumType"}, {"type": "NumType"}]}]}]}} }, } } class _Constants(object): ''' Global singleton object to hide some of the constants; some IDEs reveal internal module details very aggressively, and there's no other way to hide stuff. ''' class DatasetException(Exception): ''' Thrown when there is an error loading the dataset for some reason.''' _Constants._DATABASE_NAME = _os.path.join(_os.path.dirname(__file__), "electricity.data") if not _os.access(_Constants._DATABASE_NAME, _os.F_OK): raise DatasetException(("Error! Could not find a \"{0}\" file. " "Make sure that there is a \"{0}\" in the " "same directory as \"{1}.py\"! Spelling is " "very important here." ).format(_Constants._DATABASE_NAME, __name__)) elif not _os.access(_Constants._DATABASE_NAME, _os.R_OK): raise DatasetException(("Error! Could not read the \"{0}\" file. " "Make sure that it readable by changing its " "permissions. You may need to get help from " "your instructor." ).format(_Constants._DATABASE_NAME, __name__)) _Constants._DATASET = None def get_utility(): """ Retrieves all of the utility. """ if _Constants._DATASET is None: with open(_Constants._DATABASE_NAME, 'rb') as _: _Constants._DATASET = _pickle.load(_) return _Constants._DATASET if __name__ == '__main__': from pprint import pprint as _pprint from timeit import default_timer as _default_timer print(">>> get_utility()") start_time = _default_timer() result = get_utility() print("Time taken: {}".format(_default_timer() - start_time)) _pprint(result[0])