groupdocs-parser-cloud 25.9__tar.gz → 25.11__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 (97) hide show
  1. {groupdocs_parser_cloud-25.9 → groupdocs_parser_cloud-25.11}/PKG-INFO +1 -1
  2. {groupdocs_parser_cloud-25.9 → groupdocs_parser_cloud-25.11}/groupdocs_parser_cloud/__init__.py +1 -1
  3. {groupdocs_parser_cloud-25.9 → groupdocs_parser_cloud-25.11}/groupdocs_parser_cloud/api_client.py +18 -5
  4. {groupdocs_parser_cloud-25.9 → groupdocs_parser_cloud-25.11}/groupdocs_parser_cloud/configuration.py +1 -1
  5. {groupdocs_parser_cloud-25.9 → groupdocs_parser_cloud-25.11}/groupdocs_parser_cloud.egg-info/PKG-INFO +1 -1
  6. {groupdocs_parser_cloud-25.9 → groupdocs_parser_cloud-25.11}/setup.py +1 -1
  7. {groupdocs_parser_cloud-25.9 → groupdocs_parser_cloud-25.11}/test/apis/test_file_api.py +7 -0
  8. {groupdocs_parser_cloud-25.9 → groupdocs_parser_cloud-25.11}/test/apis/test_parser_container_api.py +2 -2
  9. {groupdocs_parser_cloud-25.9 → groupdocs_parser_cloud-25.11}/test/apis/test_parser_image_api.py +3 -3
  10. {groupdocs_parser_cloud-25.9 → groupdocs_parser_cloud-25.11}/test/apis/test_parser_info_api.py +2 -2
  11. {groupdocs_parser_cloud-25.9 → groupdocs_parser_cloud-25.11}/test/apis/test_parser_parse_api.py +2 -2
  12. {groupdocs_parser_cloud-25.9 → groupdocs_parser_cloud-25.11}/test/apis/test_parser_text_api.py +2 -2
  13. {groupdocs_parser_cloud-25.9 → groupdocs_parser_cloud-25.11}/test/test_context.py +1 -1
  14. {groupdocs_parser_cloud-25.9 → groupdocs_parser_cloud-25.11}/test/test_file.py +21 -19
  15. {groupdocs_parser_cloud-25.9 → groupdocs_parser_cloud-25.11}/LICENSE +0 -0
  16. {groupdocs_parser_cloud-25.9 → groupdocs_parser_cloud-25.11}/README.md +0 -0
  17. {groupdocs_parser_cloud-25.9 → groupdocs_parser_cloud-25.11}/groupdocs_parser_cloud/api_exception.py +0 -0
  18. {groupdocs_parser_cloud-25.9 → groupdocs_parser_cloud-25.11}/groupdocs_parser_cloud/apis/__init__.py +0 -0
  19. {groupdocs_parser_cloud-25.9 → groupdocs_parser_cloud-25.11}/groupdocs_parser_cloud/apis/file_api.py +0 -0
  20. {groupdocs_parser_cloud-25.9 → groupdocs_parser_cloud-25.11}/groupdocs_parser_cloud/apis/folder_api.py +0 -0
  21. {groupdocs_parser_cloud-25.9 → groupdocs_parser_cloud-25.11}/groupdocs_parser_cloud/apis/info_api.py +0 -0
  22. {groupdocs_parser_cloud-25.9 → groupdocs_parser_cloud-25.11}/groupdocs_parser_cloud/apis/parse_api.py +0 -0
  23. {groupdocs_parser_cloud-25.9 → groupdocs_parser_cloud-25.11}/groupdocs_parser_cloud/apis/storage_api.py +0 -0
  24. {groupdocs_parser_cloud-25.9 → groupdocs_parser_cloud-25.11}/groupdocs_parser_cloud/apis/template_api.py +0 -0
  25. {groupdocs_parser_cloud-25.9 → groupdocs_parser_cloud-25.11}/groupdocs_parser_cloud/auth.py +0 -0
  26. {groupdocs_parser_cloud-25.9 → groupdocs_parser_cloud-25.11}/groupdocs_parser_cloud/models/__init__.py +0 -0
  27. {groupdocs_parser_cloud-25.9 → groupdocs_parser_cloud-25.11}/groupdocs_parser_cloud/models/barcode.py +0 -0
  28. {groupdocs_parser_cloud-25.9 → groupdocs_parser_cloud-25.11}/groupdocs_parser_cloud/models/barcode_page.py +0 -0
  29. {groupdocs_parser_cloud-25.9 → groupdocs_parser_cloud-25.11}/groupdocs_parser_cloud/models/barcodes_options.py +0 -0
  30. {groupdocs_parser_cloud-25.9 → groupdocs_parser_cloud-25.11}/groupdocs_parser_cloud/models/barcodes_result.py +0 -0
  31. {groupdocs_parser_cloud-25.9 → groupdocs_parser_cloud-25.11}/groupdocs_parser_cloud/models/container_item.py +0 -0
  32. {groupdocs_parser_cloud-25.9 → groupdocs_parser_cloud-25.11}/groupdocs_parser_cloud/models/container_item_info.py +0 -0
  33. {groupdocs_parser_cloud-25.9 → groupdocs_parser_cloud-25.11}/groupdocs_parser_cloud/models/container_options.py +0 -0
  34. {groupdocs_parser_cloud-25.9 → groupdocs_parser_cloud-25.11}/groupdocs_parser_cloud/models/container_result.py +0 -0
  35. {groupdocs_parser_cloud-25.9 → groupdocs_parser_cloud-25.11}/groupdocs_parser_cloud/models/coordinates.py +0 -0
  36. {groupdocs_parser_cloud-25.9 → groupdocs_parser_cloud-25.11}/groupdocs_parser_cloud/models/create_template_options.py +0 -0
  37. {groupdocs_parser_cloud-25.9 → groupdocs_parser_cloud-25.11}/groupdocs_parser_cloud/models/detector_parameters.py +0 -0
  38. {groupdocs_parser_cloud-25.9 → groupdocs_parser_cloud-25.11}/groupdocs_parser_cloud/models/disc_usage.py +0 -0
  39. {groupdocs_parser_cloud-25.9 → groupdocs_parser_cloud-25.11}/groupdocs_parser_cloud/models/error.py +0 -0
  40. {groupdocs_parser_cloud-25.9 → groupdocs_parser_cloud-25.11}/groupdocs_parser_cloud/models/error_details.py +0 -0
  41. {groupdocs_parser_cloud-25.9 → groupdocs_parser_cloud-25.11}/groupdocs_parser_cloud/models/field.py +0 -0
  42. {groupdocs_parser_cloud-25.9 → groupdocs_parser_cloud-25.11}/groupdocs_parser_cloud/models/field_data.py +0 -0
  43. {groupdocs_parser_cloud-25.9 → groupdocs_parser_cloud-25.11}/groupdocs_parser_cloud/models/field_position.py +0 -0
  44. {groupdocs_parser_cloud-25.9 → groupdocs_parser_cloud-25.11}/groupdocs_parser_cloud/models/file_info.py +0 -0
  45. {groupdocs_parser_cloud-25.9 → groupdocs_parser_cloud-25.11}/groupdocs_parser_cloud/models/file_type.py +0 -0
  46. {groupdocs_parser_cloud-25.9 → groupdocs_parser_cloud-25.11}/groupdocs_parser_cloud/models/file_version.py +0 -0
  47. {groupdocs_parser_cloud-25.9 → groupdocs_parser_cloud-25.11}/groupdocs_parser_cloud/models/file_versions.py +0 -0
  48. {groupdocs_parser_cloud-25.9 → groupdocs_parser_cloud-25.11}/groupdocs_parser_cloud/models/files_list.py +0 -0
  49. {groupdocs_parser_cloud-25.9 → groupdocs_parser_cloud-25.11}/groupdocs_parser_cloud/models/files_upload_result.py +0 -0
  50. {groupdocs_parser_cloud-25.9 → groupdocs_parser_cloud-25.11}/groupdocs_parser_cloud/models/format.py +0 -0
  51. {groupdocs_parser_cloud-25.9 → groupdocs_parser_cloud-25.11}/groupdocs_parser_cloud/models/formats_result.py +0 -0
  52. {groupdocs_parser_cloud-25.9 → groupdocs_parser_cloud-25.11}/groupdocs_parser_cloud/models/formatted_text_options.py +0 -0
  53. {groupdocs_parser_cloud-25.9 → groupdocs_parser_cloud-25.11}/groupdocs_parser_cloud/models/image.py +0 -0
  54. {groupdocs_parser_cloud-25.9 → groupdocs_parser_cloud-25.11}/groupdocs_parser_cloud/models/image_page.py +0 -0
  55. {groupdocs_parser_cloud-25.9 → groupdocs_parser_cloud-25.11}/groupdocs_parser_cloud/models/images_options.py +0 -0
  56. {groupdocs_parser_cloud-25.9 → groupdocs_parser_cloud-25.11}/groupdocs_parser_cloud/models/images_result.py +0 -0
  57. {groupdocs_parser_cloud-25.9 → groupdocs_parser_cloud-25.11}/groupdocs_parser_cloud/models/info_options.py +0 -0
  58. {groupdocs_parser_cloud-25.9 → groupdocs_parser_cloud-25.11}/groupdocs_parser_cloud/models/info_result.py +0 -0
  59. {groupdocs_parser_cloud-25.9 → groupdocs_parser_cloud-25.11}/groupdocs_parser_cloud/models/object_exist.py +0 -0
  60. {groupdocs_parser_cloud-25.9 → groupdocs_parser_cloud-25.11}/groupdocs_parser_cloud/models/page.py +0 -0
  61. {groupdocs_parser_cloud-25.9 → groupdocs_parser_cloud-25.11}/groupdocs_parser_cloud/models/page_area.py +0 -0
  62. {groupdocs_parser_cloud-25.9 → groupdocs_parser_cloud-25.11}/groupdocs_parser_cloud/models/page_table_area.py +0 -0
  63. {groupdocs_parser_cloud-25.9 → groupdocs_parser_cloud-25.11}/groupdocs_parser_cloud/models/page_table_area_cell.py +0 -0
  64. {groupdocs_parser_cloud-25.9 → groupdocs_parser_cloud-25.11}/groupdocs_parser_cloud/models/page_text_area.py +0 -0
  65. {groupdocs_parser_cloud-25.9 → groupdocs_parser_cloud-25.11}/groupdocs_parser_cloud/models/parse_options.py +0 -0
  66. {groupdocs_parser_cloud-25.9 → groupdocs_parser_cloud-25.11}/groupdocs_parser_cloud/models/parse_result.py +0 -0
  67. {groupdocs_parser_cloud-25.9 → groupdocs_parser_cloud-25.11}/groupdocs_parser_cloud/models/parser_options.py +0 -0
  68. {groupdocs_parser_cloud-25.9 → groupdocs_parser_cloud-25.11}/groupdocs_parser_cloud/models/point.py +0 -0
  69. {groupdocs_parser_cloud-25.9 → groupdocs_parser_cloud-25.11}/groupdocs_parser_cloud/models/rectangle.py +0 -0
  70. {groupdocs_parser_cloud-25.9 → groupdocs_parser_cloud-25.11}/groupdocs_parser_cloud/models/size.py +0 -0
  71. {groupdocs_parser_cloud-25.9 → groupdocs_parser_cloud-25.11}/groupdocs_parser_cloud/models/storage_exist.py +0 -0
  72. {groupdocs_parser_cloud-25.9 → groupdocs_parser_cloud-25.11}/groupdocs_parser_cloud/models/storage_file.py +0 -0
  73. {groupdocs_parser_cloud-25.9 → groupdocs_parser_cloud-25.11}/groupdocs_parser_cloud/models/table.py +0 -0
  74. {groupdocs_parser_cloud-25.9 → groupdocs_parser_cloud-25.11}/groupdocs_parser_cloud/models/table_layout.py +0 -0
  75. {groupdocs_parser_cloud-25.9 → groupdocs_parser_cloud-25.11}/groupdocs_parser_cloud/models/template.py +0 -0
  76. {groupdocs_parser_cloud-25.9 → groupdocs_parser_cloud-25.11}/groupdocs_parser_cloud/models/template_options.py +0 -0
  77. {groupdocs_parser_cloud-25.9 → groupdocs_parser_cloud-25.11}/groupdocs_parser_cloud/models/template_result.py +0 -0
  78. {groupdocs_parser_cloud-25.9 → groupdocs_parser_cloud-25.11}/groupdocs_parser_cloud/models/text_options.py +0 -0
  79. {groupdocs_parser_cloud-25.9 → groupdocs_parser_cloud-25.11}/groupdocs_parser_cloud/models/text_page.py +0 -0
  80. {groupdocs_parser_cloud-25.9 → groupdocs_parser_cloud-25.11}/groupdocs_parser_cloud/models/text_result.py +0 -0
  81. {groupdocs_parser_cloud-25.9 → groupdocs_parser_cloud-25.11}/groupdocs_parser_cloud/models/text_style.py +0 -0
  82. {groupdocs_parser_cloud-25.9 → groupdocs_parser_cloud-25.11}/groupdocs_parser_cloud/rest.py +0 -0
  83. {groupdocs_parser_cloud-25.9 → groupdocs_parser_cloud-25.11}/groupdocs_parser_cloud.egg-info/SOURCES.txt +0 -0
  84. {groupdocs_parser_cloud-25.9 → groupdocs_parser_cloud-25.11}/groupdocs_parser_cloud.egg-info/dependency_links.txt +0 -0
  85. {groupdocs_parser_cloud-25.9 → groupdocs_parser_cloud-25.11}/groupdocs_parser_cloud.egg-info/requires.txt +0 -0
  86. {groupdocs_parser_cloud-25.9 → groupdocs_parser_cloud-25.11}/groupdocs_parser_cloud.egg-info/top_level.txt +0 -0
  87. {groupdocs_parser_cloud-25.9 → groupdocs_parser_cloud-25.11}/setup.cfg +0 -0
  88. {groupdocs_parser_cloud-25.9 → groupdocs_parser_cloud-25.11}/test/JsonUtils.py +0 -0
  89. {groupdocs_parser_cloud-25.9 → groupdocs_parser_cloud-25.11}/test/__init__.py +0 -0
  90. {groupdocs_parser_cloud-25.9 → groupdocs_parser_cloud-25.11}/test/apis/__init__.py +0 -0
  91. {groupdocs_parser_cloud-25.9 → groupdocs_parser_cloud-25.11}/test/apis/test_auth_api.py +0 -0
  92. {groupdocs_parser_cloud-25.9 → groupdocs_parser_cloud-25.11}/test/apis/test_folder_api.py +0 -0
  93. {groupdocs_parser_cloud-25.9 → groupdocs_parser_cloud-25.11}/test/apis/test_parser_barcode_api.py +0 -0
  94. {groupdocs_parser_cloud-25.9 → groupdocs_parser_cloud-25.11}/test/apis/test_parser_formats_api.py +0 -0
  95. {groupdocs_parser_cloud-25.9 → groupdocs_parser_cloud-25.11}/test/apis/test_parser_template_api.py +0 -0
  96. {groupdocs_parser_cloud-25.9 → groupdocs_parser_cloud-25.11}/test/apis/test_storage_api.py +0 -0
  97. {groupdocs_parser_cloud-25.9 → groupdocs_parser_cloud-25.11}/test/test_settings.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: groupdocs-parser-cloud
