You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
353 lines
9.4 KiB
353 lines
9.4 KiB
{ |
|
"cells": [ |
|
{ |
|
"cell_type": "code", |
|
"execution_count": 53, |
|
"id": "1e4b01f8-321a-4dd7-a157-0c36a8f5142f", |
|
"metadata": { |
|
"scrolled": true, |
|
"tags": [] |
|
}, |
|
"outputs": [], |
|
"source": [ |
|
"import json\n", |
|
"import os\n", |
|
"import pprint\n", |
|
"\n", |
|
"import requests\n", |
|
"\n", |
|
"headers = {\n", |
|
" \"Authorization\": \"os.env(directus_token)\",\n", |
|
" \"Content-Type\": \"application/json\",\n", |
|
"}\n", |
|
"response = requests.get(\n", |
|
" \"https://cms.donavanaldrich.com/items/containers\", headers=headers\n", |
|
")\n", |
|
"data = response.json()\n", |
|
"# pprint.pprint(items)\n", |
|
"items = data[\"data\"]" |
|
] |
|
}, |
|
{ |
|
"cell_type": "code", |
|
"execution_count": null, |
|
"id": "1837f6a9-f3c2-4666-b21c-96ea2dd56a06", |
|
"metadata": {}, |
|
"outputs": [], |
|
"source": [] |
|
}, |
|
{ |
|
"cell_type": "code", |
|
"execution_count": 68, |
|
"id": "c0ff14db-e04c-45fa-ba43-6ba9bf56810e", |
|
"metadata": { |
|
"scrolled": true, |
|
"tags": [] |
|
}, |
|
"outputs": [ |
|
{ |
|
"name": "stdout", |
|
"output_type": "stream", |
|
"text": [ |
|
"<Response [200]>\n", |
|
"<Response [200]>\n", |
|
"<Response [200]>\n", |
|
"<Response [200]>\n", |
|
"<Response [200]>\n", |
|
"<Response [200]>\n", |
|
"<Response [500]>\n", |
|
"<Response [200]>\n", |
|
"<Response [200]>\n", |
|
"<Response [200]>\n", |
|
"<Response [200]>\n", |
|
"<Response [200]>\n", |
|
"<Response [200]>\n", |
|
"<Response [500]>\n", |
|
"<Response [200]>\n", |
|
"<Response [200]>\n", |
|
"<Response [200]>\n", |
|
"<Response [200]>\n", |
|
"<Response [200]>\n", |
|
"<Response [200]>\n", |
|
"<Response [500]>\n", |
|
"<Response [200]>\n", |
|
"<Response [500]>\n", |
|
"<Response [200]>\n", |
|
"<Response [200]>\n", |
|
"<Response [200]>\n", |
|
"<Response [200]>\n", |
|
"<Response [200]>\n", |
|
"<Response [200]>\n", |
|
"<Response [500]>\n", |
|
"<Response [200]>\n", |
|
"<Response [200]>\n", |
|
"<Response [200]>\n", |
|
"<Response [200]>\n", |
|
"<Response [200]>\n", |
|
"<Response [200]>\n", |
|
"<Response [200]>\n", |
|
"<Response [200]>\n", |
|
"<Response [500]>\n", |
|
"<Response [200]>\n", |
|
"<Response [200]>\n", |
|
"<Response [200]>\n", |
|
"<Response [200]>\n", |
|
"<Response [200]>\n", |
|
"<Response [200]>\n", |
|
"<Response [200]>\n", |
|
"<Response [200]>\n", |
|
"<Response [200]>\n", |
|
"<Response [200]>\n", |
|
"<Response [200]>\n", |
|
"<Response [200]>\n", |
|
"<Response [200]>\n", |
|
"<Response [200]>\n", |
|
"<Response [200]>\n", |
|
"<Response [200]>\n", |
|
"<Response [200]>\n", |
|
"<Response [200]>\n", |
|
"<Response [200]>\n", |
|
"<Response [200]>\n", |
|
"<Response [200]>\n", |
|
"<Response [200]>\n", |
|
"<Response [200]>\n", |
|
"<Response [200]>\n", |
|
"<Response [200]>\n", |
|
"<Response [200]>\n", |
|
"<Response [200]>\n", |
|
"<Response [200]>\n", |
|
"<Response [200]>\n", |
|
"<Response [200]>\n", |
|
"<Response [200]>\n", |
|
"<Response [200]>\n", |
|
"<Response [500]>\n", |
|
"<Response [500]>\n", |
|
"<Response [200]>\n", |
|
"<Response [500]>\n", |
|
"<Response [500]>\n", |
|
"<Response [200]>\n", |
|
"<Response [500]>\n", |
|
"<Response [200]>\n", |
|
"<Response [200]>\n", |
|
"<Response [200]>\n", |
|
"<Response [200]>\n", |
|
"<Response [200]>\n", |
|
"<Response [200]>\n", |
|
"<Response [200]>\n", |
|
"<Response [200]>\n", |
|
"<Response [200]>\n", |
|
"<Response [200]>\n", |
|
"<Response [500]>\n", |
|
"<Response [200]>\n", |
|
"<Response [200]>\n", |
|
"<Response [200]>\n", |
|
"<Response [200]>\n", |
|
"<Response [200]>\n", |
|
"<Response [200]>\n", |
|
"<Response [200]>\n", |
|
"<Response [500]>\n", |
|
"<Response [200]>\n", |
|
"<Response [200]>\n", |
|
"<Response [200]>\n" |
|
] |
|
} |
|
], |
|
"source": [ |
|
"for item in items:\n", |
|
" raw = item[\"raw\"]\n", |
|
" name = raw[\"Name\"]\n", |
|
" image = raw[\"Config\"][\"Image\"]\n", |
|
" image = image.replace(\":latest\", \"\")\n", |
|
" name = name.replace(\"/\", \"\")\n", |
|
" try:\n", |
|
" item[\"ui_port\"] = raw[\"Config\"][\"Labels\"][\n", |
|
" \"traefik.http.services.\" + name + \".loadbalancer.server.port\"\n", |
|
" ]\n", |
|
" router = raw[\"Config\"][\"Labels\"][\"traefik.http.routers.\" + name + \".rule\"]\n", |
|
" item[\"host_url\"] = re.findall(\"Host\\(`([^\\)]+)`\\)\", router)\n", |
|
" item[\"docs_url\"] = raw[\"Config\"][\"Labels\"][\n", |
|
" \"org.opencontainers.image.documentation\"\n", |
|
" ]\n", |
|
" item[\"image_url\"] = raw[\"Config\"][\"Labels\"][\"org.opencontainers.image.source\"]\n", |
|
" except:\n", |
|
" foo = \"bar\"\n", |
|
" headers = {\n", |
|
" \"Authorization\": \"os.env(directus_token)\",\n", |
|
" \"Content-Type\": \"application/json\",\n", |
|
" }\n", |
|
" response = requests.patch(\n", |
|
" \"https://cms.donavanaldrich.com/items/containers/\" + str(item[\"id\"]),\n", |
|
" headers=headers,\n", |
|
" json=(item),\n", |
|
" )\n", |
|
" print(response)" |
|
] |
|
}, |
|
{ |
|
"cell_type": "code", |
|
"execution_count": 68, |
|
"id": "30fd3366-53f7-45e1-acd5-e5c1dd91ec14", |
|
"metadata": { |
|
"scrolled": true, |
|
"tags": [] |
|
}, |
|
"outputs": [ |
|
{ |
|
"name": "stdout", |
|
"output_type": "stream", |
|
"text": [ |
|
"<Response [200]>\n", |
|
"<Response [200]>\n", |
|
"<Response [200]>\n", |
|
"<Response [200]>\n", |
|
"<Response [200]>\n", |
|
"<Response [200]>\n", |
|
"<Response [500]>\n", |
|
"<Response [200]>\n", |
|
"<Response [200]>\n", |
|
"<Response [200]>\n", |
|
"<Response [200]>\n", |
|
"<Response [200]>\n", |
|
"<Response [200]>\n", |
|
"<Response [500]>\n", |
|
"<Response [200]>\n", |
|
"<Response [200]>\n", |
|
"<Response [200]>\n", |
|
"<Response [200]>\n", |
|
"<Response [200]>\n", |
|
"<Response [200]>\n", |
|
"<Response [500]>\n", |
|
"<Response [200]>\n", |
|
"<Response [500]>\n", |
|
"<Response [200]>\n", |
|
"<Response [200]>\n", |
|
"<Response [200]>\n", |
|
"<Response [200]>\n", |
|
"<Response [200]>\n", |
|
"<Response [200]>\n", |
|
"<Response [500]>\n", |
|
"<Response [200]>\n", |
|
"<Response [200]>\n", |
|
"<Response [200]>\n", |
|
"<Response [200]>\n", |
|
"<Response [200]>\n", |
|
"<Response [200]>\n", |
|
"<Response [200]>\n", |
|
"<Response [200]>\n", |
|
"<Response [500]>\n", |
|
"<Response [200]>\n", |
|
"<Response [200]>\n", |
|
"<Response [200]>\n", |
|
"<Response [200]>\n", |
|
"<Response [200]>\n", |
|
"<Response [200]>\n", |
|
"<Response [200]>\n", |
|
"<Response [200]>\n", |
|
"<Response [200]>\n", |
|
"<Response [200]>\n", |
|
"<Response [200]>\n", |
|
"<Response [200]>\n", |
|
"<Response [200]>\n", |
|
"<Response [200]>\n", |
|
"<Response [200]>\n", |
|
"<Response [200]>\n", |
|
"<Response [200]>\n", |
|
"<Response [200]>\n", |
|
"<Response [200]>\n", |
|
"<Response [200]>\n", |
|
"<Response [200]>\n", |
|
"<Response [200]>\n", |
|
"<Response [200]>\n", |
|
"<Response [200]>\n", |
|
"<Response [200]>\n", |
|
"<Response [200]>\n", |
|
"<Response [200]>\n", |
|
"<Response [200]>\n", |
|
"<Response [200]>\n", |
|
"<Response [200]>\n", |
|
"<Response [200]>\n", |
|
"<Response [200]>\n", |
|
"<Response [500]>\n", |
|
"<Response [500]>\n", |
|
"<Response [200]>\n", |
|
"<Response [500]>\n", |
|
"<Response [500]>\n", |
|
"<Response [200]>\n", |
|
"<Response [500]>\n", |
|
"<Response [200]>\n", |
|
"<Response [200]>\n", |
|
"<Response [200]>\n", |
|
"<Response [200]>\n", |
|
"<Response [200]>\n", |
|
"<Response [200]>\n", |
|
"<Response [200]>\n", |
|
"<Response [200]>\n", |
|
"<Response [200]>\n", |
|
"<Response [200]>\n", |
|
"<Response [500]>\n", |
|
"<Response [200]>\n", |
|
"<Response [200]>\n", |
|
"<Response [200]>\n", |
|
"<Response [200]>\n", |
|
"<Response [200]>\n", |
|
"<Response [200]>\n", |
|
"<Response [200]>\n", |
|
"<Response [500]>\n", |
|
"<Response [200]>\n", |
|
"<Response [200]>\n", |
|
"<Response [200]>\n" |
|
] |
|
} |
|
], |
|
"source": [ |
|
"item = items[0]\n", |
|
" raw = item[\"raw\"]\n", |
|
" name = raw[\"Name\"]\n", |
|
" item[\"ui_port\"] = raw[\"Config\"][\"Labels\"][\n", |
|
" \"traefik.http.services.\" + name + \".loadbalancer.server.port\"\n", |
|
" ]\n", |
|
" \n", |
|
" router = raw[\"Config\"][\"Labels\"][\"traefik.http.routers.\" + name + \".rule\"]\n", |
|
" item[\"host_url\"] = re.findall(\"Host\\(`([^\\)]+)`\\)\", router)\n", |
|
" print(response)" |
|
] |
|
}, |
|
{ |
|
"cell_type": "code", |
|
"execution_count": null, |
|
"id": "3430aed0-6317-4889-bdaa-a2802edcc85a", |
|
"metadata": {}, |
|
"outputs": [], |
|
"source": [] |
|
}, |
|
{ |
|
"cell_type": "code", |
|
"execution_count": null, |
|
"id": "71e58084-525c-4ab2-ae31-431a8fbd5b49", |
|
"metadata": {}, |
|
"outputs": [], |
|
"source": [] |
|
} |
|
], |
|
"metadata": { |
|
"kernelspec": { |
|
"display_name": "Python 3 (ipykernel)", |
|
"language": "python", |
|
"name": "python3" |
|
}, |
|
"language_info": { |
|
"codemirror_mode": { |
|
"name": "ipython", |
|
"version": 3 |
|
}, |
|
"file_extension": ".py", |
|
"mimetype": "text/x-python", |
|
"name": "python", |
|
"nbconvert_exporter": "python", |
|
"pygments_lexer": "ipython3", |
|
"version": "3.9.12" |
|
} |
|
}, |
|
"nbformat": 4, |
|
"nbformat_minor": 5 |
|
}
|
|
|