mixpeek 0.7.1__py3-none-any.whl → 0.7.2__py3-none-any.whl

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.
@@ -5,31 +5,29 @@ class Index:
5
5
  self.base_url = base_url
6
6
  self.headers = headers
7
7
 
8
- def upload(self, file, collection_id, metadata=None, settings=None):
9
- try:
10
- url = f"{self.base_url}index/upload"
11
- files = {"file": file}
12
- data = {
13
- "collection_id": collection_id,
14
- "metadata": metadata,
15
- "settings": settings
16
- }
17
- response = requests.post(url, files=files, data=data, headers=self.headers)
18
- response.raise_for_status()
19
- return response.json()
20
- except requests.RequestException as e:
21
- return {"error": str(e)}
8
+ def _prepare_data(self, base_data, metadata=None, settings=None):
9
+ if metadata is not None:
10
+ base_data["metadata"] = metadata
11
+ if settings is not None:
12
+ base_data["settings"] = settings
13
+ return base_data
14
+
15
+ # def upload(self, file, collection_id, metadata=None, settings=None):
16
+ # try:
17
+ # api_url = f"{self.base_url}index/upload"
18
+ # files = {"file": file}
19
+ # data = self._prepare_data({"collection_id": collection_id}, metadata, settings)
20
+ # response = requests.post(api_url, files=files, data=data, headers=self.headers)
21
+ # response.raise_for_status()
22
+ # return response.json()
23
+ # except requests.RequestException as e:
24
+ # return {"error": str(e)}
22
25
 
23
- def url(self, url, collection_id, metadata=None, settings=None):
26
+ def url(self, target_url, collection_id, metadata=None, settings=None):
24
27
  try:
25
- url = f"{self.base_url}index/url"
26
- data = {
27
- "url": url,
28
- "collection_id": collection_id,
29
- "metadata": metadata,
30
- "settings": settings
31
- }
32
- response = requests.post(url, json=data, headers=self.headers)
28
+ endpoint = f"{self.base_url}index/url"
29
+ data = self._prepare_data({"url": target_url, "collection_id": collection_id}, metadata, settings)
30
+ response = requests.post(endpoint, json=data, headers=self.headers)
33
31
  response.raise_for_status()
34
32
  return response.json()
35
33
  except requests.RequestException as e:
@@ -37,14 +35,9 @@ class Index:
37
35
 
38
36
  def youtube(self, youtube_video_id, collection_id, metadata=None, settings=None):
39
37
  try:
40
- url = f"{self.base_url}index/youtube"
41
- data = {
42
- "youtube_video_id": youtube_video_id,
43
- "collection_id": collection_id,
44
- "metadata": metadata,
45
- "settings": settings
46
- }
47
- response = requests.post(url, json=data, headers=self.headers)
38
+ api_url = f"{self.base_url}index/youtube"
39
+ data = self._prepare_data({"youtube_video_id": youtube_video_id, "collection_id": collection_id}, metadata, settings)
40
+ response = requests.post(api_url, json=data, headers=self.headers)
48
41
  response.raise_for_status()
49
42
  return response.json()
50
43
  except requests.RequestException as e:
@@ -1,4 +1,6 @@
1
1
  import requests
2
+ import os
3
+ import json
2
4
 
3
5
  class Search:
4
6
  def __init__(self, base_url, headers):
@@ -25,27 +27,32 @@ class Search:
25
27
  except requests.RequestException as e:
26
28
  return {"error": str(e)}
27
29
 
