From 0dc4505630ae1aa79e3657b4ec5abb91c02d0833 Mon Sep 17 00:00:00 2001 From: Sam Willcocks Date: Fri, 18 Aug 2023 17:32:29 +0200 Subject: [PATCH] fetch from server --- .gitignore | 4 + custom.json | 38 --- main.py | 53 +++- requirements.txt | 4 +- warns.json | 722 ----------------------------------------------- 5 files changed, 45 insertions(+), 776 deletions(-) delete mode 100644 custom.json delete mode 100644 warns.json diff --git a/.gitignore b/.gitignore index 92b2793..36f189d 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,5 @@ .direnv +stuff/ +.DS_Store +__pycache__/ +dist/ diff --git a/custom.json b/custom.json deleted file mode 100644 index 9d07700..0000000 --- a/custom.json +++ /dev/null @@ -1,38 +0,0 @@ -[ - { - "name": "X001 BlÄhaj", - "url": "/static/blahaj.svg" - }, - { - "name": "X002 wlcx industries", - "url": "/static/factory.svg" - }, - { - "name": "X003 techno", - "url": "/static/wot.svg" - }, - { - "name": "CYBER", - "url": "/static/cyber.png" - }, - { - "name": "PISS", - "url": "/static/piss.svg" - }, - { - "name": "X004 Beer", - "url": "/static/beer.svg" - }, - { - "name": "X005 EMF", - "url": "/static/emf.svg" - }, - { - "name": "X006 Dome", - "url": "/static/dome.svg" - }, - { - "name": "X007 Hardware", - "url": "/static/dip.svg" - } -] diff --git a/main.py b/main.py index c5f0de7..ab58a89 100644 --- a/main.py +++ b/main.py @@ -3,10 +3,13 @@ import sqlite3 import json from quart import Quart, render_template, websocket, request, redirect, send_from_directory import re -import requests +import aiohttp +import aiofiles import subprocess from io import UnsupportedOperation +STICKERS_ENDPOINT = "https://files.wlcx.cc/stickers.json" + app = Quart(__name__) app.config['TEMPLATES_AUTO_RELOAD'] = True headers = { @@ -25,9 +28,8 @@ def load_things(): out[section] = sorted(json.load(f), key=lambda e: e["name"]) return out -things = load_things() - -indexed = {w["name"]: w for kj in things.values() for w in kj} +stickers = dict() +indexed = dict() db = sqlite3.connect("counts.db") cur = db.cursor() @@ -41,20 +43,36 @@ def get_db(): @app.route("/", methods=["GET"]) async def home(): + if not stickers: + print("Fetching stickers now") + await fetch_stickers() + else: + print("fetching stickers in the background") + app.add_background_task(fetch_stickers) cur = get_db().cursor() counts = {c[0]: c[1] for c in cur.execute("select what, count from counts").fetchall()} - return await render_template("index.html", ws=things, counts=counts) + return await render_template("index.html", ws=stickers, counts=counts) @app.route('/static/') def staticfile(path): return send_from_directory('static', path) +async def fetch_stickers(): + async with aiohttp.ClientSession(timeout=aiohttp.ClientTimeout(total=5)) as session: + async with session.get(STICKERS_ENDPOINT) as res: + global stickers + global indexed + stickers = await res.json() + indexed = {w["name"]: w for kj in stickers.values() for w in kj} + print("Stickers updated") + def printit(filename): subprocess.run(f"brother_ql -b pyusb -p usb://0x04f9:0x2042 -m QL-700 print -l62 {filename}", shell=True, check=True) @app.route("/", methods=["POST"]) -async def print(): +async def printio(): w = (await request.form)["w"] + global indexed thewarn = indexed[w] if not thewarn["url"].startswith("http"): # it's local @@ -63,16 +81,21 @@ async def print(): png_filename = f"{lol.replace(' ', '_')}.png" else: filename = thewarn["url"].split("/")[-1] - lol = re.search('W\d+', filename)[0] - png_filename = f"{lol}.png" - quad_png_filename = f"{lol}_quad.png" - if not os.path.exists(filename): - r = requests.get(thewarn["url"], headers=headers) - r.raise_for_status() - with open(filename, "wb") as file: - file.write(r.content) + lol = re.search('W\d+', filename) + if lol: + lol = lol[0] + else: + lol = filename + png_filename = f"stuff/{lol}.png" + quad_png_filename = f"stuff/{lol}_quad.png" + if not os.path.exists(f"stuff/{filename}"): + async with aiohttp.ClientSession(timeout=aiohttp.ClientTimeout(total=5)) as session: + async with session.get(thewarn["url"], headers=headers) as res: + res.raise_for_status() + async with aiofiles.open(f"stuff/{filename}", "wb") as file: + await file.write(await res.read()) if not os.path.exists(png_filename): - subprocess.run(f"resvg {filename} {png_filename}", shell=True, check=True) + subprocess.run(f"resvg stuff/{filename} {png_filename}", shell=True, check=True) subprocess.run(f"convert {png_filename} -resize 696x -background white -alpha remove -alpha off -monochrome -threshold 20% {png_filename}", shell=True, check=True) #if not os.path.exists(quad_png_filename): # subprocess.run("magick -size 696x xc:white ({png_filename} -resize 50%x) diff --git a/requirements.txt b/requirements.txt index 88293a7..eabb00d 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,2 +1,4 @@ -requests quart +pyinstaller +aiohttp +aiofiles diff --git a/warns.json b/warns.json deleted file mode 100644 index 9e50904..0000000 --- a/warns.json +++ /dev/null @@ -1,722 +0,0 @@ -[ - { - "url": "https://upload.wikimedia.org/wikipedia/commons/6/61/ISO_7010_W014.svg", - "name": "ISO 7010 W014", - "html_url": "https://commons.wikimedia.org/wiki/File:ISO_7010_W014.svg", - "author": "MaxxL", - "attribution_required": "false", - "license_short_name": "Public domain", - "license_url": null - }, - { - "url": "https://upload.wikimedia.org/wikipedia/commons/e/ee/ISO_7010_W016.svg", - "name": "ISO 7010 W016", - "html_url": "https://commons.wikimedia.org/wiki/File:ISO_7010_W016.svg", - "author": "MaxxL", - "attribution_required": "false", - "license_short_name": "Public domain", - "license_url": null - }, - { - "url": "https://upload.wikimedia.org/wikipedia/commons/f/f9/ISO_7010_W022.svg", - "name": "ISO 7010 W022", - "html_url": "https://commons.wikimedia.org/wiki/File:ISO_7010_W022.svg", - "author": "Bloody666", - "attribution_required": "false", - "license_short_name": "CC0", - "license_url": "http://creativecommons.org/publicdomain/zero/1.0/deed.en" - }, - { - "url": "https://upload.wikimedia.org/wikipedia/commons/7/7e/ISO_7010_W001.svg", - "name": "ISO 7010 W001", - "html_url": "https://commons.wikimedia.org/wiki/File:ISO_7010_W001.svg", - "author": "MaxxL", - "attribution_required": "false", - "license_short_name": "Public domain", - "license_url": null - }, - { - "url": "https://upload.wikimedia.org/wikipedia/commons/a/a8/ISO_7010_W003.svg", - "name": "ISO 7010 W003", - "html_url": "https://commons.wikimedia.org/wiki/File:ISO_7010_W003.svg", - "author": "MaxxL", - "attribution_required": "false", - "license_short_name": "Public domain", - "license_url": null - }, - { - "url": "https://upload.wikimedia.org/wikipedia/commons/5/53/ISO_7010_W018.svg", - "name": "ISO 7010 W018", - "html_url": "https://commons.wikimedia.org/wiki/File:ISO_7010_W018.svg", - "author": "MaxxL", - "attribution_required": "false", - "license_short_name": "Public domain", - "license_url": null - }, - { - "url": "https://upload.wikimedia.org/wikipedia/commons/4/45/ISO_7010_W024.svg", - "name": "ISO 7010 W024", - "html_url": "https://commons.wikimedia.org/wiki/File:ISO_7010_W024.svg", - "author": "MaxxL", - "attribution_required": "false", - "license_short_name": "Public domain", - "license_url": null - }, - { - "url": "https://upload.wikimedia.org/wikipedia/commons/0/00/ISO_7010_W002.svg", - "name": "ISO 7010 W002", - "html_url": "https://commons.wikimedia.org/wiki/File:ISO_7010_W002.svg", - "author": "MaxxL", - "attribution_required": "false", - "license_short_name": "Public domain", - "license_url": null - }, - { - "url": "https://upload.wikimedia.org/wikipedia/commons/b/b6/ISO_7010_W007.svg", - "name": "ISO 7010 W007", - "html_url": "https://commons.wikimedia.org/wiki/File:ISO_7010_W007.svg", - "author": "MaxxL", - "attribution_required": "false", - "license_short_name": "Public domain", - "license_url": null - }, - { - "url": "https://upload.wikimedia.org/wikipedia/commons/6/6a/ISO_7010_W011.svg", - "name": "ISO 7010 W011", - "html_url": "https://commons.wikimedia.org/wiki/File:ISO_7010_W011.svg", - "author": "MaxxL", - "attribution_required": "false", - "license_short_name": "Public domain", - "license_url": null - }, - { - "url": "https://upload.wikimedia.org/wikipedia/commons/0/05/ISO_7010_W015.svg", - "name": "ISO 7010 W015", - "html_url": "https://commons.wikimedia.org/wiki/File:ISO_7010_W015.svg", - "author": "MaxxL", - "attribution_required": "false", - "license_short_name": "Public domain", - "license_url": null - }, - { - "url": "https://upload.wikimedia.org/wikipedia/commons/6/69/ISO_7010_W010.svg", - "name": "ISO 7010 W010", - "html_url": "https://commons.wikimedia.org/wiki/File:ISO_7010_W010.svg", - "author": "MaxxL", - "attribution_required": "false", - "license_short_name": "Public domain", - "license_url": null - }, - { - "url": "https://upload.wikimedia.org/wikipedia/commons/2/2e/ISO_7010_W006.svg", - "name": "ISO 7010 W006", - "html_url": "https://commons.wikimedia.org/wiki/File:ISO_7010_W006.svg", - "author": "MaxxL", - "attribution_required": "false", - "license_short_name": "Public domain", - "license_url": null - }, - { - "url": "https://upload.wikimedia.org/wikipedia/commons/e/ed/ISO_7010_W004.svg", - "name": "ISO 7010 W004", - "html_url": "https://commons.wikimedia.org/wiki/File:ISO_7010_W004.svg", - "author": "MaxxL", - "attribution_required": "false", - "license_short_name": "Public domain", - "license_url": null - }, - { - "url": "https://upload.wikimedia.org/wikipedia/commons/2/27/ISO_7010_W008.svg", - "name": "ISO 7010 W008", - "html_url": "https://commons.wikimedia.org/wiki/File:ISO_7010_W008.svg", - "author": "MaxxL", - "attribution_required": "false", - "license_short_name": "Public domain", - "license_url": null - }, - { - "url": "https://upload.wikimedia.org/wikipedia/commons/0/0d/ISO_7010_W005.svg", - "name": "ISO 7010 W005", - "html_url": "https://commons.wikimedia.org/wiki/File:ISO_7010_W005.svg", - "author": "MaxxL", - "attribution_required": "false", - "license_short_name": "Public domain", - "license_url": null - }, - { - "url": "https://upload.wikimedia.org/wikipedia/commons/f/f5/ISO_7010_W009.svg", - "name": "ISO 7010 W009", - "html_url": "https://commons.wikimedia.org/wiki/File:ISO_7010_W009.svg", - "author": "MaxxL", - "attribution_required": "false", - "license_short_name": "Public domain", - "license_url": null - }, - { - "url": "https://upload.wikimedia.org/wikipedia/commons/2/2a/ISO_7010_W012.svg", - "name": "ISO 7010 W012", - "html_url": "https://commons.wikimedia.org/wiki/File:ISO_7010_W012.svg", - "author": "MaxxL", - "attribution_required": "false", - "license_short_name": "Public domain", - "license_url": null - }, - { - "url": "https://upload.wikimedia.org/wikipedia/commons/7/7f/ISO_7010_W017.svg", - "name": "ISO 7010 W017", - "html_url": "https://commons.wikimedia.org/wiki/File:ISO_7010_W017.svg", - "author": "MaxxL", - "attribution_required": "false", - "license_short_name": "Public domain", - "license_url": null - }, - { - "url": "https://upload.wikimedia.org/wikipedia/commons/1/16/ISO_7010_W019.svg", - "name": "ISO 7010 W019", - "html_url": "https://commons.wikimedia.org/wiki/File:ISO_7010_W019.svg", - "author": "MaxxL", - "attribution_required": "false", - "license_short_name": "Public domain", - "license_url": null - }, - { - "url": "https://upload.wikimedia.org/wikipedia/commons/0/0e/ISO_7010_W025.svg", - "name": "ISO 7010 W025", - "html_url": "https://commons.wikimedia.org/wiki/File:ISO_7010_W025.svg", - "author": "MaxxL", - "attribution_required": "false", - "license_short_name": "Public domain", - "license_url": null - }, - { - "url": "https://upload.wikimedia.org/wikipedia/commons/4/4b/ISO_7010_W023.svg", - "name": "ISO 7010 W023", - "html_url": "https://commons.wikimedia.org/wiki/File:ISO_7010_W023.svg", - "author": "MaxxL", - "attribution_required": "false", - "license_short_name": "Public domain", - "license_url": null - }, - { - "url": "https://upload.wikimedia.org/wikipedia/commons/8/88/ISO_7010_W027.svg", - "name": "ISO 7010 W027", - "html_url": "https://commons.wikimedia.org/wiki/File:ISO_7010_W027.svg", - "author": "MaxxL", - "attribution_required": "false", - "license_short_name": "Public domain", - "license_url": null - }, - { - "url": "https://upload.wikimedia.org/wikipedia/commons/7/72/ISO_7010_W029.svg", - "name": "ISO 7010 W029", - "html_url": "https://commons.wikimedia.org/wiki/File:ISO_7010_W029.svg", - "author": "MaxxL", - "attribution_required": "false", - "license_short_name": "Public domain", - "license_url": null - }, - { - "url": "https://upload.wikimedia.org/wikipedia/commons/8/8d/ISO_7010_W026.svg", - "name": "ISO 7010 W026", - "html_url": "https://commons.wikimedia.org/wiki/File:ISO_7010_W026.svg", - "author": "MaxxL", - "attribution_required": "false", - "license_short_name": "Public domain", - "license_url": null - }, - { - "url": "https://upload.wikimedia.org/wikipedia/commons/2/20/ISO_7010_W020.svg", - "name": "ISO 7010 W020", - "html_url": "https://commons.wikimedia.org/wiki/File:ISO_7010_W020.svg", - "author": "Bloody666", - "attribution_required": "false", - "license_short_name": "CC0", - "license_url": "http://creativecommons.org/publicdomain/zero/1.0/deed.en" - }, - { - "url": "https://upload.wikimedia.org/wikipedia/commons/8/80/ISO_7010_W021.svg", - "name": "ISO 7010 W021", - "html_url": "https://commons.wikimedia.org/wiki/File:ISO_7010_W021.svg", - "author": "MaxxL", - "attribution_required": "false", - "license_short_name": "Public domain", - "license_url": null - }, - { - "url": "https://upload.wikimedia.org/wikipedia/commons/8/80/ISO_7010_W013.svg", - "name": "ISO 7010 W013", - "html_url": "https://commons.wikimedia.org/wiki/File:ISO_7010_W013.svg", - "author": "Bloody666", - "attribution_required": "false", - "license_short_name": "CC0", - "license_url": "http://creativecommons.org/publicdomain/zero/1.0/deed.en" - }, - { - "url": "https://upload.wikimedia.org/wikipedia/commons/3/39/ISO_7010_W028.svg", - "name": "ISO 7010 W028", - "html_url": "https://commons.wikimedia.org/wiki/File:ISO_7010_W028.svg", - "author": "MaxxL", - "attribution_required": "false", - "license_short_name": "Public domain", - "license_url": null - }, - { - "url": "https://upload.wikimedia.org/wikipedia/commons/6/6a/ISO_7010_W059%3B_sand_yachting.svg", - "name": "ISO 7010 W059; sand yachting", - "html_url": "https://commons.wikimedia.org/wiki/File:ISO_7010_W059;_sand_yachting.svg", - "author": "Repeater-reclaim", - "attribution_required": "false", - "license_short_name": "CC0", - "license_url": "http://creativecommons.org/publicdomain/zero/1.0/deed.en" - }, - { - "url": "https://upload.wikimedia.org/wikipedia/commons/2/29/ISO_7010_W051_warning%3B_no_guard_rail_and_unprotected_edges.svg", - "name": "ISO 7010 W051 warning; no guard rail and unprotected edges", - "html_url": "https://commons.wikimedia.org/wiki/File:ISO_7010_W051_warning;_no_guard_rail_and_unprotected_edges.svg", - "author": "Repeater-reclaim", - "attribution_required": "false", - "license_short_name": "CC0", - "license_url": "http://creativecommons.org/publicdomain/zero/1.0/deed.en" - }, - { - "url": "https://upload.wikimedia.org/wikipedia/commons/1/19/ISO_7010_W071.svg", - "name": "ISO 7010 W071", - "html_url": "https://commons.wikimedia.org/wiki/File:ISO_7010_W071.svg", - "author": "Clemenspool", - "attribution_required": "false", - "license_short_name": "CC0", - "license_url": "http://creativecommons.org/publicdomain/zero/1.0/deed.en" - }, - { - "url": "https://upload.wikimedia.org/wikipedia/commons/f/ff/ISO_7010_W046_warning%3B_surfing.svg", - "name": "ISO 7010 W046 warning; surfing", - "html_url": "https://commons.wikimedia.org/wiki/File:ISO_7010_W046_warning;_surfing.svg", - "author": "Repeater-reclaim", - "attribution_required": "false", - "license_short_name": "CC0", - "license_url": "http://creativecommons.org/publicdomain/zero/1.0/deed.en" - }, - { - "url": "https://upload.wikimedia.org/wikipedia/commons/3/33/ISO_7010_W055_warning%3B_sewage_effluent_outfall.svg", - "name": "ISO 7010 W055 warning; sewage effluent outfall", - "html_url": "https://commons.wikimedia.org/wiki/File:ISO_7010_W055_warning;_sewage_effluent_outfall.svg", - "author": "Repeater-reclaim", - "attribution_required": "false", - "license_short_name": "CC0", - "license_url": "http://creativecommons.org/publicdomain/zero/1.0/deed.en" - }, - { - "url": "https://upload.wikimedia.org/wikipedia/commons/5/5a/ISO_7010_W078.svg", - "name": "ISO 7010 W078", - "html_url": "https://commons.wikimedia.org/wiki/File:ISO_7010_W078.svg", - "author": "Clemenspool", - "attribution_required": "false", - "license_short_name": "CC0", - "license_url": "http://creativecommons.org/publicdomain/zero/1.0/deed.en" - }, - { - "url": "https://upload.wikimedia.org/wikipedia/commons/d/d8/ISO_7010_W073.svg", - "name": "ISO 7010 W073", - "html_url": "https://commons.wikimedia.org/wiki/File:ISO_7010_W073.svg", - "author": "Clemenspool", - "attribution_required": "false", - "license_short_name": "CC0", - "license_url": "http://creativecommons.org/publicdomain/zero/1.0/deed.en" - }, - { - "url": "https://upload.wikimedia.org/wikipedia/commons/f/ff/ISO_7010_W060_warning%3B_incoming_tides.svg", - "name": "ISO 7010 W060 warning; incoming tides", - "html_url": "https://commons.wikimedia.org/wiki/File:ISO_7010_W060_warning;_incoming_tides.svg", - "author": "Repeater-reclaim", - "attribution_required": "false", - "license_short_name": "CC0", - "license_url": "http://creativecommons.org/publicdomain/zero/1.0/deed.en" - }, - { - "url": "https://upload.wikimedia.org/wikipedia/commons/7/7d/ISO_7010_W076.svg", - "name": "ISO 7010 W076", - "html_url": "https://commons.wikimedia.org/wiki/File:ISO_7010_W076.svg", - "author": "Clemenspool", - "attribution_required": "false", - "license_short_name": "CC0", - "license_url": "http://creativecommons.org/publicdomain/zero/1.0/deed.en" - }, - { - "url": "https://upload.wikimedia.org/wikipedia/commons/f/fe/ISO_7010_W058_warning%3B_boating_area.svg", - "name": "ISO 7010 W058 warning; boating area", - "html_url": "https://commons.wikimedia.org/wiki/File:ISO_7010_W058_warning;_boating_area.svg", - "author": "Repeater-reclaim", - "attribution_required": "false", - "license_short_name": "CC0", - "license_url": "http://creativecommons.org/publicdomain/zero/1.0/deed.en" - }, - { - "url": "https://upload.wikimedia.org/wikipedia/commons/3/37/ISO_7010_W074.svg", - "name": "ISO 7010 W074", - "html_url": "https://commons.wikimedia.org/wiki/File:ISO_7010_W074.svg", - "author": "Clemenspool", - "attribution_required": "false", - "license_short_name": "CC0", - "license_url": "http://creativecommons.org/publicdomain/zero/1.0/deed.en" - }, - { - "url": "https://upload.wikimedia.org/wikipedia/commons/d/db/ISO_7010_W077.svg", - "name": "ISO 7010 W077", - "html_url": "https://commons.wikimedia.org/wiki/File:ISO_7010_W077.svg", - "author": "Clemenspool", - "attribution_required": "false", - "license_short_name": "CC0", - "license_url": "http://creativecommons.org/publicdomain/zero/1.0/deed.en" - }, - { - "url": "https://upload.wikimedia.org/wikipedia/commons/4/49/ISO_7010_W079_color.svg", - "name": "ISO 7010 W079 color", - "html_url": "https://commons.wikimedia.org/wiki/File:ISO_7010_W079_color.svg", - "author": "Clemenspool", - "attribution_required": "false", - "license_short_name": "CC0", - "license_url": "http://creativecommons.org/publicdomain/zero/1.0/deed.en" - }, - { - "url": "https://upload.wikimedia.org/wikipedia/commons/a/a0/ISO_7010_W043_warning%3B_thin_ice.svg", - "name": "ISO 7010 W043 warning; thin ice", - "html_url": "https://commons.wikimedia.org/wiki/File:ISO_7010_W043_warning;_thin_ice.svg", - "author": "Repeater-reclaim", - "attribution_required": "false", - "license_short_name": "CC0", - "license_url": "http://creativecommons.org/publicdomain/zero/1.0/deed.en" - }, - { - "url": "https://upload.wikimedia.org/wikipedia/commons/2/23/ISO_7010_W057_warning%3B_strong_currents.svg", - "name": "ISO 7010 W057 warning; strong currents", - "html_url": "https://commons.wikimedia.org/wiki/File:ISO_7010_W057_warning;_strong_currents.svg", - "author": "Repeater-reclaim", - "attribution_required": "false", - "license_short_name": "CC0", - "license_url": "http://creativecommons.org/publicdomain/zero/1.0/deed.en" - }, - { - "url": "https://upload.wikimedia.org/wikipedia/commons/3/30/ISO_7010_W035.svg", - "name": "ISO 7010 W035", - "html_url": "https://commons.wikimedia.org/wiki/File:ISO_7010_W035.svg", - "author": "We.weber", - "attribution_required": "true", - "license_short_name": "CC BY-SA 4.0", - "license_url": "https://creativecommons.org/licenses/by-sa/4.0" - }, - { - "url": "https://upload.wikimedia.org/wikipedia/commons/a/a1/ISO_7010_W063_warning%3B_parasailing.svg", - "name": "ISO 7010 W063 warning; parasailing", - "html_url": "https://commons.wikimedia.org/wiki/File:ISO_7010_W063_warning;_parasailing.svg", - "author": "Repeater-reclaim", - "attribution_required": "false", - "license_short_name": "CC0", - "license_url": "http://creativecommons.org/publicdomain/zero/1.0/deed.en" - }, - { - "url": "https://upload.wikimedia.org/wikipedia/commons/d/df/ISO_7010_W038_warning%3B_sudden_loud_noises.svg", - "name": "ISO 7010 W038 warning; sudden loud noises", - "html_url": "https://commons.wikimedia.org/wiki/File:ISO_7010_W038_warning;_sudden_loud_noises.svg", - "author": "Repeater-reclaim", - "attribution_required": "false", - "license_short_name": "CC0", - "license_url": "http://creativecommons.org/publicdomain/zero/1.0/deed.en" - }, - { - "url": "https://upload.wikimedia.org/wikipedia/commons/6/67/ISO_7010_W053_warning%3B_unstable_cliff.svg", - "name": "ISO 7010 W053 warning; unstable cliff", - "html_url": "https://commons.wikimedia.org/wiki/File:ISO_7010_W053_warning;_unstable_cliff.svg", - "author": "Repeater-reclaim", - "attribution_required": "false", - "license_short_name": "CC0", - "license_url": "http://creativecommons.org/publicdomain/zero/1.0/deed.en" - }, - { - "url": "https://upload.wikimedia.org/wikipedia/commons/c/c4/ISO_7010_W054_warning%3B_sharks.svg", - "name": "ISO 7010 W054 warning; sharks", - "html_url": "https://commons.wikimedia.org/wiki/File:ISO_7010_W054_warning;_sharks.svg", - "author": "Repeater-reclaim", - "attribution_required": "false", - "license_short_name": "CC0", - "license_url": "http://creativecommons.org/publicdomain/zero/1.0/deed.en" - }, - { - "url": "https://upload.wikimedia.org/wikipedia/commons/0/03/ISO_7010_W039.svg", - "name": "ISO 7010 W039", - "html_url": "https://commons.wikimedia.org/wiki/File:ISO_7010_W039.svg", - "author": "We.weber", - "attribution_required": "true", - "license_short_name": "CC BY-SA 4.0", - "license_url": "https://creativecommons.org/licenses/by-sa/4.0" - }, - { - "url": "https://upload.wikimedia.org/wikipedia/commons/7/73/ISO_7010_W042_warning%3B_arc_flash_hazard.svg", - "name": "ISO 7010 W042 warning; arc flash hazard", - "html_url": "https://commons.wikimedia.org/wiki/File:ISO_7010_W042_warning;_arc_flash_hazard.svg", - "author": "Repeater-reclaim", - "attribution_required": "false", - "license_short_name": "CC0", - "license_url": "http://creativecommons.org/publicdomain/zero/1.0/deed.en" - }, - { - "url": "https://upload.wikimedia.org/wikipedia/commons/5/53/ISO_7010_W066_warning%3B_Sudden_drop_to_deep_water.svg", - "name": "ISO 7010 W066 warning; Sudden drop to deep water", - "html_url": "https://commons.wikimedia.org/wiki/File:ISO_7010_W066_warning;_Sudden_drop_to_deep_water.svg", - "author": "Repeater-reclaim", - "attribution_required": "false", - "license_short_name": "CC0", - "license_url": "http://creativecommons.org/publicdomain/zero/1.0/deed.en" - }, - { - "url": "https://upload.wikimedia.org/wikipedia/commons/6/67/ISO_7010_W040_warning%3B_roof_avalanche.svg", - "name": "ISO 7010 W040 warning; roof avalanche", - "html_url": "https://commons.wikimedia.org/wiki/File:ISO_7010_W040_warning;_roof_avalanche.svg", - "author": "Repeater-reclaim", - "attribution_required": "false", - "license_short_name": "CC0", - "license_url": "http://creativecommons.org/publicdomain/zero/1.0/deed.en" - }, - { - "url": "https://upload.wikimedia.org/wikipedia/commons/4/4a/ISO_7010_W064_warning%3B_strong_winds.svg", - "name": "ISO 7010 W064 warning; strong winds", - "html_url": "https://commons.wikimedia.org/wiki/File:ISO_7010_W064_warning;_strong_winds.svg", - "author": "Repeater-reclaim", - "attribution_required": "false", - "license_short_name": "CC0", - "license_url": "http://creativecommons.org/publicdomain/zero/1.0/deed.en" - }, - { - "url": "https://upload.wikimedia.org/wikipedia/commons/d/d0/ISO_7010_W044_warning%3B_slipway.svg", - "name": "ISO 7010 W044 warning; slipway", - "html_url": "https://commons.wikimedia.org/wiki/File:ISO_7010_W044_warning;_slipway.svg", - "author": "Repeater-reclaim", - "attribution_required": "false", - "license_short_name": "CC0", - "license_url": "http://creativecommons.org/publicdomain/zero/1.0/deed.en" - }, - { - "url": "https://upload.wikimedia.org/wikipedia/commons/0/0c/ISO_7010_W031%3B_warning%2C_hand_injury_from_workpiece_moving_in_press_brake_machinery.svg", - "name": "ISO 7010 W031; warning, hand injury from workpiece moving in press brake machinery", - "html_url": "https://commons.wikimedia.org/wiki/File:ISO_7010_W031;_warning,_hand_injury_from_workpiece_moving_in_press_brake_machinery.svg", - "author": "Repeater-reclaim", - "attribution_required": "false", - "license_short_name": "CC0", - "license_url": "http://creativecommons.org/publicdomain/zero/1.0/deed.en" - }, - { - "url": "https://upload.wikimedia.org/wikipedia/commons/6/6d/ISO_7010_W061_warning%3B_quicksand%2C_mud%2C_deep_mud%2C_or_silt.svg", - "name": "ISO 7010 W061 warning; quicksand, mud, deep mud, or silt", - "html_url": "https://commons.wikimedia.org/wiki/File:ISO_7010_W061_warning;_quicksand,_mud,_deep_mud,_or_silt.svg", - "author": "Repeater-reclaim", - "attribution_required": "false", - "license_short_name": "CC0", - "license_url": "http://creativecommons.org/publicdomain/zero/1.0/deed.en" - }, - { - "url": "https://upload.wikimedia.org/wikipedia/commons/b/b0/ISO_7010_W033_warning%3B_barbed_wire.svg", - "name": "ISO 7010 W033 warning; barbed wire", - "html_url": "https://commons.wikimedia.org/wiki/File:ISO_7010_W033_warning;_barbed_wire.svg", - "author": "Repeater-reclaim", - "attribution_required": "false", - "license_short_name": "CC0", - "license_url": "http://creativecommons.org/publicdomain/zero/1.0/deed.en" - }, - { - "url": "https://upload.wikimedia.org/wikipedia/commons/1/1d/ISO_7010_W030.svg", - "name": "ISO 7010 W030", - "html_url": "https://commons.wikimedia.org/wiki/File:ISO_7010_W030.svg", - "author": "Bobbolous", - "attribution_required": "true", - "license_short_name": "CC BY-SA 4.0", - "license_url": "https://creativecommons.org/licenses/by-sa/4.0" - }, - { - "url": "https://upload.wikimedia.org/wikipedia/commons/2/26/ISO_7010_W048_warning%3B_shallow_water.svg", - "name": "ISO 7010 W048 warning; shallow water", - "html_url": "https://commons.wikimedia.org/wiki/File:ISO_7010_W048_warning;_shallow_water.svg", - "author": "Repeater-reclaim", - "attribution_required": "false", - "license_short_name": "CC0", - "license_url": "http://creativecommons.org/publicdomain/zero/1.0/deed.en" - }, - { - "url": "https://upload.wikimedia.org/wikipedia/commons/8/84/ISO_7010_W049_warning%3B_submerged_objects.svg", - "name": "ISO 7010 W049 warning; submerged objects", - "html_url": "https://commons.wikimedia.org/wiki/File:ISO_7010_W049_warning;_submerged_objects.svg", - "author": "Repeater-reclaim", - "attribution_required": "false", - "license_short_name": "CC0", - "license_url": "http://creativecommons.org/publicdomain/zero/1.0/deed.en" - }, - { - "url": "https://upload.wikimedia.org/wikipedia/commons/8/80/ISO_7010_W036_warning%3B_fragile_roof.svg", - "name": "ISO 7010 W036 warning; fragile roof", - "html_url": "https://commons.wikimedia.org/wiki/File:ISO_7010_W036_warning;_fragile_roof.svg", - "author": "Repeater-reclaim", - "attribution_required": "false", - "license_short_name": "CC0", - "license_url": "http://creativecommons.org/publicdomain/zero/1.0/deed.en" - }, - { - "url": "https://upload.wikimedia.org/wikipedia/commons/e/ed/ISO_7010_W056_warning%3B_tsunami_hazard_zone.svg", - "name": "ISO 7010 W056 warning; tsunami hazard zone", - "html_url": "https://commons.wikimedia.org/wiki/File:ISO_7010_W056_warning;_tsunami_hazard_zone.svg", - "author": "Repeater-reclaim", - "attribution_required": "false", - "license_short_name": "Public domain", - "license_url": null - }, - { - "url": "https://upload.wikimedia.org/wikipedia/commons/2/20/ISO_7010_W068.svg", - "name": "ISO 7010 W068", - "html_url": "https://commons.wikimedia.org/wiki/File:ISO_7010_W068.svg", - "author": "Clemenspool", - "attribution_required": "false", - "license_short_name": "CC0", - "license_url": "http://creativecommons.org/publicdomain/zero/1.0/deed.en" - }, - { - "url": "https://upload.wikimedia.org/wikipedia/commons/b/bd/ISO_7010_W034_warning%3B_bull.svg", - "name": "ISO 7010 W034 warning; bull", - "html_url": "https://commons.wikimedia.org/wiki/File:ISO_7010_W034_warning;_bull.svg", - "author": "Repeater-reclaim", - "attribution_required": "false", - "license_short_name": "CC0", - "license_url": "http://creativecommons.org/publicdomain/zero/1.0/deed.en" - }, - { - "url": "https://upload.wikimedia.org/wikipedia/commons/f/f9/ISO_7010_W045_warning%3B_water_skiing_or_towed_water_activity_area.svg", - "name": "ISO 7010 W045 warning; water skiing or towed water activity area", - "html_url": "https://commons.wikimedia.org/wiki/File:ISO_7010_W045_warning;_water_skiing_or_towed_water_activity_area.svg", - "author": "Repeater-reclaim", - "attribution_required": "false", - "license_short_name": "CC0", - "license_url": "http://creativecommons.org/publicdomain/zero/1.0/deed.en" - }, - { - "url": "https://upload.wikimedia.org/wikipedia/commons/d/de/ISO_7010_W052_warning%3B_unstable_cliff_edge.svg", - "name": "ISO 7010 W052 warning; unstable cliff edge", - "html_url": "https://commons.wikimedia.org/wiki/File:ISO_7010_W052_warning;_unstable_cliff_edge.svg", - "author": "Repeater-reclaim", - "attribution_required": "false", - "license_short_name": "CC0", - "license_url": "http://creativecommons.org/publicdomain/zero/1.0/deed.en" - }, - { - "url": "https://upload.wikimedia.org/wikipedia/commons/0/0c/ISO_7010_W050_warning%3B_sudden_drop_in_swimming_pool.svg", - "name": "ISO 7010 W050 warning; sudden drop in swimming pool", - "html_url": "https://commons.wikimedia.org/wiki/File:ISO_7010_W050_warning;_sudden_drop_in_swimming_pool.svg", - "author": "Repeater-reclaim", - "attribution_required": "false", - "license_short_name": "CC0", - "license_url": "http://creativecommons.org/publicdomain/zero/1.0/deed.en" - }, - { - "url": "https://upload.wikimedia.org/wikipedia/commons/d/d7/ISO_7010_W070.svg", - "name": "ISO 7010 W070", - "html_url": "https://commons.wikimedia.org/wiki/File:ISO_7010_W070.svg", - "author": "Clemenspool", - "attribution_required": "false", - "license_short_name": "CC0", - "license_url": "http://creativecommons.org/publicdomain/zero/1.0/deed.en" - }, - { - "url": "https://upload.wikimedia.org/wikipedia/commons/c/c6/ISO_7010_W072.svg", - "name": "ISO 7010 W072", - "html_url": "https://commons.wikimedia.org/wiki/File:ISO_7010_W072.svg", - "author": "Clemenspool", - "attribution_required": "false", - "license_short_name": "CC0", - "license_url": "http://creativecommons.org/publicdomain/zero/1.0/deed.en" - }, - { - "url": "https://upload.wikimedia.org/wikipedia/commons/f/f8/ISO_7010_W041_warning%3B_breathing_hazard.svg", - "name": "ISO 7010 W041 warning; breathing hazard", - "html_url": "https://commons.wikimedia.org/wiki/File:ISO_7010_W041_warning;_breathing_hazard.svg", - "author": "Repeater-reclaim", - "attribution_required": "false", - "license_short_name": "CC0", - "license_url": "http://creativecommons.org/publicdomain/zero/1.0/deed.en" - }, - { - "url": "https://upload.wikimedia.org/wikipedia/commons/4/4d/ISO_7010_W067_warning%3B_alligators%2C_caymans_and_crocodiles.svg", - "name": "ISO 7010 W067 warning; alligators, caymans and crocodiles", - "html_url": "https://commons.wikimedia.org/wiki/File:ISO_7010_W067_warning;_alligators,_caymans_and_crocodiles.svg", - "author": "Repeater-reclaim", - "attribution_required": "false", - "license_short_name": "CC0", - "license_url": "http://creativecommons.org/publicdomain/zero/1.0/deed.en" - }, - { - "url": "https://upload.wikimedia.org/wikipedia/commons/e/e7/ISO_7010_W075.svg", - "name": "ISO 7010 W075", - "html_url": "https://commons.wikimedia.org/wiki/File:ISO_7010_W075.svg", - "author": "Clemenspool", - "attribution_required": "false", - "license_short_name": "CC0", - "license_url": "http://creativecommons.org/publicdomain/zero/1.0/deed.en" - }, - { - "url": "https://upload.wikimedia.org/wikipedia/commons/b/bf/ISO_7010_W062_warning%3B_kite_surfing.svg", - "name": "ISO 7010 W062 warning; kite surfing", - "html_url": "https://commons.wikimedia.org/wiki/File:ISO_7010_W062_warning;_kite_surfing.svg", - "author": "Repeater-reclaim", - "attribution_required": "false", - "license_short_name": "CC0", - "license_url": "http://creativecommons.org/publicdomain/zero/1.0/deed.en" - }, - { - "url": "https://upload.wikimedia.org/wikipedia/commons/1/15/ISO_7010_W032_warning%3B_rapid_movement_of_workpiece_in_press_brake_machine.svg", - "name": "ISO 7010 W032 warning; rapid movement of workpiece in press brake machine", - "html_url": "https://commons.wikimedia.org/wiki/File:ISO_7010_W032_warning;_rapid_movement_of_workpiece_in_press_brake_machine.svg", - "author": "Repeater-reclaim", - "attribution_required": "false", - "license_short_name": "CC0", - "license_url": "http://creativecommons.org/publicdomain/zero/1.0/deed.en" - }, - { - "url": "https://upload.wikimedia.org/wikipedia/commons/c/c3/ISO_7010_W047_warning%3B_deep_water.svg", - "name": "ISO 7010 W047 warning; deep water", - "html_url": "https://commons.wikimedia.org/wiki/File:ISO_7010_W047_warning;_deep_water.svg", - "author": "Repeater-reclaim", - "attribution_required": "false", - "license_short_name": "CC0", - "license_url": "http://creativecommons.org/publicdomain/zero/1.0/deed.en" - }, - { - "url": "https://upload.wikimedia.org/wikipedia/commons/b/be/ISO_7010_W069.svg", - "name": "ISO 7010 W069", - "html_url": "https://commons.wikimedia.org/wiki/File:ISO_7010_W069.svg", - "author": "Clemenspool", - "attribution_required": "false", - "license_short_name": "CC0", - "license_url": "http://creativecommons.org/publicdomain/zero/1.0/deed.en" - }, - { - "url": "https://upload.wikimedia.org/wikipedia/commons/2/28/ISO_7010_W037_warning%3B_injury_from_automated_or_remote-controlled_vehicles.svg", - "name": "ISO 7010 W037 warning; injury from automated or remote-controlled vehicles", - "html_url": "https://commons.wikimedia.org/wiki/File:ISO_7010_W037_warning;_injury_from_automated_or_remote-controlled_vehicles.svg", - "author": "Repeater-reclaim", - "attribution_required": "false", - "license_short_name": "CC0", - "license_url": "http://creativecommons.org/publicdomain/zero/1.0/deed.en" - }, - { - "url": "https://upload.wikimedia.org/wikipedia/commons/b/b2/ISO_7010_W065_warning%3B_high_surf_or_large_breaking_waves.svg", - "name": "ISO 7010 W065 warning; high surf or large breaking waves", - "html_url": "https://commons.wikimedia.org/wiki/File:ISO_7010_W065_warning;_high_surf_or_large_breaking_waves.svg", - "author": "Repeater-reclaim", - "attribution_required": "false", - "license_short_name": "CC0", - "license_url": "http://creativecommons.org/publicdomain/zero/1.0/deed.en" - }, - { - "url": "https://upload.wikimedia.org/wikipedia/commons/a/a1/ISO_7010_W080.svg", - "name": "ISO 7010 W080", - "html_url": "https://commons.wikimedia.org/wiki/File:ISO_7010_W080.svg", - "author": "Clemenspool", - "attribution_required": "false", - "license_short_name": "CC0", - "license_url": "http://creativecommons.org/publicdomain/zero/1.0/deed.en" - } -]