Completed
Push — master ( 18d750...3bad9e )
by Andrii
11:56
created

contact.parse_cd()   A

Complexity

Conditions 1

Size

Total Lines 2

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
cc 1
c 1
b 0
f 0
dl 0
loc 2
rs 10
1
from ..Module import Module
2
3
class contact(Module):
4
    opmap = {
5
        'infData':      'descend',
6
        'chkData':      'descend',
7
        'creData':      'descend',
8
        'authInfo':     'descend',
9
        'postalInfo':   'descend',
10
        'addr':         'descend',
11
        'id':           'set',
12
        'roid':         'set',
13
        'name':         'set',
14
        'org':          'set',
15
        'street':       'set',
16
        'city':         'set',
17
        'pc':           'set',
18
        'sp':           'set',
19
        'cc':           'set',
20
        'email':        'set',
21
        'voice':        'set',
22
        'fax':          'set',
23
        'clID':         'set',
24
        'crID':         'set',
25
        'upID':         'set',
26
        'crDate':       'set',
27
        'upDate':       'set',
28
        'trDate':       'set',
29
        'pw':           'set',
30
    }
31
32
### RESPONSE parsing
33
34
    def parse_cd(self, response, tag):
35
        return self.parse_cd_tag(response, tag)
36
37
### REQUEST rendering
38
39
    def render_check(self, request):
40
        return self.render_check_command(request, 'contact', 'id')
41
42
    def render_info(self, request):
43
        command = self.render_command_fields(request, 'info', {'id': {}})
44
        if request.has('pw'):
45
            self.render_auth_info(request, command)
46
47
    def render_create(self, request):
48
        command = self.render_command_fields(request, 'create', {'id': {}})
49
        postalInfo = request.sub(command, 'contact:postalInfo', {'type': 'int'})
50
        request.sub(postalInfo, 'contact:name', {}, request.get('name'))
51
        request.sub(postalInfo, 'contact:org',  {}, request.get('org'))
52
        self.render_addr(request, postalInfo)
53
        request.sub(command, 'contact:voice',   {}, request.get('voice'))
54
        request.sub(command, 'contact:email',   {}, request.get('email'))
55
        if request.has('pw'):
56
            self.render_auth_info(request, command)
57
58
    def render_addr(self, request, command):
59
        addr = request.sub(command, 'contact:addr')
60
        request.sub(addr, 'contact:street', {}, request.get('street1'))
61
        request.sub(addr, 'contact:city',   {}, request.get('city'))
62
        if request.has('sp'):
63
            request.sub(addr, 'contact:sp', {}, request.get('sp'))
64
        request.sub(addr, 'contact:pc',     {}, request.get('pc'))
65
        request.sub(addr, 'contact:cc',     {}, request.get('cc'))
66
67
    def render_auth_info(self, request, command, pw = None):
68
        if pw is None:
69
            pw = request.get('pw', '')
70
        authInfo = request.sub(command, 'contact:authInfo')
71
        request.sub(authInfo, 'contact:pw', {}, pw)
72
73