| Conditions | 2 |
| Total Lines | 163 |
| Code Lines | 72 |
| Lines | 0 |
| Ratio | 0 % |
| Changes | 0 | ||
Small methods make your code easier to understand, in particular if combined with a good name. Besides, if your method is small, finding a good name is usually much easier.
For example, if you find yourself adding comments to a method's body, this is usually a good sign to extract the commented part to a new method, and use the comment as a starting point when coming up with a good name for this new method.
Commonly applied refactorings include:
If many parameters/temporary variables are present:
| 1 | """The central module containing all code dealing with importing VG250 data. |
||
| 110 | def add_metadata(): |
||
| 111 | """Writes metadata JSON string into table comment.""" |
||
| 112 | # Prepare variables |
||
| 113 | vg250_config = egon.data.config.datasets()["vg250"] |
||
| 114 | |||
| 115 | title_and_description = { |
||
| 116 | "vg250_sta": { |
||
| 117 | "title": "BKG - Verwaltungsgebiete 1:250.000 - Staat (STA)", |
||
| 118 | "description": "Staatsgrenzen der Bundesrepublik Deutschland", |
||
| 119 | }, |
||
| 120 | "vg250_lan": { |
||
| 121 | "title": "BKG - Verwaltungsgebiete 1:250.000 - Länder (LAN)", |
||
| 122 | "description": "Landesgrenzen der Bundesländer in der " |
||
| 123 | "Bundesrepublik Deutschland", |
||
| 124 | }, |
||
| 125 | "vg250_rbz": { |
||
| 126 | "title": "BKG - Verwaltungsgebiete 1:250.000 - Regierungsbezirke " |
||
| 127 | "(RBZ)", |
||
| 128 | "description": "Grenzen der Regierungsbezirke in der " |
||
| 129 | "Bundesrepublik Deutschland", |
||
| 130 | }, |
||
| 131 | "vg250_krs": { |
||
| 132 | "title": "BKG - Verwaltungsgebiete 1:250.000 - Kreise (KRS)", |
||
| 133 | "description": "Grenzen der Landkreise in der " |
||
| 134 | "Bundesrepublik Deutschland", |
||
| 135 | }, |
||
| 136 | "vg250_vwg": { |
||
| 137 | "title": "BKG - Verwaltungsgebiete 1:250.000 - " |
||
| 138 | "Verwaltungsgemeinschaften (VWG)", |
||
| 139 | "description": "Grenzen der Verwaltungsgemeinschaften in der " |
||
| 140 | "Bundesrepublik Deutschland", |
||
| 141 | }, |
||
| 142 | "vg250_gem": { |
||
| 143 | "title": "BKG - Verwaltungsgebiete 1:250.000 - Gemeinden (GEM)", |
||
| 144 | "description": "Grenzen der Gemeinden in der " |
||
| 145 | "Bundesrepublik Deutschland", |
||
| 146 | }, |
||
| 147 | } |
||
| 148 | |||
| 149 | url = vg250_config["original_data"]["source"]["url"] |
||
| 150 | |||
| 151 | # Insert metadata for each table |
||
| 152 | licenses = [ |
||
| 153 | { |
||
| 154 | "title": "Datenlizenz Deutschland – Namensnennung – Version 2.0", |
||
| 155 | "path": "www.govdata.de/dl-de/by-2-0", |
||
| 156 | "instruction": ( |
||
| 157 | "Jede Nutzung ist unter den Bedingungen dieser „Datenlizenz " |
||
| 158 | "Deutschland - Namensnennung - Version 2.0 zulässig.\nDie " |
||
| 159 | "bereitgestellten Daten und Metadaten dürfen für die " |
||
| 160 | "kommerzielle und nicht kommerzielle Nutzung insbesondere:" |
||
| 161 | "(1) vervielfältigt, ausgedruckt, präsentiert, verändert, " |
||
| 162 | "bearbeitet sowie an Dritte übermittelt werden;\n " |
||
| 163 | "(2) mit eigenen Daten und Daten Anderer zusammengeführt und " |
||
| 164 | "zu selbständigen neuen Datensätzen verbunden werden;\n " |
||
| 165 | "(3) in interne und externe Geschäftsprozesse, Produkte und " |
||
| 166 | "Anwendungen in öffentlichen und nicht öffentlichen " |
||
| 167 | "elektronischen Netzwerken eingebunden werden." |
||
| 168 | ), |
||
| 169 | "attribution": "© Bundesamt für Kartographie und Geodäsie", |
||
| 170 | } |
||
| 171 | ] |
||
| 172 | for table in vg250_config["processed"]["file_table_map"].values(): |
||
| 173 | meta = { |
||
| 174 | "title": title_and_description[table]["title"], |
||
| 175 | "description": title_and_description[table]["title"], |
||
| 176 | "language": ["DE"], |
||
| 177 | "spatial": { |
||
| 178 | "location": "", |
||
| 179 | "extent": "Germany", |
||
| 180 | "resolution": "vector", |
||
| 181 | }, |
||
| 182 | "temporal": { |
||
| 183 | "referenceDate": "2020-01-01", |
||
| 184 | "timeseries": { |
||
| 185 | "start": "", |
||
| 186 | "end": "", |
||
| 187 | "resolution": "", |
||
| 188 | "alignment": "", |
||
| 189 | "aggregationType": "", |
||
| 190 | }, |
||
| 191 | }, |
||
| 192 | "sources": [ |
||
| 193 | { |
||
| 194 | "title": "Dienstleistungszentrum des Bundes für " |
||
| 195 | "Geoinformation und Geodäsie - Open Data", |
||
| 196 | "description": "Dieser Datenbestand steht über " |
||
| 197 | "Geodatendienste gemäß " |
||
| 198 | "Geodatenzugangsgesetz (GeoZG) " |
||
| 199 | "(http://www.geodatenzentrum.de/auftrag/pdf" |
||
| 200 | "/geodatenzugangsgesetz.pdf) für die " |
||
| 201 | "kommerzielle und nicht kommerzielle " |
||
| 202 | "Nutzung geldleistungsfrei zum Download " |
||
| 203 | "und zur Online-Nutzung zur Verfügung. Die " |
||
| 204 | "Nutzung der Geodaten und Geodatendienste " |
||
| 205 | "wird durch die Verordnung zur Festlegung " |
||
| 206 | "der Nutzungsbestimmungen für die " |
||
| 207 | "Bereitstellung von Geodaten des Bundes " |
||
| 208 | "(GeoNutzV) (http://www.geodatenzentrum.de" |
||
| 209 | "/auftrag/pdf/geonutz.pdf) geregelt. " |
||
| 210 | "Insbesondere hat jeder Nutzer den " |
||
| 211 | "Quellenvermerk zu allen Geodaten, " |
||
| 212 | "Metadaten und Geodatendiensten erkennbar " |
||
| 213 | "und in optischem Zusammenhang zu " |
||
| 214 | "platzieren. Veränderungen, Bearbeitungen, " |
||
| 215 | "neue Gestaltungen oder sonstige " |
||
| 216 | "Abwandlungen sind mit einem " |
||
| 217 | "Veränderungshinweis im Quellenvermerk zu " |
||
| 218 | "versehen. Quellenvermerk und " |
||
| 219 | "Veränderungshinweis sind wie folgt zu " |
||
| 220 | "gestalten. Bei der Darstellung auf einer " |
||
| 221 | "Webseite ist der Quellenvermerk mit der " |
||
| 222 | "URL http://www.bkg.bund.de zu verlinken. " |
||
| 223 | "© GeoBasis-DE / BKG <Jahr des letzten " |
||
| 224 | "Datenbezugs> © GeoBasis-DE / BKG " |
||
| 225 | "<Jahr des letzten Datenbezugs> " |
||
| 226 | "(Daten verändert) Beispiel: " |
||
| 227 | "© GeoBasis-DE / BKG 2013", |
||
| 228 | "path": url, |
||
| 229 | "licenses": "Geodatenzugangsgesetz (GeoZG)", |
||
| 230 | "copyright": "© GeoBasis-DE / BKG 2016 (Daten verändert)", |
||
| 231 | }, |
||
| 232 | { |
||
| 233 | "title": "BKG - Verwaltungsgebiete 1:250.000 (vg250)", |
||
| 234 | "description": "Der Datenbestand umfasst sämtliche " |
||
| 235 | "Verwaltungseinheiten aller hierarchischen " |
||
| 236 | "Verwaltungsebenen vom Staat bis zu den " |
||
| 237 | "Gemeinden mit ihren Verwaltungsgrenzen, " |
||
| 238 | "statistischen Schlüsselzahlen und dem " |
||
| 239 | "Namen der Verwaltungseinheit sowie der " |
||
| 240 | "spezifischen Bezeichnung der " |
||
| 241 | "Verwaltungsebene des jeweiligen " |
||
| 242 | "Bundeslandes.", |
||
| 243 | "path": "http://www.bkg.bund.de", |
||
| 244 | "licenses": licenses, |
||
| 245 | }, |
||
| 246 | ], |
||
| 247 | "licenses": licenses, |
||
| 248 | "contributors": [ |
||
| 249 | { |
||
| 250 | "title": "Guido Pleßmann", |
||
| 251 | "email": "http://github.com/gplssm", |
||
| 252 | "date": "2020-12-04", |
||
| 253 | "object": "", |
||
| 254 | "comment": "Imported data", |
||
| 255 | } |
||
| 256 | ], |
||
| 257 | "metaMetadata": { |
||
| 258 | "metadataVersion": "OEP-1.4.0", |
||
| 259 | "metadataLicense": { |
||
| 260 | "name": "CC0-1.0", |
||
| 261 | "title": "Creative Commons Zero v1.0 Universal", |
||
| 262 | "path": ( |
||
| 263 | "https://creativecommons.org/publicdomain/zero/1.0/" |
||
| 264 | ), |
||
| 265 | }, |
||
| 266 | }, |
||
| 267 | } |
||
| 268 | |||
| 269 | meta_json = "'" + json.dumps(meta) + "'" |
||
| 270 | |||
| 271 | db.submit_comment( |
||
| 272 | meta_json, vg250_config["processed"]["schema"], table |
||
| 273 | ) |
||
| 274 |