|
14 | 14 | ApiComponent,
|
15 | 15 | OneDriveWellKnowFolderNames,
|
16 | 16 | Pagination,
|
| 17 | + ExperimentalQuery, |
| 18 | + CompositeFilter |
17 | 19 | )
|
18 | 20 |
|
19 | 21 | log = logging.getLogger(__name__)
|
@@ -1185,9 +1187,14 @@ def get_child_folders(self, limit=None, *, query=None, order_by=None, batch=None
|
1185 | 1187 |
|
1186 | 1188 | if query:
|
1187 | 1189 | if not isinstance(query, str):
|
1188 |
| - query = query.on_attribute('folder').unequal(None) |
| 1190 | + if isinstance(query, CompositeFilter): |
| 1191 | + q = ExperimentalQuery(protocol=self.protocol) |
| 1192 | + query = query & q.unequal('folder', None) |
| 1193 | + else: |
| 1194 | + query = query.on_attribute('folder').unequal(None) |
1189 | 1195 | else:
|
1190 |
| - query = self.q('folder').unequal(None) |
| 1196 | + q = ExperimentalQuery(protocol=self.protocol) |
| 1197 | + query = q.unequal('folder', None) |
1191 | 1198 |
|
1192 | 1199 | return self.get_items(limit=limit, query=query, order_by=order_by, batch=batch)
|
1193 | 1200 |
|
@@ -1584,11 +1591,6 @@ def _base_get_list(self, url, limit=None, *, query=None, order_by=None,
|
1584 | 1591 | params['$orderby'] = order_by
|
1585 | 1592 |
|
1586 | 1593 | if query:
|
1587 |
| - # if query.has_filters: |
1588 |
| - # warnings.warn( |
1589 |
| - # 'Filters are not allowed by the Api Provider ' |
1590 |
| - # 'in this method') |
1591 |
| - # query.clear_filters() |
1592 | 1594 | if isinstance(query, str):
|
1593 | 1595 | params['$filter'] = query
|
1594 | 1596 | else:
|
@@ -1650,11 +1652,16 @@ def get_child_folders(self, limit=None, *, query=None, order_by=None, batch=None
|
1650 | 1652 | :return: folder items in this folder
|
1651 | 1653 | :rtype: generator of DriveItem or Pagination
|
1652 | 1654 | """
|
1653 |
| - |
1654 | 1655 | if query:
|
1655 |
| - query = query.on_attribute('folder').unequal(None) |
| 1656 | + if not isinstance(query, str): |
| 1657 | + if isinstance(query, CompositeFilter): |
| 1658 | + q = ExperimentalQuery(protocol=self.protocol) |
| 1659 | + query = query & q.unequal('folder', None) |
| 1660 | + else: |
| 1661 | + query = query.on_attribute('folder').unequal(None) |
1656 | 1662 | else:
|
1657 |
| - query = self.q('folder').unequal(None) |
| 1663 | + q = ExperimentalQuery(protocol=self.protocol) |
| 1664 | + query = q.unequal('folder', None) |
1658 | 1665 |
|
1659 | 1666 | return self.get_items(limit=limit, query=query, order_by=order_by, batch=batch)
|
1660 | 1667 |
|
|
0 commit comments