Пример #1
0
    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
Пример #2
0
    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
Пример #3
0
    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
Пример #4
0
    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
Пример #5
0
    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",
            }
        )