def getData(self, timeStart=None, timeEnd=None, window=None, field=""): if not hasattr(self, 'id'): raise AttributeError(str(self.id), "Service must have id") assert isinstance(self.id, int) assert isinstance(field, str) timeStart = convertToDateTime(timeStart) timeEnd = convertToDateTime(timeEnd) #Validate time parameters validTimeParams = [ (type(None), type(None), type(None)), #no time params (datetime, datetime, int), #all time params (datetime, type(None), int), #timeStart and window (type(None), type(None), int) #window only ] timeElements = (type(timeStart), type(timeEnd), type(window)) isTimeParamsValid = timeElements in validTimeParams if not isTimeParamsValid: raise ValueError("Invalid combination of time parameters.") service = self.importService(__service__) #Check the field name if self.enableParamChecks: outputFields = self.getFields() isValid = False for validField in outputFields: if field == validField.field_human_name: isValid = True break if not isValid: raise ValueError("Invalid field name: '%s'" % field) return service.getData(self.id, timeStart, timeEnd, window, field)
for x in data: print(x.type + ' : ' + x.title + ' : ' + x.description) print("\nWeather Types (with type) \n---------------------------") x = s.weather.getTypes("actuals") print(x.type + ' : ' + x.title + ' : ' + x.description) print("\nWeather Actual Highs \n---------------------------") data = s.weather.getActualHighs(1, "20141025", "20141030") for x in data: print(x.date + ' : ' + str(x.high)) print("\nWeather Actual Temps \n---------------------------") data = s.weather.getActualTemps(1, "20150201", None, "20150203", 15) for x in data: date = convertToDateTime(x.date).strftime("%Y.%m.%d:%H") print(date + ' : ' + str(x.value)) print("\nWeather Forecasts Daily \n---------------------------") data = s.weather.getForecastDaily(1) for day in data: print(day.forecast_high) print("\nWeather Forecasts Hourly \n---------------------------") data = s.weather.getForecastHourly(1) for x in data: date = convertToDateTime(x.date).strftime("%Y.%m.%d:%H") print(date + ' : ' + str(x.value))