3
- Version: 25.9
3
+ Version: 25.11
4
4
  Summary: GroupDocs.Parser Cloud Python SDK
5
5
  Home-page: http://github.com/groupdocs-parser-cloud/groupdocs-parser-cloud-python
6
6
  Author: GroupDocs
@@ -16,7 +16,7 @@ from groupdocs_parser_cloud.apis.template_api import TemplateApi
16
16
  from groupdocs_parser_cloud.apis.file_api import CopyFileRequest, DeleteFileRequest, DownloadFileRequest, MoveFileRequest, UploadFileRequest
17
17
  from groupdocs_parser_cloud.apis.storage_api import GetDiscUsageRequest, GetFileVersionsRequest, ObjectExistsRequest, StorageExistsRequest
18
18
  from groupdocs_parser_cloud.apis.folder_api import CopyFolderRequest, CreateFolderRequest, DeleteFolderRequest, GetFilesListRequest, MoveFolderRequest
19
- from groupdocs_parser_cloud.apis.parse_api import ImagesRequest, TextRequest, ParseRequest
19
+ from groupdocs_parser_cloud.apis.parse_api import ImagesRequest, TextRequest, ParseRequest, BarcodesRequest
20
20
  from groupdocs_parser_cloud.apis.info_api import GetInfoRequest, ContainerRequest
