From f38728450d04b1ef17bdcc9b54c025d95a9eb659 Mon Sep 17 00:00:00 2001 From: Tim Date: Sun, 5 Nov 2023 16:12:38 +0100 Subject: [PATCH] now ruff confirm --- .../ui/archive/networkx_dash_overall.py | 14 ++---- .../ui/pages/home.py | 45 ++++++++++--------- .../utils/networkx/network_2d.py | 5 ++- .../utils/networkx/networkx_data.py | 24 ++++++---- tests/ui/networkx_dash_test.py | 4 +- tests/utils/networkx/network_2d_test.py | 11 +++-- tests/utils/networkx/network_3d_test.py | 14 +++--- tests/utils/networkx/network_base_test.py | 11 +++-- tests/utils/networkx/networkx_data_test.py | 14 +++--- 9 files changed, 78 insertions(+), 64 deletions(-) diff --git a/src/aki_prj23_transparenzregister/ui/archive/networkx_dash_overall.py b/src/aki_prj23_transparenzregister/ui/archive/networkx_dash_overall.py index bbcc34d..5bedccd 100644 --- a/src/aki_prj23_transparenzregister/ui/archive/networkx_dash_overall.py +++ b/src/aki_prj23_transparenzregister/ui/archive/networkx_dash_overall.py @@ -56,12 +56,9 @@ def find_all_company_relations() -> pd.DataFrame: # Plotly figure -def network_graph() -> go.Figure: +def create_network_graph() -> go.Figure: """Create a NetworkX Graph. - Args: - EGDE_VAR (None): _description_ - Returns: go.Figure: _description_ """ @@ -175,16 +172,13 @@ app.layout = html.Div( # Input('metric-dropdown', 'value'), [Input("EGDE_VAR", "value")], ) -def update_output(edge_var: None) -> go.Figure: +def update_output() -> go.Figure: """Just Returns the go Figure of Plotly. - Args: - EGDE_VAR (None): _description_ - Returns: - go.Figure: _description_ + go.Figure: Returns a HTML Figure for Plotly. """ - return network_graph(edge_var) + return create_network_graph() if __name__ == "__main__": diff --git a/src/aki_prj23_transparenzregister/ui/pages/home.py b/src/aki_prj23_transparenzregister/ui/pages/home.py index b445506..cbede66 100644 --- a/src/aki_prj23_transparenzregister/ui/pages/home.py +++ b/src/aki_prj23_transparenzregister/ui/pages/home.py @@ -383,10 +383,15 @@ def update_figure( # noqa: PLR0913 """In this Callback the Value of the Dropdown is used to filter the Data. In Addition it takes the filter for the Graph metrics and creates a new graph, or switches between 3D and 2D. Args: - selected_metric (_type_): _description_ - switch_value (bool): _description_ - c_relation_filter_value (_type_): _description_ - p_relation_filter_value (_type_): _description_ + selected_metric (_type_): Selected Value + switch_value (bool): True if 2D, False if 3D + switch_edge_annotaion_value: True if Edge should have a description, Flase = No Descritpion + c_relation_filter_value (_type_): Variable with String value of Relation Type for Companies + p_relation_filter_value (_type_): Variable with String value of Relation Type for Persons + layout: String of the Layout Dropdown + metric_dropdown_value: String of the Metric Dropdown + slider_value: Sets the size of the Edge Connections + Returns: Network Graph(Plotly Figure): Plotly Figure in 3 or 2D @@ -415,21 +420,21 @@ def update_figure( # noqa: PLR0913 slider_value, # type: ignore ), ) - else: - return ( - table_dict, - table_columns, - create_3d_graph( - graph, - nodes, - edges, - metrics, - selected_metric, - layout, - switch_edge_annotaion_value, - slider_value, # type: ignore - ), - ) + + return ( + table_dict, + table_columns, + create_3d_graph( + graph, + nodes, + edges, + metrics, + selected_metric, + layout, + switch_edge_annotaion_value, + slider_value, # type: ignore + ), + ) @callback( @@ -438,7 +443,7 @@ def update_figure( # noqa: PLR0913 Input("dropdown_data_soruce_filter", "value"), ], ) -def update_Dropdown(datasource_value: str) -> str: +def update_dropdown(datasource_value: str) -> str: """_summary_. Args: diff --git a/src/aki_prj23_transparenzregister/utils/networkx/network_2d.py b/src/aki_prj23_transparenzregister/utils/networkx/network_2d.py index 15f3af2..9916cc3 100644 --- a/src/aki_prj23_transparenzregister/utils/networkx/network_2d.py +++ b/src/aki_prj23_transparenzregister/utils/networkx/network_2d.py @@ -5,7 +5,7 @@ import pandas as pd import plotly.graph_objects as go -def create_2d_graph( +def create_2d_graph( # noqa PLR0913 graph: nx.Graph, nodes: dict, edges: list, @@ -23,6 +23,9 @@ def create_2d_graph( edges (_type_): List of Edges metrics (_type_): DataFrame with the MEtrics metric (_type_): Selected Metric + edge_annotation: Enables the Description of Edges + edge_thickness: Int Value of the Edge thickness + layout: String which defines the Graph Layout Returns: _type_: Plotly Figure diff --git a/src/aki_prj23_transparenzregister/utils/networkx/networkx_data.py b/src/aki_prj23_transparenzregister/utils/networkx/networkx_data.py index e2f3239..e06b83b 100644 --- a/src/aki_prj23_transparenzregister/utils/networkx/networkx_data.py +++ b/src/aki_prj23_transparenzregister/utils/networkx/networkx_data.py @@ -277,6 +277,14 @@ def create_edge_and_node_list( def find_company_relations( selected_company_id: int, ) -> tuple[pd.DataFrame, pd.DataFrame]: + """Finds all Relations for the given Company id. + + Args: + selected_company_id: Id of the Company which Relations should be returned. + + Returns: + Two Dataframes + """ relations_company_query = ( session.query( to_company.id.label("id_company_to"), @@ -343,16 +351,14 @@ def create_edge_and_node_list_for_company( nodes: dict = {} edges: list = [] - COLOR_COMPANY = "blue" - - for _index, row in company_relations.iterrows(): - if node := nodes.get(row["id_company_from"]) is None: + for _, row in company_relations.iterrows(): + if nodes.get(row["id_company_from"]) is None: nodes[row["id_company_from"]] = { "id": row["id_company_from"], "name": row["name_company_from"], "color": COLOR_COMPANY, } - if node := nodes.get(row["id_company_to"]) is None: + if nodes.get(row["id_company_to"]) is None: nodes[row["id_company_to"]] = { "id": row["id_company_to"], "name": row["name_company_to"], @@ -369,10 +375,10 @@ def create_edge_and_node_list_for_company( def get_all_metrics_from_id(company_id: int) -> pd.Series: - """_summary_ + """Returns all Metric for the given ID. Args: - company_id (int): _description_ + company_id (int): Id of the Company. Returns: pd.DataFrame: _description_ @@ -391,10 +397,10 @@ def get_all_metrics_from_id(company_id: int) -> pd.Series: @lru_cache def get_relations_number_from_id(id: str) -> tuple[int, int, int]: - """_summary_ + """Returns all Relation in 1, 2 and 3 lvl of one Node. Args: - company_id (int): _description_ + id (int): String of the Company or Person Id. Returns: tuple[int,int,int]: _description_ diff --git a/tests/ui/networkx_dash_test.py b/tests/ui/networkx_dash_test.py index c9b48c2..8264166 100644 --- a/tests/ui/networkx_dash_test.py +++ b/tests/ui/networkx_dash_test.py @@ -1,7 +1,7 @@ """Test for the NetworkX Component.""" -from aki_prj23_transparenzregister.ui import networkx_dash +from aki_prj23_transparenzregister.ui.archive import networkx_dash -def network_graph(Edges: None) -> None: +def network_graph(edges: None) -> None: """Checks if an import co company_stats_dash can be made.""" assert networkx_dash is not None diff --git a/tests/utils/networkx/network_2d_test.py b/tests/utils/networkx/network_2d_test.py index 88199ed..d4fb39b 100644 --- a/tests/utils/networkx/network_2d_test.py +++ b/tests/utils/networkx/network_2d_test.py @@ -29,7 +29,10 @@ def test_initialize_network() -> None: graph, metrics = initialize_network(edges=edges, nodes=nodes) assert type(graph) is nx.Graph assert type(metrics) is pd.DataFrame - assert ( - list(metrics.columns) - == ["degree", "eigenvector", "betweeness", "closeness", "pagerank"], - ) + assert list(metrics.columns) == [ + "degree", + "eigenvector", + "betweeness", + "closeness", + "pagerank", + ] diff --git a/tests/utils/networkx/network_3d_test.py b/tests/utils/networkx/network_3d_test.py index ed2fd00..d4fb39b 100644 --- a/tests/utils/networkx/network_3d_test.py +++ b/tests/utils/networkx/network_3d_test.py @@ -1,14 +1,11 @@ """Test the initialize Network function.""" import datetime -from unittest import TestCase import networkx as nx import pandas as pd from aki_prj23_transparenzregister.utils.networkx.network_base import initialize_network -tc = TestCase() - def test_initialize_network() -> None: edges: list = [ @@ -32,7 +29,10 @@ def test_initialize_network() -> None: graph, metrics = initialize_network(edges=edges, nodes=nodes) assert type(graph) is nx.Graph assert type(metrics) is pd.DataFrame - tc.assertListEqual( - list(metrics.columns), - ["degree", "eigenvector", "betweeness", "closeness", "pagerank"], - ) + assert list(metrics.columns) == [ + "degree", + "eigenvector", + "betweeness", + "closeness", + "pagerank", + ] diff --git a/tests/utils/networkx/network_base_test.py b/tests/utils/networkx/network_base_test.py index 2641cef..1a880e3 100644 --- a/tests/utils/networkx/network_base_test.py +++ b/tests/utils/networkx/network_base_test.py @@ -31,7 +31,10 @@ def test_initialize_network() -> None: graph, metrics = initialize_network(edges=edges, nodes=nodes) assert isinstance(graph, nx.Graph) assert isinstance(metrics, pd.DataFrame) - assert ( - list(metrics.columns) - == ["degree", "eigenvector", "betweeness", "closeness", "pagerank"], - ) + assert list(metrics.columns) == [ + "degree", + "eigenvector", + "betweeness", + "closeness", + "pagerank", + ] diff --git a/tests/utils/networkx/networkx_data_test.py b/tests/utils/networkx/networkx_data_test.py index ed2fd00..d4fb39b 100644 --- a/tests/utils/networkx/networkx_data_test.py +++ b/tests/utils/networkx/networkx_data_test.py @@ -1,14 +1,11 @@ """Test the initialize Network function.""" import datetime -from unittest import TestCase import networkx as nx import pandas as pd from aki_prj23_transparenzregister.utils.networkx.network_base import initialize_network -tc = TestCase() - def test_initialize_network() -> None: edges: list = [ @@ -32,7 +29,10 @@ def test_initialize_network() -> None: graph, metrics = initialize_network(edges=edges, nodes=nodes) assert type(graph) is nx.Graph assert type(metrics) is pd.DataFrame - tc.assertListEqual( - list(metrics.columns), - ["degree", "eigenvector", "betweeness", "closeness", "pagerank"], - ) + assert list(metrics.columns) == [ + "degree", + "eigenvector", + "betweeness", + "closeness", + "pagerank", + ]