click_and_drop_api 3.3.0__tar.gz → 3.4.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (219) hide show
  1. {click_and_drop_api-3.3.0/click_and_drop_api.egg-info → click_and_drop_api-3.4.0}/PKG-INFO +1 -1
  2. {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/simple/__init__.py +18 -1
  3. {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/simple/api.py +42 -5
  4. click_and_drop_api-3.4.0/click_and_drop_api/simple/base.py +1139 -0
  5. click_and_drop_api-3.4.0/click_and_drop_api/simple/errors.py +29 -0
  6. {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/simple/mock.py +266 -24
  7. click_and_drop_api-3.4.0/click_and_drop_api/simple/strategy.py +221 -0
  8. {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/simple/types.py +30 -0
  9. {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0/click_and_drop_api.egg-info}/PKG-INFO +1 -1
  10. {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api.egg-info/SOURCES.txt +2 -0
  11. {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/pyproject.toml +1 -1
  12. click_and_drop_api-3.4.0/test/test_shipping_edge_cases.py +114 -0
  13. click_and_drop_api-3.3.0/click_and_drop_api/simple/base.py +0 -593
  14. click_and_drop_api-3.3.0/click_and_drop_api/simple/errors.py +0 -12
  15. {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/LICENSE +0 -0
  16. {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/MANIFEST.in +0 -0
  17. {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/README.md +0 -0
  18. {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/__init__.py +0 -0
  19. {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/api/__init__.py +0 -0
  20. {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/api/carriers_api.py +0 -0
  21. {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/api/labels_api.py +0 -0
  22. {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/api/manifests_api.py +0 -0
  23. {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/api/olp_services_api.py +0 -0
  24. {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/api/orders_api.py +0 -0
  25. {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/api/returns_api.py +0 -0
  26. {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/api/services_api.py +0 -0
  27. {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/api/version_api.py +0 -0
  28. {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/api_client.py +0 -0
  29. {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/api_response.py +0 -0
  30. {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/configuration.py +0 -0
  31. {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/examples/__init__.py +0 -0
  32. {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/examples/__main__.py +0 -0
  33. {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/examples/check_oba.py +0 -0
  34. {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/examples/create_order.py +0 -0
  35. {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/examples/generate_label.py +0 -0
  36. {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/examples/mock-label-cn.pdf +0 -0
  37. {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/examples/mock-label.pdf +0 -0
  38. {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/examples/mock-manifest.pdf +0 -0
  39. {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/examples/oba_full_workflow.py +0 -0
  40. {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/examples/package_size_and_cost.py +0 -0
  41. {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/examples/shipping_countries.py +0 -0
  42. {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/examples/view_order.py +0 -0
  43. {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/examples/view_specific_orders.py +0 -0
  44. {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/examples/view_version.py +0 -0
  45. {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/exceptions.py +0 -0
  46. {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/models/__init__.py +0 -0
  47. {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/models/address.py +0 -0
  48. {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/models/address_request.py +0 -0
  49. {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/models/billing_details_request.py +0 -0
  50. {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/models/create_order_error_response.py +0 -0
  51. {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/models/create_order_label_error_response.py +0 -0
  52. {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/models/create_order_request.py +0 -0
  53. {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/models/create_order_response.py +0 -0
  54. {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/models/create_orders_request.py +0 -0
  55. {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/models/create_orders_response.py +0 -0
  56. {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/models/create_packages_response.py +0 -0
  57. {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/models/create_return_request.py +0 -0
  58. {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/models/create_return_response.py +0 -0
  59. {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/models/create_return_response_shipment.py +0 -0
  60. {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/models/customer_reference.py +0 -0
  61. {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/models/delete_orders_resource.py +0 -0
  62. {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/models/deleted_order_info.py +0 -0
  63. {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/models/dimensions_request.py +0 -0
  64. {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/models/error_response.py +0 -0
  65. {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/models/failed_order_response.py +0 -0
  66. {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/models/get_carrier_resource.py +0 -0
  67. {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/models/get_carrier_services_resource.py +0 -0
  68. {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/models/get_order_details_resource.py +0 -0
  69. {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/models/get_order_info_resource.py +0 -0
  70. {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/models/get_order_line_result.py +0 -0
  71. {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/models/get_orders_details_response.py +0 -0
  72. {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/models/get_orders_response.py +0 -0
  73. {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/models/get_postal_details_result.py +0 -0
  74. {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/models/get_service_resource.py +0 -0
  75. {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/models/get_services_response.py +0 -0
  76. {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/models/get_shipping_details_result.py +0 -0
  77. {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/models/get_tag_details_result.py +0 -0
  78. {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/models/get_version_resource.py +0 -0
  79. {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/models/importer.py +0 -0
  80. {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/models/label_generation_request.py +0 -0
  81. {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/models/manifest_details_response.py +0 -0
  82. {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/models/manifest_eligible_orders_request.py +0 -0
  83. {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/models/manifest_errors_error_details_response.py +0 -0
  84. {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/models/manifest_errors_response.py +0 -0
  85. {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/models/manifest_orders_response.py +0 -0
  86. {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/models/olp_service_option.py +0 -0
  87. {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/models/olp_services_result.py +0 -0
  88. {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/models/order_error_info.py +0 -0
  89. {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/models/order_error_response.py +0 -0
  90. {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/models/order_field_response.py +0 -0
  91. {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/models/order_update_error.py +0 -0
  92. {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/models/postage_details_request.py +0 -0
  93. {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/models/product_item_request.py +0 -0
  94. {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/models/recipient_details_request.py +0 -0
  95. {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/models/sender_details_request.py +0 -0
  96. {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/models/service_code.py +0 -0
  97. {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/models/service_item.py +0 -0
  98. {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/models/shipment.py +0 -0
  99. {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/models/shipment_package_request.py +0 -0
  100. {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/models/tag_request.py +0 -0
  101. {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/models/update_order_status_request.py +0 -0
  102. {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/models/update_order_status_response.py +0 -0
  103. {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/models/update_orders_status_request.py +0 -0
  104. {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/models/updated_order_info.py +0 -0
  105. {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/py.typed +0 -0
  106. {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/rest.py +0 -0
  107. {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/simple/addresses.py +0 -0
  108. {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/simple/compatibility.py +0 -0
  109. {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/simple/shipping/__init__.py +0 -0
  110. {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/simple/shipping/db.py +0 -0
  111. {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/simple/shipping/documents.py +0 -0
  112. {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/simple/shipping/format_dimensions.py +0 -0
  113. {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/simple/shipping/large_letter.py +0 -0
  114. {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/simple/shipping/large_parcel.py +0 -0
  115. {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/simple/shipping/letter.py +0 -0
  116. {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/simple/shipping/medium_parcel.py +0 -0
  117. {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/simple/shipping/non-oba codes/large_letter-DE.txt +0 -0
  118. {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/simple/shipping/non-oba codes/large_letter-GB.txt +0 -0
  119. {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/simple/shipping/non-oba codes/large_parcel-DE.txt +0 -0
  120. {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/simple/shipping/non-oba codes/large_parcel-GB.txt +0 -0
  121. {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/simple/shipping/non-oba codes/letter-DE.txt +0 -0
  122. {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/simple/shipping/non-oba codes/letter-GB.txt +0 -0
  123. {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/simple/shipping/non-oba codes/medium_parcel-DE.txt +0 -0
  124. {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/simple/shipping/non-oba codes/medium_parcel-GB.txt +0 -0
  125. {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/simple/shipping/non-oba codes/small_parcel-DE.txt +0 -0
  126. {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/simple/shipping/non-oba codes/small_parcel-GB.txt +0 -0
  127. {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/simple/shipping/oba-codes/documents-DE.txt +0 -0
  128. {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/simple/shipping/oba-codes/large_letter-DE.txt +0 -0
  129. {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/simple/shipping/oba-codes/large_letter-GB.txt +0 -0
  130. {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/simple/shipping/oba-codes/letter-DE.txt +0 -0
  131. {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/simple/shipping/oba-codes/letter-GB.txt +0 -0
  132. {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/simple/shipping/oba-codes/parcel-DE.txt +0 -0
  133. {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/simple/shipping/oba-codes/parcel-GB.txt +0 -0
  134. {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/simple/shipping/oba_parser.py +0 -0
  135. {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/simple/shipping/package_shipping_option.py +0 -0
  136. {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/simple/shipping/parcel.py +0 -0
  137. {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/simple/shipping/parser.py +0 -0
  138. {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/simple/shipping/small_parcel.py +0 -0
  139. {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api/simple/shipping_test_result.py +0 -0
  140. {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api.egg-info/dependency_links.txt +0 -0
  141. {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api.egg-info/requires.txt +0 -0
  142. {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/click_and_drop_api.egg-info/top_level.txt +0 -0
  143. {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/setup.cfg +0 -0
  144. {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/test/test_address.py +0 -0
  145. {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/test/test_address_request.py +0 -0
  146. {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/test/test_billing_details_request.py +0 -0
  147. {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/test/test_carriers_api.py +0 -0
  148. {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/test/test_choose_size_by_weight.py +0 -0
  149. {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/test/test_create_order_error_response.py +0 -0
  150. {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/test/test_create_order_label_error_response.py +0 -0
  151. {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/test/test_create_order_request.py +0 -0
  152. {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/test/test_create_order_response.py +0 -0
  153. {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/test/test_create_orders_request.py +0 -0
  154. {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/test/test_create_orders_response.py +0 -0
  155. {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/test/test_create_packages_response.py +0 -0
  156. {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/test/test_create_return_request.py +0 -0
  157. {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/test/test_create_return_response.py +0 -0
  158. {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/test/test_create_return_response_shipment.py +0 -0
  159. {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/test/test_customer_reference.py +0 -0
  160. {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/test/test_delete_orders_resource.py +0 -0
  161. {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/test/test_deleted_order_info.py +0 -0
  162. {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/test/test_dimensions_request.py +0 -0
  163. {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/test/test_error_response.py +0 -0
  164. {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/test/test_failed_order_response.py +0 -0
  165. {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/test/test_get_carrier_resource.py +0 -0
  166. {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/test/test_get_carrier_services_resource.py +0 -0
  167. {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/test/test_get_order_details_resource.py +0 -0
  168. {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/test/test_get_order_info_resource.py +0 -0
  169. {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/test/test_get_order_line_result.py +0 -0
  170. {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/test/test_get_orders_details_response.py +0 -0
  171. {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/test/test_get_orders_response.py +0 -0
  172. {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/test/test_get_postal_details_result.py +0 -0
  173. {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/test/test_get_service_resource.py +0 -0
  174. {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/test/test_get_services_response.py +0 -0
  175. {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/test/test_get_shipping_details_result.py +0 -0
  176. {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/test/test_get_tag_details_result.py +0 -0
  177. {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/test/test_get_version_resource.py +0 -0
  178. {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/test/test_guess_order_status.py +0 -0
  179. {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/test/test_importer.py +0 -0
  180. {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/test/test_label_generation_request.py +0 -0
  181. {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/test/test_labels_api.py +0 -0
  182. {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/test/test_manifest_details_response.py +0 -0
  183. {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/test/test_manifest_eligible_orders_request.py +0 -0
  184. {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/test/test_manifest_errors_error_details_response.py +0 -0
  185. {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/test/test_manifest_errors_response.py +0 -0
  186. {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/test/test_manifest_orders_response.py +0 -0
  187. {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/test/test_manifests_api.py +0 -0
  188. {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/test/test_oba_parser.py +0 -0
  189. {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/test/test_olp_service_option.py +0 -0
  190. {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/test/test_olp_services_api.py +0 -0
  191. {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/test/test_olp_services_result.py +0 -0
  192. {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/test/test_order_error_info.py +0 -0
  193. {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/test/test_order_error_response.py +0 -0
  194. {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/test/test_order_field_response.py +0 -0
  195. {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/test/test_order_info_tracking_link.py +0 -0
  196. {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/test/test_order_update_error.py +0 -0
  197. {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/test/test_orders_api.py +0 -0
  198. {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/test/test_parcel_constraints.py +0 -0
  199. {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/test/test_parcel_weights.py +0 -0
  200. {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/test/test_postage_details_request.py +0 -0
  201. {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/test/test_product_item_manufacturer.py +0 -0
  202. {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/test/test_product_item_request.py +0 -0
  203. {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/test/test_recipient_details_request.py +0 -0
  204. {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/test/test_returns_api.py +0 -0
  205. {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/test/test_sender_details_request.py +0 -0
  206. {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/test/test_service_code.py +0 -0
  207. {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/test/test_service_item.py +0 -0
  208. {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/test/test_services_api.py +0 -0
  209. {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/test/test_shipment.py +0 -0
  210. {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/test/test_shipment_package_request.py +0 -0
  211. {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/test/test_shipping_option_model.py +0 -0
  212. {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/test/test_shipping_options.py +0 -0
  213. {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/test/test_simple_create_api.py +0 -0
  214. {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/test/test_tag_request.py +0 -0
  215. {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/test/test_update_order_status_request.py +0 -0
  216. {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/test/test_update_order_status_response.py +0 -0
  217. {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/test/test_update_orders_status_request.py +0 -0
  218. {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/test/test_updated_order_info.py +0 -0
  219. {click_and_drop_api-3.3.0 → click_and_drop_api-3.4.0}/test/test_version_api.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: click_and_drop_api
3
- Version: 3.3.0
3
+ Version: 3.4.0
4
4
  Summary: ChannelShipper & Royal Mail Public API
5
5
  Author-email: Nicco Kunzmann <niccokunzmann@rambler.ru>, OpenAPI Generator Community <team@openapitools.org>
6
6
  Project-URL: Documentation, https://niccokunzmann.github.io/python-royal-mail-click-and-drop-api/
@@ -20,6 +20,7 @@ from .types import (
20
20
  UpdateOrdersStatus,
21
21
  ManifestedOrders,
22
22
  OrderInfo,
23
+ ReferenceLookup,
23
24
  )
24
25
  from .api import ClickAndDrop
25
26
  from .mock import MockClickAndDrop
@@ -29,7 +30,15 @@ from .shipping.db import (
29
30
  db,
30
31
  )
31
32
  from .shipping import check_service_codes
32
- from .errors import InvalidWeight, InvalidDimensions
33
+ from .errors import ClickAndDropError, InvalidDimensions, InvalidWeight
34
+ from .strategy import (
35
+ CreateOrderStrategy,
36
+ NullStrategy,
37
+ PreparedOrders,
38
+ RejectDuplicateReferences,
39
+ ReplaceDuplicateReferences,
40
+ StrategyErrorCode,
41
+ )
33
42
 
34
43
  __all__ = [
35
44
  "ClickAndDrop",
@@ -37,6 +46,13 @@ __all__ = [
37
46
  "CreateOrder",
38
47
  "InvalidWeight",
39
48
  "InvalidDimensions",
49
+ "ClickAndDropError",
50
+ "CreateOrderStrategy",
51
+ "NullStrategy",
52
+ "PreparedOrders",
53
+ "RejectDuplicateReferences",
54
+ "ReplaceDuplicateReferences",
55
+ "StrategyErrorCode",
40
56
  "check_service_codes",
41
57
  "RecipientDetails",
42
58
  "Address",
@@ -49,6 +65,7 @@ __all__ = [
49
65
  "UpdateOrderStatusResponse",
50
66
  "LabelGeneration",
51
67
  "OrderInfo",
68
+ "ReferenceLookup",
52
69
  "ManifestedOrders",
53
70
  "ManifestEligibleOrders",
54
71
  "ManifestDetailsResponse",
@@ -1,8 +1,10 @@
1
1
  """The simple API interface."""
2
2
 
3
3
  from dataclasses import dataclass
4
+ from datetime import datetime
4
5
  from typing import Literal, Optional, Union
5
6
  from .base import AbstractClickAndDrop
7
+ from .strategy import CreateOrderStrategy, NullStrategy
6
8
  from .types import CreateOrder
7
9
  import click_and_drop_api
8
10
 
@@ -43,15 +45,23 @@ class ClickAndDrop(AbstractClickAndDrop):
43
45
 
44
46
  host = "https://api.parcel.royalmail.com/api/v1"
45
47
  """The Click & Drop API host.
46
-
48
+
47
49
  There seems to be only one host available.
48
50
  """
49
51
 
50
- def __init__(self, key: str):
52
+ def __init__(
53
+ self, key: str, create_order_strategy: Optional[CreateOrderStrategy] = None
54
+ ):
51
55
  """Create a new API object.
52
56
 
53
57
  Parameters:
54
58
  key: The Click & Drop API authorisation key.
59
+ create_order_strategy: The strategy to check orders before they are created.
60
+ See :mod:`click_and_drop_api.simple.strategy`.
61
+
62
+ Raises:
63
+ TypeError: The key is not a string.
64
+ ValueError: The key does not have about 36 characters or contains whitespace.
55
65
  """
56
66
  if not isinstance(key, str):
57
67
  raise TypeError(f"Expected str, got {key}.")
@@ -61,6 +71,9 @@ class ClickAndDrop(AbstractClickAndDrop):
61
71
  if "".join(key.split()) != key:
62
72
  raise ValueError(f"Expected no whitespace in {key!r}.")
63
73
  self._key = key
74
+ self.create_order_strategy = (
75
+ NullStrategy() if create_order_strategy is None else create_order_strategy
76
+ )
64
77
  self._configuration = click_and_drop_api.Configuration(host=self.host)
65
78
  self._configuration.api_key["Bearer"] = self._key
66
79
  self._api_client = click_and_drop_api.ApiClient(self._configuration)
@@ -72,6 +85,9 @@ class ClickAndDrop(AbstractClickAndDrop):
72
85
  def get_version(self) -> click_and_drop_api.GetVersionResource:
73
86
  """Get the version of the Click & Drop API.
74
87
 
88
+ Raises:
89
+ click_and_drop_api.exceptions.ApiException: The request failed, see :class:`~click_and_drop_api.simple.base.AbstractClickAndDrop`.
90
+
75
91
  https://api.parcel.royalmail.com/#tag/Version
76
92
  """
77
93
  return self._version_api.get_version_async()
@@ -89,6 +105,9 @@ class ClickAndDrop(AbstractClickAndDrop):
89
105
  """Wether this is an OBA account.
90
106
 
91
107
  Check wether this is an OBA account by trying to create an order service code.
108
+
109
+ Raises:
110
+ click_and_drop_api.exceptions.ApiException: The request failed, see :class:`~click_and_drop_api.simple.base.AbstractClickAndDrop`.
92
111
  """
93
112
  if self._account_cache.is_oba is not None:
94
113
  return self._account_cache.is_oba
@@ -108,6 +127,20 @@ class ClickAndDrop(AbstractClickAndDrop):
108
127
  order_identifiers=order_identifiers_to_string(order_identifiers)
109
128
  )
110
129
 
130
+ def _get_orders_page(
131
+ self,
132
+ page_size: int,
133
+ start: Optional[datetime],
134
+ end: Optional[datetime],
135
+ continuation_token: Optional[str],
136
+ ) -> click_and_drop_api.GetOrdersResponse:
137
+ return self._orders_api.get_orders_async(
138
+ page_size=page_size,
139
+ start_date_time=start,
140
+ end_date_time=end,
141
+ continuation_token=continuation_token,
142
+ )
143
+
111
144
  def _get_orders_details(
112
145
  self, order_identifiers: list[Union[str, int]]
113
146
  ) -> list[click_and_drop_api.GetOrderDetailsResource]:
@@ -123,10 +156,8 @@ class ClickAndDrop(AbstractClickAndDrop):
123
156
  )
124
157
 
125
158
  def _create_orders(
126
- self, orders: Union[list[CreateOrder], CreateOrder]
159
+ self, orders: list[CreateOrder]
127
160
  ) -> click_and_drop_api.CreateOrdersResponse:
128
- if not isinstance(orders, list):
129
- orders = [orders]
130
161
  request = click_and_drop_api.CreateOrdersRequest(items=orders)
131
162
  return self._orders_api.create_orders_async(request)
132
163
 
@@ -168,6 +199,12 @@ class ClickAndDrop(AbstractClickAndDrop):
168
199
 
169
200
  Label generation only available for orders with postage applied status.
170
201
 
202
+ Raises:
203
+ click_and_drop_api.exceptions.ForbiddenException: The account is not an OBA account.
204
+ click_and_drop_api.exceptions.BadRequestException: An order does not exist
205
+ or has no postage applied.
206
+ click_and_drop_api.exceptions.ApiException: The request failed, see :class:`~click_and_drop_api.simple.base.AbstractClickAndDrop`.
207
+
171
208
  https://api.parcel.royalmail.com/#tag/Labels/operation/GetOrdersLabelAsync
172
209
  """
173
210
  return self._labels_api.get_orders_label_async(