Hide keyboard shortcuts

Hot-keys on this page

r m x p   toggle line displays

j k   next/prev highlighted chunk

0   (zero) top of page

1   (one) first highlighted chunk

1import logging 

2from django.core.management.base import CommandParser 

3from jutil.command import SafeCommand 

4from jutil.format import format_xml_bytes, format_xml 

5from jbank.helpers import validate_xml 

6from jbank.models import WsEdiConnection 

7 

8 

9logger = logging.getLogger(__name__) 

10 

11 

12class Command(SafeCommand): 

13 help = 'Makes test application request' 

14 

15 def add_arguments(self, parser: CommandParser): 

16 parser.add_argument('--ws', type=int, default=1) 

17 parser.add_argument('--xsd', type=str) 

18 parser.add_argument('--command', type=str, default='DownloadFileList') 

19 parser.add_argument('--file', type=str) 

20 

21 def do(self, *args, **options): 

22 ws = WsEdiConnection.objects.get(id=options['ws']) 

23 if options['file']: 

24 content = open(options['file'], 'rb').read() 

25 else: 

26 content = ws.get_application_request(options['command']).encode() 

27 print('------------------------------------------------- Application request') 

28 print(format_xml_bytes(content).decode()) 

29 if options['xsd']: 

30 validate_xml(content, options['xsd']) 

31 print('------------------------------------------------- Signed request') 

32 print(format_xml(ws.sign_application_request(content.decode())))