python.blade.php 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  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 $parameter => $value)
  8. @foreach(\Knuckles\Scribe\Tools\WritingUtils::getParameterNamesAndValuesForFormData($parameter, $value) as $key => $file)
  9. '{!! $key !!}': open('{!! $file->path() !!}', 'rb')@if(!($loop->last)),
  10. @endif
  11. @endforeach
  12. @endforeach
  13. }
  14. @endif
  15. @if(count($route['cleanBodyParameters']))
  16. payload = {!! json_encode($route['cleanBodyParameters'], JSON_PRETTY_PRINT) !!}
  17. @endif
  18. @if(count($route['cleanQueryParameters']))
  19. params = {!! \Knuckles\Scribe\Tools\WritingUtils::printQueryParamsAsKeyValue($route['cleanQueryParameters'], "'", ":", 2, "{}") !!}
  20. @endif
  21. @if(!empty($route['headers']))
  22. headers = {
  23. @foreach($route['headers'] as $header => $value)
  24. '{{$header}}': '{{$value}}'@if(!($loop->last)),
  25. @endif
  26. @endforeach
  27. }
  28. @endif
  29. @php
  30. $optionalArguments = [];
  31. if (count($route['headers'])) $optionalArguments[] = "headers=headers";
  32. if (count($route['fileParameters'])) $optionalArguments[] = "files=files";
  33. if (count($route['cleanBodyParameters'])) $optionalArguments[] = (count($route['fileParameters']) ? "data=payload" : "json=payload");
  34. if (count($route['cleanQueryParameters'])) $optionalArguments[] = "params=params";
  35. $optionalArguments = implode(', ',$optionalArguments);
  36. @endphp
  37. response = requests.request('{{$route['methods'][0]}}', url, {{ $optionalArguments }})
  38. response.json()
  39. ```