21
21
  from groupdocs_parser_cloud.apis.template_api import CreateTemplateRequest, DeleteTemplateRequest, GetTemplateRequest
22
22
 
@@ -74,12 +74,12 @@ class ApiClient(object):
74
74
  self.configuration = configuration
75
75
  self.pool = None
76
76
  self.rest_client = rest.RESTClientObject(configuration)
77
- self.default_headers = {'x-groupdocs-client': 'python sdk', 'x-groupdocs-version': '25.9'}
77
+ self.default_headers = {'x-groupdocs-client': 'python sdk', 'x-groupdocs-version': '25.11'}
78
78
  if header_name is not None:
79
79
  self.default_headers[header_name] = header_value
80
80
  self.cookie = cookie
81
81
  # Set default User-Agent.
82
- self.user_agent = 'python sdk 25.9'
82
+ self.user_agent = 'python sdk 25.11'
83
83
 
84
84
  def __del__(self):
85
85
  if self.pool is not None:
@@ -455,13 +455,26 @@ class ApiClient(object):
455
455
  continue
456
456
  file_names = v if type(v) is list else [v]
457
457
  for n in file_names:
458
- with open(n, 'rb') as f:
459
- filename = os.path.basename(f.name)
460
- filedata = f.read()
458
+ # Check if it's a file-like object (stream) or a file path
459
+ if hasattr(n, 'read'):
460
+ # It's a file stream/file-like object
461
+ filename = getattr(n, 'name', 'uploaded_file')
462
+ if isinstance(filename, str):
463
+ filename = os.path.basename(filename)
464
+ filedata = n.read()
461
465
  mimetype = (mimetypes.guess_type(filename)[0] or
462
466
  'application/octet-stream')
