Skip to content

Commit 16f7af2

Browse files
authored
Merge pull request #101 from rogers-obrien-rad/feature/no-ref/file-filtering
Feature/no ref/file filtering
2 parents 39ef470 + 6448f4a commit 16f7af2

6 files changed

Lines changed: 165 additions & 73 deletions

File tree

CHANGELOG.md

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,14 @@
11
# Changelog
22

3-
## [0.6.2] - 2025-05-13
3+
## [0.6.3] - 2025-05-13
44

55
### Added
66
* `documents.files`: add `view` parameter to `get()` and `search()` methods
7+
* `documents.files`: add `file_types` parameter to `get()` and `search()` methods
8+
* `documents.files`: add `private` parameter to `get()` method
9+
10+
### Changed
11+
* `base`: remove debug print statements
712

813
## [0.6.1] - 2025-05-07
914

ProPyCore/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,4 +3,4 @@
33
from .exceptions import *
44
from .procore import Procore
55

6-
__version__ = "0.6.2"
6+
__version__ = "0.6.3"

ProPyCore/access/base.py

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -43,19 +43,14 @@ def get_request(self, api_url, additional_headers=None, params=None):
4343
if params is None:
4444
url = self.__server_url + api_url
4545
else:
46-
url = self.__server_url + api_url + "?" + urllib.parse.urlencode(params)
46+
url = self.__server_url + api_url + "?" + urllib.parse.urlencode(params, doseq=True)
4747

4848
headers = {"Authorization": f"Bearer {self.__access_token}"}
4949
if additional_headers is not None:
5050
for key, value in additional_headers.items():
5151
headers[key] = value
5252

5353
response = requests.get(url, headers=headers)
54-
'''
55-
print(f"Request URL: {response.request.url}")
56-
print(f"Request Headers: {response.request.headers}")
57-
print(f"Request Response: {response.json()}")
58-
'''
5954

6055
if response.ok:
6156
return response.json()

ProPyCore/access/documents/files.py

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -225,7 +225,7 @@ def remove(self, company_id, project_id, doc_id):
225225

226226
return doc_info
227227

228-
def get(self, company_id, project_id, folder_id=None, view="normal"):
228+
def get(self, company_id, project_id, folder_id=None, view="normal", file_types=None):
229229
"""
230230
Gets all documents in a project.
231231
@@ -239,6 +239,8 @@ def get(self, company_id, project_id, folder_id=None, view="normal"):
239239
ID of parent folder.
240240
view : str, default "normal"
241241
View to use for the request: "normal" or "extended"
242+
file_types : list of str, default None
243+
List of file type extensions to filter by.
242244
243245
Returns
244246
-------
@@ -258,9 +260,12 @@ def get(self, company_id, project_id, folder_id=None, view="normal"):
258260
"per_page": 10000,
259261
"filters[document_type]": doc_type,
260262
"filters[is_in_recycle_bin]": False,
263+
"filters[private]": False,
261264
}
262265
if folder_id is not None:
263266
params["filters[folder_id]"] = folder_id
267+
if file_types is not None:
268+
params["filters[file_type]"] = file_types
264269

265270
headers = {
266271
"Procore-Company-Id": f"{company_id}",
@@ -288,7 +293,7 @@ def get(self, company_id, project_id, folder_id=None, view="normal"):
288293
f"from Parent ID {folder_id if folder_id is not None else 'Root'}",
289294
)
290295

291-
def search(self, company_id, project_id, value, folder_id=None, view="normal"):
296+
def search(self, company_id, project_id, value, folder_id=None, view="normal", file_types=[]):
292297
"""
293298
Searches through all available files to find the closest match to the given value.
294299
@@ -302,6 +307,8 @@ def search(self, company_id, project_id, value, folder_id=None, view="normal"):
302307
Search criteria.
303308
folder_id : int, default None
304309
ID of parent folder.
310+
file_types : list of str, default []
311+
List of file type extensions to filter by.
305312
306313
Returns
307314
-------
@@ -313,6 +320,7 @@ def search(self, company_id, project_id, value, folder_id=None, view="normal"):
313320
project_id=project_id,
314321
folder_id=folder_id,
315322
view=view,
323+
file_types=file_types,
316324
)
317325

318326
doc_type = self.endpoint.split("/")[-1][:-1]

setup.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212

1313
setup(
1414
name="ProPyCore",
15-
version="0.6.2",
15+
version="0.6.3",
1616
author="Hagen E. Fritz",
1717
author_email="hfritz@r-o.com",
1818
description="Interact with Procore through Python for data connection applications",

0 commit comments

Comments
 (0)