Compare commits

..

2 Commits

Author SHA1 Message Date
Sam W 0dc4505630 fetch from server 2023-08-18 17:32:29 +02:00
Sam W 0cdf3f4a98 Add counts 2023-08-18 14:37:01 +02:00
6 changed files with 58 additions and 785 deletions

4
.gitignore vendored
View File

@ -1 +1,5 @@
.direnv .direnv
stuff/
.DS_Store
__pycache__/
dist/

View File

@ -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"
}
]

74
main.py
View File

@ -3,10 +3,13 @@ import sqlite3
import json import json
from quart import Quart, render_template, websocket, request, redirect, send_from_directory from quart import Quart, render_template, websocket, request, redirect, send_from_directory
import re import re
import requests import aiohttp
import aiofiles
import subprocess import subprocess
from io import UnsupportedOperation from io import UnsupportedOperation
STICKERS_ENDPOINT = "https://files.wlcx.cc/stickers.json"
app = Quart(__name__) app = Quart(__name__)
app.config['TEMPLATES_AUTO_RELOAD'] = True app.config['TEMPLATES_AUTO_RELOAD'] = True
headers = { headers = {
@ -25,9 +28,8 @@ def load_things():
out[section] = sorted(json.load(f), key=lambda e: e["name"]) out[section] = sorted(json.load(f), key=lambda e: e["name"])
return out return out
things = load_things() stickers = dict()
indexed = dict()
indexed = {w["name"]: w for kj in things.values() for w in kj}
db = sqlite3.connect("counts.db") db = sqlite3.connect("counts.db")
cur = db.cursor() cur = db.cursor()
@ -41,20 +43,36 @@ def get_db():
@app.route("/", methods=["GET"]) @app.route("/", methods=["GET"])
async def home(): 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() cur = get_db().cursor()
counts = {c[0]: c[1] for c in cur.execute("select what, count from counts").fetchall()} 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/<path:path>') @app.route('/static/<path:path>')
def staticfile(path): def staticfile(path):
return send_from_directory('static', 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): def printit(filename):
subprocess.run(f"brother_ql -b pyusb -p usb://0x04f9:0x2042 -m QL-700 print -l62 {filename}", shell=True, check=True) 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"]) @app.route("/", methods=["POST"])
async def print(): async def printio():
w = (await request.form)["w"] w = (await request.form)["w"]
global indexed
thewarn = indexed[w] thewarn = indexed[w]
if not thewarn["url"].startswith("http"): if not thewarn["url"].startswith("http"):
# it's local # it's local
@ -63,28 +81,36 @@ async def print():
png_filename = f"{lol.replace(' ', '_')}.png" png_filename = f"{lol.replace(' ', '_')}.png"
else: else:
filename = thewarn["url"].split("/")[-1] filename = thewarn["url"].split("/")[-1]
lol = re.search('W\d+', filename)[0] lol = re.search('W\d+', filename)
png_filename = f"{lol}.png" if lol:
quad_png_filename = f"{lol}_quad.png" lol = lol[0]
if not os.path.exists(filename): else:
r = requests.get(thewarn["url"], headers=headers) lol = filename
r.raise_for_status() png_filename = f"stuff/{lol}.png"
with open(filename, "wb") as file: quad_png_filename = f"stuff/{lol}_quad.png"
file.write(r.content) 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): 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) 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): #if not os.path.exists(quad_png_filename):
# subprocess.run("magick -size 696x xc:white ({png_filename} -resize 50%x) # subprocess.run("magick -size 696x xc:white ({png_filename} -resize 50%x)
printit(png_filename) for _ in range(int((await request.form)["count"])):
cur.execute("""INSERT OR REPLACE INTO counts(what, count) printit(png_filename)
VALUES (:what, cur.execute("""INSERT OR REPLACE INTO counts(what, count)
COALESCE( VALUES (:what,
(SELECT count FROM counts COALESCE(
WHERE what=:what), (SELECT count FROM counts
0) + 1); WHERE what=:what),
""", dict(what=lol)) 0) + 1);
db.commit() """, dict(what=lol))
db.commit()
with open("counts.txt", "a") as f:
f.write(f"{lol}\n")
return redirect("/") return redirect("/")
if __name__ == "__main__": if __name__ == "__main__":

View File

@ -1,2 +1,4 @@
requests
quart quart
pyinstaller
aiohttp
aiofiles

View File

@ -35,6 +35,7 @@
{{ counts.get(w.name, 0) }} {{ counts.get(w.name, 0) }}
</div> </div>
<form method="POST"> <form method="POST">
<input type="number" min="1" max="10" value="1" name="count">
<button type="submit" name="w" value="{{ w.name }}">Print</button> <button type="submit" name="w" value="{{ w.name }}">Print</button>
</form> </form>
</div> </div>

View File

@ -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"
}
]