463
467
  params.append(
464
468
  tuple([k, tuple([filename, filedata, mimetype])]))
469
+ else:
470
+ # It's a file path (string)
471
+ with open(n, 'rb') as f:
472
+ filename = os.path.basename(f.name)
473
+ filedata = f.read()
474
+ mimetype = (mimetypes.guess_type(filename)[0] or
475
+ 'application/octet-stream')
476
+ params.append(
477
+ tuple([k, tuple([filename, filedata, mimetype])]))
465
478
 
466
479
  return params
467
480
 
@@ -203,5 +203,5 @@ class Configuration(object):
203
203
  "OS: {env}\n"\
204
204
  "Python Version: {pyversion}\n"\
205
205
  "Version of the API: 25.9\n"\
206
- "SDK Package Version: 25.9".\
206
+ "SDK Package Version: 25.11".\
207
207
  format(env=sys.platform, pyversion=sys.version)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: groupdocs-parser-cloud
3
- Version: 25.9
3
+ Version: 25.11
4
4
  Summary: GroupDocs.Parser Cloud Python SDK
5
5
  Home-page: http://github.com/groupdocs-parser-cloud/groupdocs-parser-cloud-python
6
6
  Author: GroupDocs
@@ -6,7 +6,7 @@ import datetime
6
6
  from setuptools import setup, find_packages # noqa: H301
