filter

Object to provide a formatted filtering query for retrieving data from a SQL database.

class pdm_utils.classes.filter.Filter(alchemist=None, key=None)

Bases: object

add(filter_string)

Add a MySQL where filter(s) to the Filter object class.

Parameters

filter (str) – Formatted MySQL WHERE clause.

and_(filter)

Add an and conditional to the Filter object class.

Param_filter

Formatted MySQL WHERE clause.

Type_filter

str

build_values(where=None, column=None, raw_bytes=False, limit=8000)

Queries for values from stored WHERE clauses and Filter key.

Parameters
  • where (list) – MySQL WHERE clause_related SQLAlchemy object(s).

  • order_by (list) – MySQL ORDER BY clause-related SQLAlchemy object(s).

  • column (str) – SQLAlchemy Column object or object name.

  • limit (int) – SQLAlchemy IN clause query length limiter.

Returns

Distinct values fetched from given and innate constraints.

Return type

list

build_where_clauses()

Builds BinaryExpression objects from stored Filter object filters.

Returns

A list of SQLAlchemy WHERE conditionals.

Return type

list

check()

Check Filter object contains valid essential objects. Filter object requires a SQLAlchemy Engine and Column as well as a NetworkX Graph.

connect(alchemist=None)

Connect Filter object to a database with an AlchemyHandler.

Parameters

alchemist (AlchemyHandler) – An AlchemyHandler object.

property connected
copy()

Returns a copy of a Filter object.

copy_filters()

Returns a copy of a Filter object’s filter dictionary.

property engine
property filters
get_column(raw_column)

Converts a column input, string or Column, to a Column.

Parameters

raw_column (str) – SQLAlchemy Column object or object name.

get_columns(raw_columns)

Converts a column input list, string or Column, to a list of Columns.

Parameters

raw_column (list[str]) – SQLAlchemy Column object or object name.

Returns

Returns SQLAlchemy Columns

Return type

list[Column]

property graph
group(raw_column, raw_bytes=False, filter=False)

Queries and separates Filter object’s values based on a Column.

Parameters

raw_column (str) – SQLAlchemy Column object or object name.

hits()

Gets the number of a Filter object’s values.

property key

Connect Filter object to a database with an existing AlchemyHandler.

Parameters

alchemist (AlchemyHandler) – An AlchemyHandler object.

property mapper
mass_transpose(raw_columns, raw_bytes=False, filter=False)

Queries for sets of distinct values, using self.transpose()

Parameters

columns (list) – SQLAlchemy Column object(s)

Returns

Distinct values fetched from given and innate restraints.

Return type

dict

new_or_()

Create a new conditional block to the Filter object class.

property or_index
parenthesize()

Condense current filters into an isolated clause

print_results()

Prints the Filter object’s values in a formatted way.

query(table_map)

Queries for ORM object instances conditioned on Filter values.

Parameters

table_map (DeclarativeMeta) – SQLAlchemy ORM map object.

Returns

List of mapped object instances.

Return type

list

refresh()

Re-queries for the Filter’s values.

remove(filter)

Remove an and filter from the current block of and conditionals.

Parameters

filter (str) – Formatted MySQL WHERE clause.

reset()

Resets all filters, values, and Filter state conditions.

reset_filters()

Resets all filters and relevant Filter state condition.

retrieve(raw_columns, raw_bytes=False, filter=False)

Queries for distinct data for each value in the Filter object.

Parameters

columns (list[str]) – SQLAlchemy Column object(s)

Returns

Distinct values for each Filter value.

Return type

dict{dict}

select(raw_columns, return_dict=True)

Queries for data conditioned on the values in the Filter object.

Parameters
  • columns (list[str]) – SQLAlchemy Column object(s)

  • return_dict (Boolean) – Toggle whether to return data as a dictionary.

Returns

SELECT data conditioned on the values in the Filter object.

Return type

dict

Return type

list[RowProxy]

property session
sort(raw_columns)

Re-queries for the Filter’s values, applying a ORDER BY clause.

Parameters

raw_column – SQLAlchemy Column object(s) or object name(s).

transpose(raw_column, return_dict=False, set_values=False, raw_bytes=False, filter=False)

Queries for distinct values from stored values and a MySQL Column.

Parameters
  • raw_column (str) – SQLAlchemy Column object or object name.

  • return_dict (Boolean) – Toggle whether to return data as a dictionary.

  • set_values (Boolean) – Toggle whether to replace Filter key and values.

Returns

Distinct values fetched from given and innate constraints.

Return type

list

Return type

dict

update()

Queries using the Filter’s key and its stored BinaryExpressions.

property updated
property values
property values_valid