| 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 |