From 23c1489b203cc91b37d3a3d10365e04393272390 Mon Sep 17 00:00:00 2001 From: Philipp Verpoort Date: Fri, 6 Jun 2025 11:50:25 +0200 Subject: [PATCH 1/2] Passing classifying vars and keys on as parameters. --- src/pystatis/table.py | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/src/pystatis/table.py b/src/pystatis/table.py index 77f2c5c..ea4c03c 100644 --- a/src/pystatis/table.py +++ b/src/pystatis/table.py @@ -41,6 +41,12 @@ def get_data( stand: str = "", language: str = "de", quality: str = "off", + classifyingvariable1: str = "", + classifyingkey1: str = "", + classifyingvariable2: str = "", + classifyingkey2: str = "", + classifyingvariable3: str = "", + classifyingkey3: str = "", ) -> None: """Downloads raw data and metadata from GENESIS-Online. @@ -142,6 +148,19 @@ def get_data( "format": "ffcsv", } + if classifyingvariable1: + params['classifyingvariable1'] = classifyingvariable1 + if classifyingkey1: + params['classifyingkey1'] = classifyingkey1 + if classifyingvariable2: + params['classifyingvariable2'] = classifyingvariable2 + if classifyingkey2: + params['classifyingkey2'] = classifyingkey2 + if classifyingvariable3: + params['classifyingvariable3'] = classifyingvariable3 + if classifyingkey3: + params['classifyingkey3'] = classifyingkey3 + db_matches = db.identify_db_matches(self.name) db_name = db.select_db_by_credentials(db_matches) From 4400e81933afb6f50014ddc674dd0e44ba36519e Mon Sep 17 00:00:00 2001 From: MarcoHuebner Date: Sun, 14 Sep 2025 12:22:50 +0200 Subject: [PATCH 2/2] Add docstrings, fix format --- src/pystatis/table.py | 57 +++++++++++++++++++++++++++++++++---------- 1 file changed, 44 insertions(+), 13 deletions(-) diff --git a/src/pystatis/table.py b/src/pystatis/table.py index ea4c03c..f57441f 100644 --- a/src/pystatis/table.py +++ b/src/pystatis/table.py @@ -47,6 +47,10 @@ def get_data( classifyingkey2: str = "", classifyingvariable3: str = "", classifyingkey3: str = "", + classifyingvariable4: str = "", + classifyingkey4: str = "", + classifyingvariable5: str = "", + classifyingkey5: str = "", ) -> None: """Downloads raw data and metadata from GENESIS-Online. @@ -133,6 +137,36 @@ def get_data( The explanation of the quality labels can be found online after retrieving the table values, table -> explanation of symbols or at e.g. https://www-genesis.destatis.de/genesis/online?operation=ergebnistabelleQualitaet&language=en&levelindex=3&levelid=1719342760835#abreadcrumb. + classifyingvariable1 (str, optional): Code of the first subject classification + (Sachklassifikation, SK-Merkmal) to which the selection using classifyingkey1 is applied." + Accepts 1-6 characters. + classifyingkey1 (str, optional): Key of the first classification variable. + Multiple values can be passed as a comma-separated list. + Accepts 1-15 characters. "*" can be used as wildcard. + classifyingvariable2 (str, optional): Code of the second subject classification + (Sachklassifikation, SK-Merkmal) to which the selection using classifyingkey2 is applied." + Accepts 1-6 characters. + classifyingkey2 (str, optional): Key of the second classification variable. + Multiple values can be passed as a comma-separated list. + Accepts 1-15 characters. "*" can be used as wildcard. + classifyingvariable3 (str, optional): Code of the third subject classification + (Sachklassifikation, SK-Merkmal) to which the selection using classifyingkey3 is applied." + Accepts 1-6 characters. + classifyingkey3 (str, optional): Key of the third classification variable. + Multiple values can be passed as a comma-separated list. + Accepts 1-15 characters. "*" can be used as wildcard. + classifyingvariable4 (str, optional): Code of the fourth subject classification + (Sachklassifikation, SK-Merkmal) to which the selection using classifyingkey4 is applied." + Accepts 1-6 characters. + classifyingkey4 (str, optional): Key of the fourth classification variable. + Multiple values can be passed as a comma-separated list. + Accepts 1-15 characters. "*" can be used as wildcard. + classifyingvariable5 (str, optional): Code of the fifth subject classification + (Sachklassifikation, SK-Merkmal) to which the selection using classifyingkey5 is applied." + Accepts 1-6 characters. + classifyingkey5 (str, optional): Key of the fifth classification variable. + Multiple values can be passed as a comma-separated list. + Accepts 1-15 characters. "*" can be used as wildcard. """ params = { "name": self.name, @@ -146,21 +180,18 @@ def get_data( "language": language, "quality": quality, "format": "ffcsv", + "classifyingvariable1": classifyingvariable1, + "classifyingkey1": classifyingkey1, + "classifyingvariable2": classifyingvariable2, + "classifyingkey2": classifyingkey2, + "classifyingvariable3": classifyingvariable3, + "classifyingkey3": classifyingkey3, + "classifyingvariable4": classifyingvariable4, + "classifyingkey4": classifyingkey4, + "classifyingvariable5": classifyingvariable5, + "classifyingkey5": classifyingkey5, } - if classifyingvariable1: - params['classifyingvariable1'] = classifyingvariable1 - if classifyingkey1: - params['classifyingkey1'] = classifyingkey1 - if classifyingvariable2: - params['classifyingvariable2'] = classifyingvariable2 - if classifyingkey2: - params['classifyingkey2'] = classifyingkey2 - if classifyingvariable3: - params['classifyingvariable3'] = classifyingvariable3 - if classifyingkey3: - params['classifyingkey3'] = classifyingkey3 - db_matches = db.identify_db_matches(self.name) db_name = db.select_db_by_credentials(db_matches)