28
- def upload(self, file, filters=None, page=1, page_size=10):
29
- try:
30
- url = f"{self.base_url}search/upload"
31
- files = {"file": file}
32
- data = {
33
- "filters": filters or "{}",
34
- "page": page,
35
- "page_size": page_size
36
- }
37
- response = requests.post(url, files=files, data=data, headers=self.headers)
38
- response.raise_for_status()
39
- return response.json()
40
- except requests.RequestException as e:
41
- return {"error": str(e)}
30
+ # def upload(self, file_path, filters=None, page=1, page_size=10):
31
+ # try:
32
+ # url = f"{self.base_url}search/upload"
33
+
34
+ # filename = os.path.basename(file_path)
35
+ # files = {
36
+ # 'file': (filename, open(file_path, 'rb'), 'application/octet-stream')
37
+ # }
38
+
39
+ # payload = {
40
+ # 'filters': json.dumps(filters or {}),
41
+ # 'page': str(page),
42
+ # 'page_size': str(page_size)
43
+ # }
44
+
45
+ # response = requests.post(url, headers=self.headers, data=payload, files=files)
46
+ # response.raise_for_status()
47
+ # return response.json()
48
+ # except requests.RequestException as e:
49
+ # return {"error": str(e)}
42
50
 
43
- def url(self, url, input_type="file", filters=None, modality="text", page=1, page_size=10):
51
+ def url(self, target_url, filters=None, modality="text", page=1, page_size=10):
44
52
  try:
45
53
  url = f"{self.base_url}search/url"
46
54
  data = {
47
- "url": url,
48
- "input_type": input_type,
55
+ "url": target_url,
49
56
  "filters": filters or {},
50
57
  "modality": modality,
51
58
  "pagination": {
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: mixpeek
3
- Version: 0.7.1
3
+ Version: 0.7.2
4
4
  Summary: Mixpeek Python SDK
5
5
  Home-page: https://github.com/mixpeek/mixpeek-python
6
6
  Author: Ethan Steininger
@@ -4,10 +4,10 @@ mixpeek/exceptions.py,sha256=Orhdo5UFLn3fcWVJtlgkznW8Iy5ndL96h0qTY8zOlDA,235
4
4
  mixpeek/endpoints/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
5
5
  mixpeek/endpoints/collections.py,sha256=ffOBenNHG-mVpjT7kQcOfn78-wjgjdQTVyrloyeAy90,2890
6
6
  mixpeek/endpoints/embed.py,sha256=ybDqyIt0oJiwIdH1QSwuV-CPeJgd-zW0etNAcBdgZYE,2290
7
- mixpeek/endpoints/index.py,sha256=2WcjrRHCMqqj0ddWEkl1f5U81Ni9xKySC1_sdkrhnhM,1857
8
- mixpeek/endpoints/search.py,sha256=fp78miF5bSWTiQn32NMoth9mlLBsj7NfjNzS6HrEz3Q,2170
7
+ mixpeek/endpoints/index.py,sha256=QgMgys1CCukepCpK351aVXRxEsxBfI2YriX7aaH1NrU,1939
8
+ mixpeek/endpoints/search.py,sha256=u3onbss7Llx0AgcTSRtel6bGO5Ly3jvraXPcA26GzsY,2387
9
9
  mixpeek/endpoints/tools.py,sha256=QH3X0tYKr-W_9ApENgP7PeuLJi7Qr9W2jrrgQFH4F2A,3567
10
- mixpeek-0.7.1.dist-info/METADATA,sha256=mbjStU-fvEpahmG3iCgAlOSD5Id6IL8KOEh3sMyUwiA,10585
11
- mixpeek-0.7.1.dist-info/WHEEL,sha256=Mdi9PDNwEZptOjTlUcAth7XJDFtKrHYaQMPulZeBCiQ,91
12
- mixpeek-0.7.1.dist-info/top_level.txt,sha256=EJ8Jc4IhqyUwnUlBwKbs498Ju4O9a-IDh2kXc_lo6Vg,8
13
- mixpeek-0.7.1.dist-info/RECORD,,
10
+ mixpeek-0.7.2.dist-info/METADATA,sha256=d_YN-IkRgs4iNHw6v7dN9qXg1jT46NvpjI74VqPqwKM,10585
11
+ mixpeek-0.7.2.dist-info/WHEEL,sha256=Mdi9PDNwEZptOjTlUcAth7XJDFtKrHYaQMPulZeBCiQ,91
12
+ mixpeek-0.7.2.dist-info/top_level.txt,sha256=EJ8Jc4IhqyUwnUlBwKbs498Ju4O9a-IDh2kXc_lo6Vg,8
13
+ mixpeek-0.7.2.dist-info/RECORD,,