7
7
 
8
8
  NAME = "groupdocs-parser-cloud"
9
- VERSION = "25.9"
9
+ VERSION = "25.11"
10
10
 
11
11
  # Append current time to the version when publishing to test environment
12
12
  if "--test" in sys.argv:
@@ -83,5 +83,12 @@ class TestFileApi(TestContext):
83
83
  request = DeleteFolderRequest("temp", None, True)
84
84
  self.folder_api.delete_folder(request)
85
85
 
86
+ def test_upload_file(self):
87
+ test_file = TestFile.one_page()
88
+ local_file_path = self.get_test_file_path(test_file)
89
+ with open(local_file_path, 'rb') as stream:
90
+ request = UploadFileRequest("upstream/" + test_file.file_name, stream)
91
+ self.file_api.upload_file(request)
92
+
86
93
  if __name__ == '__main__':
87
94
  unittest.main()
@@ -57,7 +57,7 @@ class TestParserContainerApi(TestContext):
57
57
  request = ContainerRequest(container_options)
58
58
  with self.assertRaises(ApiException) as context:
59
59
  self.info_api.container(request)
60
- self.assertEqual("Can't find file located at 'folder\\file-not-exist.pdf'.", context.exception.message)
60
+ self.assertEqual("Can't find file located at 'folder/file-not-exist.pdf'.", context.exception.message)
61
61
 
