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