def get_inv_direction(lat, lon): print('******* Adquiring inv direction *******') location = GeocodeGlib.Location.new(cf.s2f(lat), cf.s2f(lon), 1000) reverse = GeocodeGlib.Reverse.new_for_location(location) aplace = reverse.resolve() direction = {} direction['city'] = aplace.get_town() direction['state'] = aplace.get_state() direction['country'] = aplace.get_country() direction['lat'] = aplace.get_location().get_latitude() direction['lng'] = aplace.get_location().get_longitude() direction['woeid'] = None direction['search_string'] = aplace.get_name() return direction
def get_balance(self, symbol): balance = defaultdict(lambda: None) data = None try: if cfg.get_cfg_plat() == 'coinex': data = cet.inquire_account_info()[symbol.upper()] balance['available'] = s2f(data['available']) balance['frozen'] = s2f(data['frozen']) balance['balance'] = data['available'] + data['frozen'] elif cfg.get_cfg_plat() == 'fcoin': pass elif cfg.get_cfg_plat() == 'okex': pass else: pass except: log.err("Exception on get_balance! data:%s"%data) return balance
def get_depth(self, pair): depth = defaultdict(lambda: None) data = None try: if cfg.get_cfg_plat() == 'coinex': data = cet.acquire_market_depth(pair) depth['buy'] = s2f(data.pop('bids')) depth['sell'] = s2f(data.pop('asks')) elif cfg.get_cfg_plat() == 'fcoin': pass elif cfg.get_cfg_plat() == 'okex': data = okb.depth(pair) depth['buy'] = data.pop('bids') depth['sell'] = data.pop('asks') else: pass except: log.err("Exception on %s get_depth! data:%s" % (pair, data)) return depth
def get_balance(self, symbol): balance = defaultdict(lambda: None) data = None try: if cfg.get_cfg_plat() == 'coinex': data = cet.inquire_account_info()[symbol.upper()] balance['available'] = s2f(data['available']) balance['frozen'] = s2f(data['frozen']) balance['balance'] = data['available'] + data['frozen'] elif cfg.get_cfg_plat() == 'fcoin': pass elif cfg.get_cfg_plat() == 'okex': pass else: pass except: log.err("Exception on get_balance! data:%s" % data) return balance
def get_depth(self, pair): depth = defaultdict(lambda: None) data = None try: if cfg.get_cfg_plat() == 'coinex': data = cet.acquire_market_depth(pair) depth['buy'] = s2f(data.pop('bids')) depth['sell'] = s2f(data.pop('asks')) elif cfg.get_cfg_plat() == 'fcoin': pass elif cfg.get_cfg_plat() == 'okex': data = okb.depth(pair) depth['buy'] = data.pop('bids') depth['sell'] = data.pop('asks') else: pass except: log.err("Exception on %s get_depth! data:%s"%(pair,data)) return depth
def __daylen__(self, year, month, day, lon, lat, altit, upper_limb): """ Note: year,month,date = calendar date, 1801-2099 only. Eastern longitude positive, Western longitude negative Northern latitude positive, Southern latitude negative The longitude value is not critical. Set it to the correct longitude if you're picky, otherwise set to, say, 0.0 The latitude however IS critical - be sure to get it correct altit = the altitude which the Sun should cross Set to -35/60 degrees for rise/set, -6 degrees for civil, -12 degrees for nautical and -18 degrees for astronomical twilight. upper_limb: non-zero -> upper limb, zero -> center Set to non-zero (e.g. 1) when computing day length and to zero when computing day+twilight length. """ # Compute d of 12h local mean solar time lon = cf.s2f(lon) d = self.daysSince2000Jan0(year, month, day) + 0.5 - (lon / 360.0) # Compute obliquity of ecliptic (inclination of Earth's axis) obl_ecl = 23.4393 - 3.563E-7 * d # Compute Sun's position res = self.sunpos(d) slon = res[0] sr = res[1] # Compute sine and cosine of Sun's declination sin_sdecl = self.sind(obl_ecl) * self.sind(slon) cos_sdecl = math.sqrt(1.0 - sin_sdecl * sin_sdecl) # Compute the Sun's apparent radius, degrees sradius = 0.2666 / sr # Do correction to upper limb, if necessary if upper_limb: altit = altit - sradius cost = (self.sind(altit) - self.sind(lat) * sin_sdecl) / \ (self.cosd(lat) * cos_sdecl) if cost >= 1.0: t = 0.0 # Sun always below altit elif cost <= -1.0: t = 24.0 # Sun always above altit else: t = (2.0 / 15.0) * self.acosd(cost) return t
def get_balance_all(self): balance = defaultdict(lambda: None) data = None try: if cfg.get_cfg_plat() == 'coinex': data = cet.inquire_account_info() for i in data.items(): balance[i[0]]['available'] = s2f(i[1]['available']) balance[i[0]]['frozen'] = s2f(i[1]['frozen']) balance[i[0]]['balance'] = s2f(i[1]['available']) + s2f(i[1]['frozen']) #print(balance) elif cfg.get_cfg_plat() == 'fcoin': pass elif cfg.get_cfg_plat() == 'okex': pass else: pass except: log.err("Exception on get_balance_all! data:%s"%data) return balance
def get_balance_all(self): balance = defaultdict(lambda: None) data = None try: if cfg.get_cfg_plat() == 'coinex': data = cet.inquire_account_info() for i in data.items(): balance[i[0]]['available'] = s2f(i[1]['available']) balance[i[0]]['frozen'] = s2f(i[1]['frozen']) balance[i[0]]['balance'] = s2f(i[1]['available']) + s2f( i[1]['frozen']) #print(balance) elif cfg.get_cfg_plat() == 'fcoin': pass elif cfg.get_cfg_plat() == 'okex': pass else: pass except: log.err("Exception on get_balance_all! data:%s" % data) return balance
def get_last_price(self, pair): price = 0 data = None try: if cfg.get_cfg_plat() == 'coinex': data = s2f(cet.acquire_market_data(pair)) price = data['last'] elif cfg.get_cfg_plat() == 'fcoin': #data = ft.get_market_ticker(pair) pass elif cfg.get_cfg_plat() == 'okex': data = okb.ticker(pair) price = data['last'] else: pass except: log.err("Exception on get_last_price! data:%s" % data) return price
def get_last_price(self,pair): price = 0 data = None try: if cfg.get_cfg_plat() == 'coinex': data = s2f(cet.acquire_market_data(pair)) price = data['last'] elif cfg.get_cfg_plat() == 'fcoin': #data = ft.get_market_ticker(pair) pass elif cfg.get_cfg_plat() == 'okex': data = okb.ticker(pair) price = data['last'] else: pass except: log.err("Exception on get_last_price! data:%s"%data) return price
def get_kline(self, pair, dtype, limit, since=0): kl = pd.DataFrame() data = None try: if cfg.get_cfg_plat() == 'coinex': data = cet.acquire_K_line_data(pair, dtype, limit) if len(data) > 0: for i in data: i.pop() ##remove the last market string kl = pd.DataFrame(s2f(data), columns=['t','o', 'c','h', 'l', 'v', 'a']) elif cfg.get_cfg_plat() == 'fcoin': pass elif cfg.get_cfg_plat() == 'okex': data = okb.kline(pair, dtype, limit, since) kl = pd.DataFrame(data, columns = ['t', 'o', 'h', 'l', 'c', 'v', 'a']) else: pass except: log.err("Exception on get_kline! data:%s"%data) return kl
def get_kline(self, pair, dtype, limit, since=0): kl = pd.DataFrame() data = None try: if cfg.get_cfg_plat() == 'coinex': data = cet.acquire_K_line_data(pair, dtype, limit) if len(data) > 0: for i in data: i.pop() ##remove the last market string kl = pd.DataFrame(s2f(data), columns=['t', 'o', 'c', 'h', 'l', 'v', 'a']) elif cfg.get_cfg_plat() == 'fcoin': pass elif cfg.get_cfg_plat() == 'okex': data = okb.kline(pair, dtype, limit, since) kl = pd.DataFrame(data, columns=['t', 'o', 'h', 'l', 'c', 'v', 'a']) else: pass except: log.err("Exception on get_kline! data:%s" % data) return kl
def get_price(self, pair): price = defaultdict(lambda: None) data = None try: if cfg.get_cfg_plat() == 'coinex': data = cet.acquire_market_data(pair) #price['buy'] = s2f(data['buy']) #buy 1 #price['high'] = s2f(data['high']) #24H highest price #price['last'] = s2f(data['last']) #latest price #price['low'] = s2f(data['low']) #24H lowest price #price['sell'] = s2f(data['sell']) #sell 1 #price['vol'] = s2f(data['vol']) #24H volume price = s2f(data) elif cfg.get_cfg_plat() == 'fcoin': #data = ft.get_market_ticker(pair) pass elif cfg.get_cfg_plat() == 'okex': data = okb.ticker(pair) price = data else: pass except: log.err("Exception on get_price! data:%s" % data) return price
def get_price(self, pair): price = defaultdict(lambda: None) data = None try: if cfg.get_cfg_plat() == 'coinex': data = cet.acquire_market_data(pair) #price['buy'] = s2f(data['buy']) #buy 1 #price['high'] = s2f(data['high']) #24H highest price #price['last'] = s2f(data['last']) #latest price #price['low'] = s2f(data['low']) #24H lowest price #price['sell'] = s2f(data['sell']) #sell 1 #price['vol'] = s2f(data['vol']) #24H volume price = s2f(data) elif cfg.get_cfg_plat() == 'fcoin': #data = ft.get_market_ticker(pair) pass elif cfg.get_cfg_plat() == 'okex': data = okb.ticker(pair) price = data else: pass except: log.err("Exception on get_price! data:%s"%data) return price
def get_cfg_all(self): cfg_all = {} for s in self.cp.sections(): items = dict(self.cp.items(s)) cfg_all = s2f(dict(cfg_all, **items)) return cfg_all
def _get_weather(self): weather_data = self.get_default_values() print('-------------------------------------------------------') print('-------------------------------------------------------') print('Underground Weather Service url: %s' % URL % (self.key, self.latitude, self.longitude)) print('-------------------------------------------------------') print('-------------------------------------------------------') parsed_json = read_json_from_url( URL % (self.key, self.latitude, self.longitude)) if parsed_json is None: return weather_data weather_data['update_time'] = time.time() weather_data['ok'] = True condition = gvfco('weather', parsed_json).lower() # weather_data['current_conditions']['condition_text'] =\ weatherservice.get_condition(condition, 'text') if weather_data['current_conditions']['isday']: weather_data['current_conditions']['condition_image'] =\ weatherservice.get_condition(condition, 'image') weather_data['current_conditions']['condition_icon_dark'] =\ weatherservice.get_condition(condition, 'icon-dark') weather_data['current_conditions']['condition_icon_light'] =\ weatherservice.get_condition(condition, 'icon-light') else: weather_data['current_conditions']['condition_image'] =\ weatherservice.get_condition(condition, 'image-night') weather_data['current_conditions']['condition_icon_dark'] =\ weatherservice.get_condition(condition, 'icon-night-dark') weather_data['current_conditions']['condition_icon_light'] =\ weatherservice.get_condition(condition, 'icon-night-light') temperature = cf.s2f(gvfco('temp_f', parsed_json)) weather_data['current_conditions']['temperature'] =\ cf.change_temperature( temperature, self.units.temperature) pressure = cf.s2f(gvfco('pressure_mb', parsed_json)) weather_data['current_conditions']['pressure'] =\ weatherservice.change_pressure(pressure, self.units.pressure) humidity = cf.s2f(gvfco('relative_humidity', parsed_json)[:-1]) weather_data['current_conditions']['humidity'] = str( int(humidity)) + ' %' weather_data['current_conditions']['dew_point'] =\ weatherservice.get_dew_point( humidity, temperature, self.units.temperature) wind_velocity = cf.s2f(gvfco('wind_mph', parsed_json)) wind_direction = gvfco('wind_dir', parsed_json) weather_data['current_conditions']['wind_condition'] =\ weatherservice.get_wind_condition( wind_velocity, wind_direction, self.units.wind) weather_data['current_conditions']['wind_icon'] =\ weatherservice.get_wind_icon(wind_direction) # weather_data['current_conditions']['heat_index'] =\ weatherservice.get_heat_index(temperature, humidity) weather_data['current_conditions']['windchill'] =\ weatherservice.get_wind_chill(temperature, wind_velocity) # weather_data['current_conditions']['feels_like'] =\ weatherservice.get_feels_like( temperature, humidity, wind_velocity, self.units.temperature) # weather_data['current_conditions']['visibility'] =\ weatherservice.change_distance( gvfco('visibility_mi', parsed_json), self.units.visibility) weather_data['current_conditions']['solarradiation'] = gvfco( 'solarradiation', parsed_json) weather_data['current_conditions']['UV'] = gvfco('UV', parsed_json) weather_data['current_conditions']['precip_1hr'] =\ weatherservice.change_longitude( gvfco('precip_1hr_in', parsed_json), self.units.rain) weather_data['current_conditions']['precip_today'] =\ weatherservice.change_longitude( gvfco('precip_today_in', parsed_json), self.units.rain) for i in range(0, 4): weather_data['forecasts'][i]['low'] =\ cf.change_temperature( gvff('low', i, parsed_json)['fahrenheit'], self.units.temperature) weather_data['forecasts'][i]['high'] =\ cf.change_temperature( gvff('high', i, parsed_json)['fahrenheit'], self.units.temperature) # weather_data['forecasts'][i]['qpf_allday'] =\ weatherservice.change_longitude( gvff('qpf_allday', i, parsed_json)['in'], self.units.rain) weather_data['forecasts'][i]['qpf_day'] =\ weatherservice.change_longitude( gvff('qpf_day', i, parsed_json)['in'], self.units.rain) weather_data['forecasts'][i]['qpf_night'] =\ weatherservice.change_longitude( gvff('qpf_night', i, parsed_json)['in'], self.units.rain) weather_data['forecasts'][i]['snow_allday'] =\ weatherservice.change_longitude( gvff('snow_allday', i, parsed_json)['in'], self.units.snow) weather_data['forecasts'][i]['snow_day'] =\ weatherservice.change_longitude( gvff('snow_day', i, parsed_json)['in'], self.units.snow) weather_data['forecasts'][i]['snow_night'] =\ weatherservice.change_longitude( gvff('snow_night', i, parsed_json)['in'], self.units.snow) wind = gvff('maxwind', i, parsed_json) weather_data['forecasts'][i]['maxwind'] =\ weatherservice.get_wind_condition( wind['mph'], wind['dir'], self.units.wind) wind = gvff('avewind', i, parsed_json) weather_data['forecasts'][i]['avewind'] =\ weatherservice.get_wind_condition( wind['mph'], wind['dir'], self.units.wind) weather_data['forecasts'][i]['avehumidity'] = '%s %%' % gvff( 'avehumidity', i, parsed_json) weather_data['forecasts'][i]['maxhumidity'] = '%s %%' % gvff( 'maxhumidity', i, parsed_json) weather_data['forecasts'][i]['minhumidity'] = '%s %%' % gvff( 'minhumidity', i, parsed_json) # condition = gvff('conditions', i, parsed_json).lower() weather_data['forecasts'][i]['condition'] = condition weather_data['forecasts'][i]['condition_text'] =\ weatherservice.get_condition(condition, 'text') weather_data['forecasts'][i]['condition_image'] =\ weatherservice.get_condition(condition, 'image') weather_data['forecasts'][i]['condition_icon'] =\ weatherservice.get_condition(condition, 'icon-light') weather_data['forecast_information']['city'] =\ gvfi('city', parsed_json) weather_data['forecast_information']['postal_code'] =\ gvfi('zip', parsed_json) weather_data['forecast_information']['latitude_e6'] =\ gvfi('latitude', parsed_json) weather_data['forecast_information']['longitude_e6'] =\ gvfi('longitude', parsed_json) return weather_data
def get_weather(self): weather_data = self.get_default_values() print('-------------------------------------------------------') print('-------------------------------------------------------') print('WorldWeatherOnline Weather Service url: %s' % (URL % (self.latitude, self.longitude, self.key))) print('-------------------------------------------------------') print('-------------------------------------------------------') try: parsed_json = read_json_from_url( URL % (self.latitude, self.longitude, self.key)) if parsed_json is None or\ 'data' not in parsed_json.keys() or\ parsed_json['data'] is None or\ 'current_condition' not in parsed_json['data'].keys() or\ 'weather' not in parsed_json['data'].keys(): return weather_data weather_data['update_time'] = time.time() weather_data['ok'] = True number_condition = gvfco('weatherCode', parsed_json) condition = get_condition(number_condition) print('*******************') print('********11***********') print('*******************') # weather_data['current_conditions']['condition_text'] =\ weatherservice.get_condition_wwa(condition, 'text') if weather_data['current_conditions']['isday']: weather_data['current_conditions']['condition_image'] =\ weatherservice.get_condition_wwa(condition, 'image') weather_data['current_conditions']['condition_icon_dark'] =\ weatherservice.get_condition_wwa(condition, 'icon-dark') weather_data['current_conditions']['condition_icon_light'] =\ weatherservice.get_condition_wwa(condition, 'icon-light') else: weather_data['current_conditions']['condition_image'] =\ weatherservice.get_condition_wwa(condition, 'image-night') weather_data['current_conditions']['condition_icon_dark'] =\ weatherservice.get_condition_wwa( condition, 'icon-night-dark') weather_data['current_conditions']['condition_icon_light'] =\ weatherservice.get_condition_wwa( condition, 'icon-night-light') temperature = cf.s2f(gvfco('temp_F', parsed_json)) weather_data['current_conditions']['temperature'] =\ cf.change_temperature( temperature, self.units.temperature) pressure = cf.s2f(gvfco('pressure', parsed_json)) weather_data['current_conditions']['pressure'] =\ weatherservice.change_pressure(pressure, self.units.pressure) humidity = cf.s2f(gvfco('humidity', parsed_json)) weather_data['current_conditions']['humidity'] = '%s %%' % ( int(humidity)) weather_data['current_conditions']['dew_point'] =\ weatherservice.get_dew_point( humidity, temperature, self.units.temperature) wind_velocity = cf.s2f(gvfco('windspeedMiles', parsed_json)) wind_direction = weatherservice.degToCompass2( gvfco('winddirDegree', parsed_json)) weather_data['current_conditions']['wind_condition'] =\ weatherservice.get_wind_condition2( wind_velocity, wind_direction[0], self.units.wind) weather_data['current_conditions']['wind_icon'] = wind_direction[2] # weather_data['current_conditions']['heat_index'] =\ weatherservice.get_heat_index(temperature, humidity) weather_data['current_conditions']['windchill'] =\ weatherservice.get_wind_chill(temperature, wind_velocity) # weather_data['current_conditions']['feels_like'] =\ weatherservice.get_feels_like( temperature, humidity, wind_velocity, self.units.temperature) # weather_data['current_conditions']['visibility'] =\ weatherservice.change_distance( gvfco('visibility', parsed_json), self.units.visibility) weather_data['current_conditions']['solarradiation'] = None weather_data['current_conditions']['UV'] = None weather_data['current_conditions']['precip_1hr'] = None weather_data['current_conditions']['precip_today'] =\ weatherservice.change_longitude( cf.s2f( gvfco('precipMM', parsed_json)) / 25.4, self.units.rain) for i in range(0, 5): t1 = cf.s2f(gvff('tempMinF', i, parsed_json)) t2 = cf.s2f(gvff('tempMaxF', i, parsed_json)) if t1 < t2: tmin = str(t1) tmax = str(t2) else: tmin = str(t2) tmax = str(t1) weather_data['forecasts'][i]['low'] =\ cf.change_temperature( tmin, self.units.temperature) weather_data['forecasts'][i]['high'] =\ cf.change_temperature( tmax, self.units.temperature) # weather_data['forecasts'][i]['qpf_allday'] =\ weatherservice.change_longitude( cf.s2f( gvff('precipMM', i, parsed_json)) / 25.4, self.units.rain) weather_data['forecasts'][i]['qpf_day'] = None weather_data['forecasts'][i]['qpf_night'] = None weather_data['forecasts'][i]['snow_allday'] = None weather_data['forecasts'][i]['snow_day'] = None weather_data['forecasts'][i]['snow_night'] = None weather_data['forecasts'][i]['maxwind'] = None winddir = gvff('winddirDegree', i, parsed_json) winsped = gvff('windspeedMiles', i, parsed_json) wind_direction = weatherservice.degToCompass2(winddir) weather_data['forecasts'][i]['avewind'] =\ weatherservice.get_wind_condition2( winsped, wind_direction[0], self.units.wind) weather_data['forecasts'][i]['wind_icon'] = wind_direction[2] weather_data['forecasts'][i]['avehumidity'] = None weather_data['forecasts'][i]['maxhumidity'] = None weather_data['forecasts'][i]['minhumidity'] = None # number_condition = gvff('weatherCode', i, parsed_json).lower() condition = get_condition(number_condition) weather_data['forecasts'][i]['condition'] = condition weather_data['forecasts'][i]['condition_text'] =\ weatherservice.get_condition_wwa(condition, 'text') weather_data['forecasts'][i]['condition_image'] =\ weatherservice.get_condition_wwa(condition, 'image') weather_data['forecasts'][i]['condition_icon'] =\ weatherservice.get_condition_wwa(condition, 'icon-light') weather_data['forecast_information']['city'] = None weather_data['forecast_information']['postal_code'] = None weather_data['forecast_information']['latitude_e6'] = None weather_data['forecast_information']['longitude_e6'] = None except Exception as e: print(e) weather_data['ok'] = False return weather_data
def get_weather(self): weather_data = self.get_default_values() xml_response = download_xml(self.url) print(xml_response) root = etree.fromstring(xml_response).xpath( '/data/parameters/temperature') try: # xml_response = download_xml(self.url) root = etree.fromstring(xml_response).xpath( '/data/parameters/temperature') if len(root) == 0: raise Exception('Root 0') temperature = get_data(root[0], 'temp_f') velocity = get_data(root[0], 'wind_condition') velocity = cf.s2f(velocity.split(' ')[3]) humidity = weatherservice.get_humidity( get_data(root[0], 'humidity')) condition = get_data(root[0], 'condition').lower() weather_data['current_conditions']['condition'] = condition weather_data['current_conditions'][ 'condition_text'] = weatherservice.get_condition( condition, 'text') if weatherservice.is_day_now( weather_data['current_conditions']['sunrise_time'], weather_data['current_conditions']['sunset_time']): weather_data['current_conditions'][ 'condition_image'] = weatherservice.get_condition( condition, 'image') weather_data['current_conditions'][ 'condition_icon_dark'] = weatherservice.get_condition( condition, 'icon-dark') weather_data['current_conditions'][ 'condition_icon_light'] = weatherservice.get_condition( condition, 'icon-light') else: weather_data['current_conditions'][ 'condition_image'] = weatherservice.get_condition( condition, 'image-night') weather_data['current_conditions'][ 'condition_icon_dark'] = weatherservice.get_condition( condition, 'icon-night-dark') weather_data['current_conditions'][ 'condition_icon_light'] = weatherservice.get_condition( condition, 'icon-night-light') weather_data['current_conditions'][ 'temperature'] = cf.change_temperature(temperature, self.units.temperature) weather_data['current_conditions']['pressure'] = None weather_data['current_conditions']['humidity'] = '%s %%' % ( humidity) weather_data['current_conditions'][ 'dew_point'] = weatherservice.get_dew_point( humidity, temperature, self.units.temperature) wind = get_data(root[0], 'wind_condition') wind_direction = wind.split(' ')[1] wind_direction = wind_direction.lower() wind_velocity = wind.split(' ') weather_data['current_conditions'][ 'wind_condition'] = weatherservice.get_wind_condition( wind_velocity, wind_direction, self.units.wind) # weather_data['current_conditions'][ 'heat_index'] = weatherservice.get_heat_index( temperature, humidity) weather_data['current_conditions'][ 'windchill'] = weatherservice.get_wind_chill( temperature, wind_velocity) # weather_data['current_conditions'][ 'feels_like'] = weatherservice.get_feels_like( temperature, humidity, velocity, self.units.temperature) # weather_data['current_conditions']['visibility'] = None weather_data['current_conditions']['solarradiation'] = None weather_data['current_conditions']['UV'] = None weather_data['current_conditions']['precip_1hr'] = None weather_data['current_conditions']['precip_today'] = None # root = etree.fromstring(xml_response).xpath( '/xml_api_reply/weather/forecast_conditions') for i, el in enumerate(root): weather_data['forecasts'][i]['low'] = cf.change_temperature( get_data(el, 'low'), self.units.temperature) weather_data['forecasts'][i]['high'] = cf.change_temperature( get_data(el, 'high'), self.units.temperature) # weather_data['forecasts'][i]['qpf_allday'] = None weather_data['forecasts'][i]['qpf_day'] = None weather_data['forecasts'][i]['qpf_night'] = None weather_data['forecasts'][i]['snow_allday'] = None weather_data['forecasts'][i]['snow_day'] = None weather_data['forecasts'][i]['snow_night'] = None weather_data['forecasts'][i]['maxwind'] = None weather_data['forecasts'][i]['avewind'] = None weather_data['forecasts'][i]['avehumidity'] = None weather_data['forecasts'][i]['maxhumidity'] = None weather_data['forecasts'][i]['minhumidity'] = None # condition = get_data(el, 'condition').lower() weather_data['forecasts'][i]['condition'] = condition weather_data['forecasts'][i][ 'condition_text'] = weatherservice.get_condition( condition, 'text') weather_data['forecasts'][i][ 'condition_image'] = weatherservice.get_condition( condition, 'image') weather_data['forecasts'][i][ 'condition_icon'] = weatherservice.get_condition( condition, 'icon-light') # root = etree.fromstring(xml_response).xpath( '/xml_api_reply/weather/forecast_information') weather_data['forecast_information']['city'] = get_data( root[0], 'city') weather_data['forecast_information']['postal_code'] = get_data( root[0], 'postal_code') weather_data['forecast_information']['latitude_e6'] = get_data( root[0], 'latitude_e6') weather_data['forecast_information']['longitude_e6'] = get_data( root[0], 'longitude_e6') weather_data['forecast_information']['forecast_date'] = get_data( root[0], 'forecast_date') weather_data['forecast_information'][ 'current_date_time'] = get_data(root[0], 'current_date_time') weather_data['forecast_information']['unit_system'] = get_data( root[0], 'unit_system') return weather_data except Exception as e: print(e) return weather_data