Total Complexity | 5 |
Total Lines | 48 |
Duplicated Lines | 0 % |
Coverage | 61.9% |
Changes | 0 |
1 | 1 | from .belligerents import BELLIGERENTS |
|
2 | 1 | from .spatial import Point2D |
|
3 | |||
4 | |||
5 | 1 | def get_2d_pos_transformer( |
|
6 | dst_field_name='pos', |
||
7 | src_x_field_name='pos_x', |
||
8 | src_y_field_name='pos_y', |
||
9 | ): |
||
10 | |||
11 | 1 | def _transformer(data): |
|
12 | data[dst_field_name] = Point2D( |
||
13 | float(data.pop(src_x_field_name)), |
||
14 | float(data.pop(src_y_field_name)), |
||
15 | ) |
||
16 | |||
17 | 1 | return _transformer |
|
18 | |||
19 | |||
20 | 1 | transform_2d_pos = get_2d_pos_transformer('pos', 'pos_x', 'pos_y') |
|
21 | |||
22 | |||
23 | 1 | def get_belligerent_transformer( |
|
24 | dst_field_name='belligerent', |
||
25 | src_field_name=None, |
||
26 | ): |
||
27 | 1 | if not src_field_name: |
|
28 | 1 | src_field_name = dst_field_name |
|
29 | |||
30 | 1 | def _transformer(data): |
|
31 | value = data[src_field_name] |
||
32 | data[dst_field_name] = BELLIGERENTS[value.lower()] |
||
33 | |||
34 | 1 | return _transformer |
|
35 | |||
36 | |||
37 | 1 | transform_belligerent = get_belligerent_transformer('belligerent') |
|
38 | |||
39 | |||
40 | 1 | def get_int_transformer(dst_field_name, src_field_name=None): |
|
41 | if not src_field_name: |
||
42 | src_field_name = dst_field_name |
||
43 | |||
44 | def _transformer(data): |
||
45 | data[dst_field_name] = int(data[src_field_name]) |
||
46 | |||
47 | return _transformer |
||
48 |