python.blade.php 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. ```python
  2. import requests
  3. import json
  4. url = '{{ rtrim($baseUrl, '/') }}/{{ $route['boundUri'] }}'
  5. @if(count($route['fileParameters']))
  6. files = {
  7. @foreach($route['fileParameters'] as $name => $file)
  8. '{!! $name !!}': open('{!! $file->path() !!}', 'rb')@if(!($loop->last)),
  9. @endif
  10. @endforeach
  11. }
  12. @endif
  13. @if(count($route['cleanBodyParameters']))
  14. payload = {!! json_encode($route['cleanBodyParameters'], JSON_PRETTY_PRINT) !!}
  15. @endif
  16. @if(count($route['cleanQueryParameters']))
  17. params = {!! \Knuckles\Scribe\Tools\WritingUtils::printQueryParamsAsKeyValue($route['cleanQueryParameters'], "'", ":", 2, "{}") !!}
  18. @endif
  19. @if(!empty($route['headers']))
  20. headers = {
  21. @foreach($route['headers'] as $header => $value)
  22. '{{$header}}': '{{$value}}'@if(!($loop->last)),
  23. @endif
  24. @endforeach
  25. }
  26. @endif
  27. @php
  28. $optionalArguments = [];
  29. if (count($route['headers'])) $optionalArguments[] = "headers=headers";
  30. if (count($route['fileParameters'])) $optionalArguments[] = "files=files";
  31. if (count($route['cleanBodyParameters'])) $optionalArguments[] = (count($route['fileParameters']) ? "data=payload" : "json=payload");
  32. if (count($route['cleanQueryParameters'])) $optionalArguments[] = "params=params";
  33. $optionalArguments = implode(', ',$optionalArguments);
  34. @endphp
  35. response = requests.request('{{$route['methods'][0]}}', url, {{ $optionalArguments }})
  36. response.json()
  37. ```