62
62
  def test_get_container_item_info_unsupported_file(self):
63
63
  container_options = ContainerOptions()
@@ -65,7 +65,7 @@ class TestParserContainerApi(TestContext):
65
65
  request = ContainerRequest(container_options)
66
66
  with self.assertRaises(ApiException) as context:
67
67
  self.info_api.container(request)
68
- self.assertEqual("The specified file 'video\\avi\\sample.avi' has type which is not currently supported.", context.exception.message)
68
+ self.assertEqual("The specified file 'video/avi/sample.avi' has type which is not currently supported.", context.exception.message)
69
69
 
70
70
  def test_get_container_item_info_rar(self):
71
71
  """
@@ -109,7 +109,7 @@ class TestParserImageApi(TestContext):
109
109
  request = ImagesRequest(image_options)
110
110
  with self.assertRaises(ApiException) as context:
111
111
  self.parse_api.images(request)
112
- self.assertEqual("The specified file 'containers\\archive\\docx.zip' has type which is not currently supported.", context.exception.message)
112
+ self.assertEqual("The specified file 'containers/archive/docx.zip' has type which is not currently supported.", context.exception.message)
113
113
 
114
114
 
115
115
  def test_get_image_file_not_found_result(self):
@@ -118,7 +118,7 @@ class TestParserImageApi(TestContext):
118
118
  request = ImagesRequest(image_options)
119
119
  with self.assertRaises(ApiException) as context:
120
120
  self.parse_api.images(request)
121
- self.assertEqual("Can't find file located at 'folder\\file-not-exist.pdf'.", context.exception.message)
121
+ self.assertEqual("Can't find file located at 'folder/file-not-exist.pdf'.", context.exception.message)
122
122
 
123
123
  def test_get_image_incorrect_password(self):
124
124
  image_options = ImagesOptions()
@@ -127,7 +127,7 @@ class TestParserImageApi(TestContext):
127
127
  request = ImagesRequest(image_options)
128
128
  with self.assertRaises(ApiException) as context:
129
129
  self.parse_api.images(request)
130
- self.assertEqual("Password provided for file 'words\\docx\\password-protected.docx' is incorrect.", context.exception.message)
130
+ self.assertEqual("Password provided for file 'words/docx/password-protected.docx' is incorrect.", context.exception.message)
131
131
 
132
132
 
133
133
  if __name__ == '__main__':
@@ -72,7 +72,7 @@ class TestParserInfoApi(TestContext):
72
72
  request = GetInfoRequest(info_options)
73
73
  with self.assertRaises(ApiException) as context:
74
74
  self.info_api.get_info(request)
75
- self.assertEqual("Can't find file located at 'folder\\file-not-exist.pdf'.", context.exception.message)
75
+ self.assertEqual("Can't find file located at 'folder/file-not-exist.pdf'.", context.exception.message)
76
76
 
77
77
  def test_get_info_incorrect_password(self):
78
78
  info_options = InfoOptions()
@@ -81,7 +81,7 @@ class TestParserInfoApi(TestContext):
81
81
  request = GetInfoRequest(info_options)
82
82
  with self.assertRaises(ApiException) as context:
83
83
  self.info_api.get_info(request)
84
- self.assertEqual("Password provided for file 'words\\docx\\password-protected.docx' is incorrect.", context.exception.message)
84
+ self.assertEqual("Password provided for file 'words/docx/password-protected.docx' is incorrect.", context.exception.message)
85
85
 
86
86
 
87
87
  if __name__ == '__main__':
@@ -68,7 +68,7 @@ class TestParserParseApi(TestContext):
68
68
  with self.assertRaises(ApiException) as context:
69
69
  self.parse_api.parse(request)
70
70
  self.assertEqual(
71
- "Can't find file located at 'folder\\file-not-exist.pdf'.", context.exception.message)
71
+ "Can't find file located at 'folder/file-not-exist.pdf'.", context.exception.message)
72
72
 
73
73
  def test_parse_incorrect_password(self):
74
74
  parse_options = ParseOptions()
@@ -79,7 +79,7 @@ class TestParserParseApi(TestContext):
79
79
  with self.assertRaises(ApiException) as context:
80
80
  self.parse_api.parse(request)
81
81
  self.assertEqual(
82
- "Password provided for file 'words\\docx\\password-protected.docx' is incorrect.", context.exception.message)
82
+ "Password provided for file 'words/docx/password-protected.docx' is incorrect.", context.exception.message)
83
83
 
84
84
  def test_parse_not_supported_file(self):
85
85
  parse_options = ParseOptions()
@@ -97,7 +97,7 @@ class TestParserTextApi(TestContext):
97
97
  request = TextRequest(options)
98
98
  with self.assertRaises(ApiException) as context:
99
99
  self.parse_api.text(request)
100
- self.assertEqual("Can't find file located at 'folder\\file-not-exist.pdf'.", context.exception.message)
100
+ self.assertEqual("Can't find file located at 'folder/file-not-exist.pdf'.", context.exception.message)
101
101
 
102
102
  def test_extract_text_incorrect_password(self):
103
103
  options = TextOptions()
@@ -106,7 +106,7 @@ class TestParserTextApi(TestContext):
106
106
  request = TextRequest(options)
107
107
  with self.assertRaises(ApiException) as context:
108
108
  self.parse_api.text(request)
109
- self.assertEqual("Password provided for file 'words\\docx\\password-protected.docx' is incorrect.", context.exception.message)
109
+ self.assertEqual("Password provided for file 'words/docx/password-protected.docx' is incorrect.", context.exception.message)
110
110
 
111
111
  def test_extract_txt_md(self):
112
112
  """
