commons.transformers.get_int_transformer()   A
last analyzed

Complexity

Conditions 2

Size

Total Lines 8
Code Lines 6

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 1
CRAP Score 4.3145

Importance

Changes 0
Metric Value
eloc 6
dl 0
loc 8
ccs 1
cts 6
cp 0.1666
rs 10
c 0
b 0
f 0
cc 2
nop 2
crap 4.3145
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