def _get_meteorology(self): result = {} move_if_present(result, self.data, 'weather', 'weather_conditions') move_if_present(result, self.data, 'cloud_base') if 'weather' in self.data: result.update(self.data.pop('weather')) return result
def _get_time_info(self): result = {} move_if_present(result, self.data, 'date') if 'time' in self.data: result.update({ 'time': self.data['time']['value'], 'is_fixed': self.data['time']['is_fixed'], }) return result
def _get_objects(self): result = {} set_if_present(result, 'moving_units', self._get_moving_units()) set_if_present(result, 'flights', self._get_flights()) set_if_present(result, 'home_bases', self._get_home_bases()) move_if_present(result, self.data, 'stationary') move_if_present(result, self.data, 'buildings') move_if_present(result, self.data, 'cameras') move_if_present(result, self.data, 'markers') move_if_present(result, self.data, 'rockets') return result
def _get_conditions(self): result = {} set_if_present(result, 'time_info', self._get_time_info()) set_if_present(result, 'meteorology', self._get_meteorology()) set_if_present(result, 'scouting', self._get_scouting()) move_if_present(result, self.data, 'respawn_time') if 'conditions' in self.data: conditions = self.data['conditions'] move_if_present(result, conditions, 'radar') move_if_present(result, conditions, 'communication') move_if_present(result, conditions, 'home_bases') move_if_present(result, conditions, 'crater_visibility_muptipliers') return result
def _clean(self): result = {} move_if_present(result, self.data, 'location_loader') move_if_present(result, self.data, 'player') move_if_present(result, self.data, 'targets') set_if_present(result, 'conditions', self._get_conditions()) set_if_present(result, 'objects', self._get_objects()) return result
def test_move_if_present(self): dst = {} src = { 'foo': "foo_string", 'bar_buz': "bar_string", } move_if_present(dst, src, 'foo') move_if_present(dst, src, 'bar', 'bar_buz') move_if_present(dst, src, 'qux') self.assertEquals(dst, { 'foo': "foo_string", 'bar': "bar_string", })
def test_move_if_present(self): dst = {} src = { 'foo': "foo_string", 'bar_buz': "bar_string", } move_if_present(dst, src, 'foo') move_if_present(dst, src, 'bar', 'bar_buz') move_if_present(dst, src, 'qux') self.assertEquals( dst, { 'foo': "foo_string", 'bar': "bar_string", } )