@@ -64,7 +64,7 @@ class TestContext(unittest.TestCase):
64
64
  self._close_api_thread_pool()
65
65
 
66
66
  def get_test_file_path(self, file):
67
- test_files = "test\\test_files"
67
+ test_files = "test/test_files"
68
68
  test_file_path = os.path.join(test_files, file.folder, file.file_name)
69
69
 
70
70
  return test_file_path
@@ -37,7 +37,7 @@ class TestFile:
37
37
  def password_protected(cls):
38
38
  f = TestFile()
39
39
  f.file_name = "password-protected.docx"
40
- f.folder = "words\\docx\\"
40
+ f.folder = "words/docx/"
41
41
  f.password = "password"
42
42
  return f
43
43
 
@@ -45,77 +45,77 @@ class TestFile:
45
45
  def four_pages(cls):
46
46
  f = TestFile()
47
47
  f.file_name = "four-pages.docx"
48
- f.folder = "words\\docx\\"
48
+ f.folder = "words/docx/"
49
49
  return f
50
50
 
51
51
  @classmethod
52
52
  def barcode(cls):
53
53
  f = TestFile()
54
54
  f.file_name = "barcodes.docx"
55
- f.folder = "words\\docx\\"
55
+ f.folder = "words/docx/"
56
56
  return f
57
57
 
58
58
  @classmethod
59
59
  def one_page(cls):
60
60
  f = TestFile()
61
61
  f.file_name = "one-page.docx"
62
- f.folder = "words\\docx\\"
62
+ f.folder = "words/docx/"
63
63
  return f
64
64
 
65
65
  @classmethod
66
66
  def template_document_docx(cls):
67
67
  f = TestFile()
68
68
  f.file_name = "template-document.docx"
69
- f.folder = "words\\docx\\"
69
+ f.folder = "words/docx/"
70
70
  return f
71
71
 
72
72
  @classmethod
73
73
  def formatted_document(cls):
74
74
  f = TestFile()
75
75
  f.file_name = "formatted-document.docx"
