mage.api_resources.abstract.filterable_api_resource module¶
-
class
mage.api_resources.abstract.filterable_api_resource.Filter(cls=None, **params)¶ Bases:
mage.api_resources.abstract.filterable_api_resource.ListFilter,mage.api_resources.abstract.filterable_api_resource.SearchFilterThis class is the generic filter class. Choosing certain methods like
SearchFilter.sortlimits future method calls toSearchFilterwhile other calls likeListFilter.containslimits toListFilter.-
auto_paging_iter()¶ Refer to
ListObject.auto_paging_iter.
-
-
class
mage.api_resources.abstract.filterable_api_resource.FilterBase(cls=None, **params)¶ Bases:
objectThis class contains the common filters shared between list and search. Actions default to list.
-
between(**kwargs)¶ Filter by a range of values. Alias for
range.Example
>>> import mage >>> mage.connect() >>> list(mage.AssessmentRun.between(score=[60, 70]))
-
eq(**kwargs)¶ Filters on equalty.
Example
>>> import mage >>> mage.connect() >>> mage.Assessment.eq(name='My Test')[0]
-
gt(**kwargs)¶ Filters greater than a value.
Example
>>> import mage >>> mage.connect() >>> list(mage.AssessmentRun.gt(score=60))
-
gte(**kwargs)¶ Filters greater than or equal to a value.
Example
>>> import mage >>> mage.connect() >>> list(mage.AssessmentRun.gte(score=60))
-
limit(count)¶ Limits the results returned from the query to a maximum number of records.
- Parameters
count (int) – Max number of results to return
Example
>>> import mage >>> mage.connect() >>> list(mage.Finding.limit(10))
-
lt(**kwargs)¶ Filters less than a value.
Example
>>> import mage >>> mage.connect() >>> list(mage.AssessmentRun.lt(score=60))
-
lte(**kwargs)¶ Filters less than or equal to a value.
Example
>>> import mage >>> mage.connect() >>> list(mage.AssessmentRun.lte(score=60))
-
ne(**kwargs)¶ Filters on unequalty.
Example
>>> import mage >>> mage.connect() >>> mage.Assessment.ne(name='My Test')
-
classmethod
normalize_list_filters(params)¶
-
classmethod
normalize_search_filters(params)¶
-
range(**kwargs)¶ Filter by a range of values. Alias for
between.Example
>>> import mage >>> mage.connect() >>> list(mage.AssessmentRun.range(score=[60, 70]))
-
select(*params, **kwparams)¶ Select specific fields to return from the query.
- Parameters
*params – array of strings
**kwparams – Filter instances to select nested fields
Example
>>> import mage >>> mage.connect() >>> mage.AssessmentRun.select('id', 'score').last()[0]
-
-
class
mage.api_resources.abstract.filterable_api_resource.FilterableAPIResource¶ Bases:
objectInherit this class to provide filtering on queries.
-
classmethod
begins_with(**kwargs)¶ Refer to
ListFilter.begins_with.
-
classmethod
between(**kwargs)¶ Refer to
FilterBase.between. Alias:FilterBase.range.
-
classmethod
contains(**kwargs)¶ Refer to
ListFilter.contains.
-
classmethod
eq(**kwargs)¶ Refer to
FilterBase.eq.
-
classmethod
first(count=1, field=None)¶ Refer to
SearchFilter.first.
-
classmethod
gt(**kwargs)¶ Refer to
FilterBase.gt.
-
classmethod
gte(**kwargs)¶ Refer to
FilterBase.gte.
-
classmethod
last(count=1, field=None)¶ Refer to
SearchFilter.last.
-
classmethod
limit(count)¶ Refer to
FilterBase.limit.
-
classmethod
lt(**kwargs)¶ Refer to
FilterBase.lt.
-
classmethod
lte(**kwargs)¶ Refer to
FilterBase.lte.
-
classmethod
match(**kwargs)¶ Refer to
SearchFilter.match.
-
classmethod
match_phrase(**kwargs)¶ Refer to
SearchFilter.match_phrase.
-
classmethod
match_phrase_prefix(**kwargs)¶ Refer to
SearchFilter.match_phrase_prefix.
-
classmethod
ne(**kwargs)¶ Refer to
FilterBase.ne.
-
classmethod
not_contains(**kwargs)¶ Refer to
ListFilter.not_contains.
-
classmethod
range(**kwargs)¶ Refer to
FilterBase.range. Alias:FilterBase.between.
-
classmethod
regexp(**kwargs)¶ Refer to
SearchFilter.regexp.
-
classmethod
select(*params, **kwparams)¶ Refer to
FilterBase.select.
-
classmethod
sort(field='created_at')¶ Refer to
SearchFilter.sort.
-
classmethod
sort_desc(field='created_at')¶ Refer to
SearchFilter.sort_desc.
-
classmethod
wildcard(**kwargs)¶ Refer to
SearchFilter.wildcard.
-
classmethod
-
class
mage.api_resources.abstract.filterable_api_resource.ListFilter(cls=None, **params)¶ Bases:
mage.api_resources.abstract.filterable_api_resource.FilterBase-
auto_paging_iter()¶ Refer to
ListObject.auto_paging_iter.
-
begins_with(**kwargs)¶ Filters based on the start of a string.
Example
>>> import mage >>> mage.connect() >>> list(mage.Asset.begins_with(asset_identifier='www.'))
-
contains(**kwargs)¶ -
Example
>>> import mage >>> mage.connect() >>> list(mage.Assessment.contains(name='web'))
-
not_contains(**kwargs)¶ -
Example
>>> import mage >>> mage.connect() >>> list(mage.Assessment.not_contains(name='database'))
-
-
class
mage.api_resources.abstract.filterable_api_resource.SearchFilter(cls=None, **params)¶ Bases:
mage.api_resources.abstract.filterable_api_resource.FilterBase-
auto_paging_iter()¶ Refer to
ListObject.auto_paging_iter.
-
first(count=1, field=None)¶ Sorts ascending and limits the results.
- Parameters
count (int, optional) – Maximum number of records to return
field (str, optional) – Field to sort on
Example
>>> import mage >>> mage.connect() >>> mage.AssessmentRun.first(10).search()
-
last(count=1, field=None)¶ Sorts descending and limits the results.
- Parameters
count (int, optional) – Maximum number of records to return
field (str, optional) – Field to sort on
Example
>>> import mage >>> mage.connect() >>> list(mage.AssessmentRun.last(10))
-
match(**kwargs)¶ Filters case insensitive text.
Reference https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-match-query.html.
Example
>>> import mage >>> mage.connect() >>> mage.Assessment.match(name='web')
-
match_phrase(**kwargs)¶ Reference https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-match-query-phrase.html.
-
match_phrase_prefix(**kwargs)¶
-
regexp(**kwargs)¶ Filters results with regular expressions. Attempting to match across spaces won’t work because the expression is tested word by word.
Reference https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-regexp-query.html
Example
>>> import mage >>> mage.connect() >>> list(mage.Asset.regexp(asset_identifier='.*.example.com').select('asset_identifier'))
-
sort(field=None)¶ Sorts ascending.
- Parameters
field (str, optional) – Field to sort on
Example
>>> import mage >>> mage.connect() >>> mage.AssessmentRun.sort().search()
-
sort_desc(field=None)¶ Sorts descending.
- Parameters
field (str, optional) – Field to sort on
Example
>>> import mage >>> mage.connect() >>> mage.AssessmentRun.sort_desc().search()
-
wildcard(**kwargs)¶ Filters with single (?) or multiple (*) wildcards, matching single words. Use lowercase text.
Reference https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-wildcard-query.html.
Example
>>> import mage >>> mage.connect() >>> list(mage.Asset.regexp(asset_identifier='*.example.com').select('asset_identifier'))
-