You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@superset.apache.org by ru...@apache.org on 2024/03/22 05:19:18 UTC
(superset) 02/02: using temp directory
This is an automated email from the ASF dual-hosted git repository.
rusackas pushed a commit to branch more-notebook-tweaks
in repository https://gitbox.apache.org/repos/asf/superset.git
commit d3b5d5d090f56666f53624bab34ba525b13040a6
Author: Evan Rusackas <ev...@rusackas.com>
AuthorDate: Thu Mar 21 23:19:07 2024 -0600
using temp directory
---
.../scripts/Country Map GeoJSON Generator.ipynb | 104 +++++++++++++++++++--
1 file changed, 94 insertions(+), 10 deletions(-)
diff --git a/superset-frontend/plugins/legacy-plugin-chart-country-map/scripts/Country Map GeoJSON Generator.ipynb b/superset-frontend/plugins/legacy-plugin-chart-country-map/scripts/Country Map GeoJSON Generator.ipynb
index 28e9142552..637f53648c 100644
--- a/superset-frontend/plugins/legacy-plugin-chart-country-map/scripts/Country Map GeoJSON Generator.ipynb
+++ b/superset-frontend/plugins/legacy-plugin-chart-country-map/scripts/Country Map GeoJSON Generator.ipynb
@@ -42,7 +42,7 @@
},
{
"cell_type": "code",
- "execution_count": null,
+ "execution_count": 7,
"metadata": {},
"outputs": [],
"source": [
@@ -63,7 +63,7 @@
},
{
"cell_type": "code",
- "execution_count": null,
+ "execution_count": 8,
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
@@ -71,11 +71,25 @@
"id": "VjGrqW4Kt1LS",
"outputId": "2e2accda-5ee4-4270-872e-ecb78d0d02a2"
},
- "outputs": [],
- "source": [
- "data_dir = os.path.expanduser(\"~/Downloads\")\n",
- "if not os.path.exists(data_dir):\n",
- " os.mkdir(data_dir)\n",
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Error downloading files. Please open the URL to download them from browser manually.\n",
+ "Done. \n"
+ ]
+ }
+ ],
+ "source": [
+ "# Get the directory of this notebook\n",
+ "notebook_dir = os.getcwd()\n",
+ "\n",
+ "# Construct the relative path to the directory alongside the notebook in /tmp\n",
+ "data_dir = os.path.join(notebook_dir, 'tmp_geojson')\n",
+ "\n",
+ "# Ensure the directory exists, if not, create it\n",
+ "os.makedirs(data_dir, exist_ok=True)\n",
"\n",
"def download_files(skip_existing=True):\n",
" for url in [\n",
@@ -114,7 +128,7 @@
},
{
"cell_type": "code",
- "execution_count": null,
+ "execution_count": 9,
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
@@ -122,7 +136,31 @@
"id": "EL0e9DEVt1LT",
"outputId": "16cd6450-d4a3-457a-b205-9797bbce33fc"
},
- "outputs": [],
+ "outputs": [
+ {
+ "ename": "DriverError",
+ "evalue": "'/vsizip//Users/evan_1/GitHub/superset/superset-frontend/plugins/legacy-plugin-chart-country-map/scripts/tmp_geojson/ne_10m_admin_0_countries.zip' does not exist in the file system, and is not recognized as a supported dataset name.",
+ "output_type": "error",
+ "traceback": [
+ "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
+ "\u001b[0;31mCPLE_OpenFailedError\u001b[0m Traceback (most recent call last)",
+ "File \u001b[0;32mfiona/ogrext.pyx:136\u001b[0m, in \u001b[0;36mfiona.ogrext.gdal_open_vector\u001b[0;34m()\u001b[0m\n",
+ "File \u001b[0;32mfiona/_err.pyx:291\u001b[0m, in \u001b[0;36mfiona._err.exc_wrap_pointer\u001b[0;34m()\u001b[0m\n",
+ "\u001b[0;31mCPLE_OpenFailedError\u001b[0m: '/vsizip//Users/evan_1/GitHub/superset/superset-frontend/plugins/legacy-plugin-chart-country-map/scripts/tmp_geojson/ne_10m_admin_0_countries.zip' does not exist in the file system, and is not recognized as a supported dataset name.",
+ "\nDuring handling of the above exception, another exception occurred:\n",
+ "\u001b[0;31mDriverError\u001b[0m Traceback (most recent call last)",
+ "Cell \u001b[0;32mIn[9], line 2\u001b[0m\n\u001b[1;32m 1\u001b[0m \u001b[38;5;66;03m# Read Natural Earth data files into GeoDataFrames\u001b[39;00m\n\u001b[0;32m----> 2\u001b[0m df_admin0_10m \u001b[38;5;241m=\u001b[39m \u001b[43mgpd\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mread_file\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;124;43mf\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;132;43;01m{\u001b[39;49;00m\u001b[43mdata_dir\u001b[49m\u001b[38;5;132;43;01 [...]
+ "File \u001b[0;32m/usr/local/lib/python3.11/site-packages/geopandas/io/file.py:297\u001b[0m, in \u001b[0;36m_read_file\u001b[0;34m(filename, bbox, mask, rows, engine, **kwargs)\u001b[0m\n\u001b[1;32m 294\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[1;32m 295\u001b[0m path_or_bytes \u001b[38;5;241m=\u001b[39m filename\n\u001b[0;32m--> 297\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43m_read_file_fiona\u001b[49m\u001b[43m(\u001b[49m\n\u001b[1; [...]
+ "File \u001b[0;32m/usr/local/lib/python3.11/site-packages/geopandas/io/file.py:338\u001b[0m, in \u001b[0;36m_read_file_fiona\u001b[0;34m(path_or_bytes, from_bytes, bbox, mask, rows, where, **kwargs)\u001b[0m\n\u001b[1;32m 335\u001b[0m reader \u001b[38;5;241m=\u001b[39m fiona\u001b[38;5;241m.\u001b[39mopen\n\u001b[1;32m 337\u001b[0m \u001b[38;5;28;01mwith\u001b[39;00m fiona_env():\n\u001b[0;32m--> 338\u001b[0m \u001b[38;5;28;01mwith\u001b[39;00m \u001b[43mreader\u001b[ [...]
+ "File \u001b[0;32m/usr/local/lib/python3.11/site-packages/fiona/env.py:457\u001b[0m, in \u001b[0;36mensure_env_with_credentials.<locals>.wrapper\u001b[0;34m(*args, **kwds)\u001b[0m\n\u001b[1;32m 454\u001b[0m session \u001b[38;5;241m=\u001b[39m DummySession()\n\u001b[1;32m 456\u001b[0m \u001b[38;5;28;01mwith\u001b[39;00m env_ctor(session\u001b[38;5;241m=\u001b[39msession):\n\u001b[0;32m--> 457\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43mf\u001b[49m\u001b[4 [...]
+ "File \u001b[0;32m/usr/local/lib/python3.11/site-packages/fiona/__init__.py:292\u001b[0m, in \u001b[0;36mopen\u001b[0;34m(fp, mode, driver, schema, crs, encoding, layer, vfs, enabled_drivers, crs_wkt, allow_unsupported_drivers, **kwargs)\u001b[0m\n\u001b[1;32m 289\u001b[0m path \u001b[38;5;241m=\u001b[39m parse_path(fp)\n\u001b[1;32m 291\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m mode \u001b[38;5;129;01min\u001b[39;00m (\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124ma\u001b[ [...]
+ "File \u001b[0;32m/usr/local/lib/python3.11/site-packages/fiona/collection.py:243\u001b[0m, in \u001b[0;36mCollection.__init__\u001b[0;34m(self, path, mode, driver, schema, crs, encoding, layer, vsi, archive, enabled_drivers, crs_wkt, ignore_fields, ignore_geometry, include_fields, wkt_version, allow_unsupported_drivers, **kwargs)\u001b[0m\n\u001b[1;32m 241\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mmode \u001b[38;5;241m==\ [...]
+ "File \u001b[0;32mfiona/ogrext.pyx:588\u001b[0m, in \u001b[0;36mfiona.ogrext.Session.start\u001b[0;34m()\u001b[0m\n",
+ "File \u001b[0;32mfiona/ogrext.pyx:143\u001b[0m, in \u001b[0;36mfiona.ogrext.gdal_open_vector\u001b[0;34m()\u001b[0m\n",
+ "\u001b[0;31mDriverError\u001b[0m: '/vsizip//Users/evan_1/GitHub/superset/superset-frontend/plugins/legacy-plugin-chart-country-map/scripts/tmp_geojson/ne_10m_admin_0_countries.zip' does not exist in the file system, and is not recognized as a supported dataset name."
+ ]
+ }
+ ],
"source": [
"# Read Natural Earth data files into GeoDataFrames\n",
"df_admin0_10m = gpd.read_file(f\"{data_dir}/ne_10m_admin_0_countries.zip\")\n",
@@ -1295,6 +1333,52 @@
"\n",
"print(\"TypeScript code written to src/countries.ts\")"
]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "Fb58eGlIt1LW"
+ },
+ "source": [
+ "## Clean Up"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "# method to clean out our temporary geojson from the data directory\n",
+ "# this ensures (a) we don't commmit junk to the repo, and (b) we get fresh geojson each time we run this\n",
+ "def empty_directory(directory):\n",
+ " for filename in os.listdir(directory):\n",
+ " file_path = os.path.join(directory, filename)\n",
+ " try:\n",
+ " if os.path.isfile(file_path) or os.path.islink(file_path):\n",
+ " os.unlink(file_path)\n",
+ " elif os.path.isdir(file_path):\n",
+ " shutil.rmtree(file_path)\n",
+ " except Exception as e:\n",
+ " print(f\"Failed to delete {file_path}. Reason: {e}\")\n",
+ "\n",
+ "# do it!\n",
+ "empty_directory(data_dir)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": []
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": []
}
],
"metadata": {
@@ -1316,7 +1400,7 @@
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
- "version": "3.11.8"
+ "version": "3.11.5"
},
"vscode": {
"interpreter": {