76
- f.folder = "words\\docx\\"
76
+ f.folder = "words/docx/"
77
77
  return f
78
78
 
79
79
  @classmethod
80
80
  def encoding_detection(cls):
81
81
  f = TestFile()
82
82
  f.file_name = "encoding-detection.txt"
83
- f.folder = "words\\txt\\"
83
+ f.folder = "words/txt/"
84
84
  return f
85
85
 
86
86
  @classmethod
87
87
  def zip(cls):
88
88
  f = TestFile()
89
89
  f.file_name = "docx.zip"
90
- f.folder = "containers\\archive\\"
90
+ f.folder = "containers/archive/"
91
91
  return f
92
92
 
93
93
  @classmethod
94
94
  def zip_with_email_image_pdf(cls):
95
95
  f = TestFile()
96
96
  f.file_name = "zip-eml-jpg-pdf.zip"
97
- f.folder = "containers\\archive\\"
97
+ f.folder = "containers/archive/"
98
98
  return f
99
99
 
100
100
  @classmethod
101
101
  def jpeg_file(cls):
102
102
  f = TestFile()
103
103
  f.file_name = "document.jpeg"
104
- f.folder = "image\\jpeg\\"
104
+ f.folder = "image/jpeg/"
105
105
  return f
106
106
 
107
107
  @classmethod
108
108
  def image_and_attachment(cls):
109
109
  f = TestFile()
110
110
  f.file_name = "embedded-image-and-attachment.eml"
111
- f.folder = "email\\eml\\"
111
+ f.folder = "email/eml/"
112
112
  return f
113
113
 
114
114
  @classmethod
115
115
  def pdf_container(cls):
116
116
  f = TestFile()
117
117
  f.file_name = "PDF with attachements.pdf"
118
- f.folder = "pdf\\"
118
+ f.folder = "pdf/"
119
119
  f.password = "password"
120
120
  return f
121
121
 
@@ -123,42 +123,42 @@ class TestFile:
123
123
  def pdf(cls):
124
124
  f = TestFile()
125
125
  f.file_name = "template-document.pdf"
126
- f.folder = "pdf\\"
126
+ f.folder = "pdf/"
127
127
  return f
128
128
 
129
129
  @classmethod
130
130
  def rar(cls):
131
131
  f = TestFile()
132
132
  f.file_name = "sample.rar"
133
- f.folder = "containers\\archive\\"
133
+ f.folder = "containers/archive/"
134
134
  return f
135
135
 
136
136
  @classmethod
137
137
  def tar(cls):
138
138
  f = TestFile()
139
139
  f.file_name = "sample.tar"
140
- f.folder = "containers\\archive\\"
140
+ f.folder = "containers/archive/"
141
141
  return f
142
142
 
143
143
  @classmethod
144
144
  def md(cls):
145
145
  f = TestFile()
146
146
  f.file_name = "sample.md"
147
- f.folder = "words\\docx\\"
147
+ f.folder = "words/docx/"
148
148
  return f
149
149
 
150
150
  @classmethod
151
151
  def video(cls):
152
152
  f = TestFile()
153
153
  f.file_name = "sample.avi"
154
- f.folder = "video\\avi\\"
154
+ f.folder = "video/avi/"
155
155
  return f
156
156
 
157
157
  @classmethod
158
158
  def not_exist(cls):
159
159
  f = TestFile()
160
160
  f.file_name = "file-not-exist.pdf"
161
- f.folder = "folder\\"
161
+ f.folder = "folder/"
162
162
  return f
163
163
 
164
164
  @classmethod
@@ -166,6 +166,7 @@ class TestFile:
166
166
  return [
167
167
  cls.password_protected(),
168
168
  cls.four_pages(),
169
+ cls.barcode(),
169
170
  cls.one_page(),
170
171
  cls.template_document_docx(),
171
172
  cls.formatted_document(),
@@ -178,7 +179,8 @@ class TestFile:
178
179
  cls.pdf_container(),
179
180
  cls.rar(),
180
181
  cls.tar(),
181
- cls.md()
182
+ cls.md(),
183
+ cls.video(),
182
184
  ]
183
185
 
184
186
  def ToFileInfo(self):