Add option to color svg file itself with GET argument
This commit is contained in:
@@ -174,10 +174,12 @@ for j in glob.iglob(os.path.join(config.resourcedir, "**","*"), recursive=True):
|
|||||||
#add svgs:
|
#add svgs:
|
||||||
@app.get(f"/svg/<name>.svg")
|
@app.get(f"/svg/<name>.svg")
|
||||||
async def get_svg(request, name):
|
async def get_svg(request, name):
|
||||||
return response.text(svg.get(name), headers={"Content-Type": "image/svg+xml"})
|
color = request.args.get("color")
|
||||||
|
return response.text(svg.get(name, color), headers={"Content-Type": "image/svg+xml"})
|
||||||
@app.get(f"/svg/<collection>/<name>.svg")
|
@app.get(f"/svg/<collection>/<name>.svg")
|
||||||
async def get_svg(request, collection, name):
|
async def get_svg(request, collection, name):
|
||||||
return response.text(svg.get(os.path.join(collection, name)), headers={"Content-Type": "image/svg+xml"})
|
color = request.args.get("color")
|
||||||
|
return response.text(svg.get(os.path.join(collection, name), color), headers={"Content-Type": "image/svg+xml"})
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
app.run(host="0.0.0.0", port=8000)
|
app.run(host="0.0.0.0", port=8000)
|
||||||
|
|||||||
@@ -19,10 +19,17 @@ def list_collections():
|
|||||||
|
|
||||||
|
|
||||||
@memoize
|
@memoize
|
||||||
def get(name):
|
def get(name, color=None):
|
||||||
with open(os.path.join(config.svgdir, f"{name}.svg"), "r") as f:
|
with open(os.path.join(config.svgdir, f"{name}.svg"), "r") as f:
|
||||||
return f.read()
|
if not color:
|
||||||
|
return f.read()
|
||||||
|
return (f.read() #EW!
|
||||||
|
.replace("style=\"fill:#", f"style=\"fill:#{color};")
|
||||||
|
.replace("style='fill:#", f"style='fill:#{color};")
|
||||||
|
.replace("fill=\"#", f"fill=\"#{color}\" asdasd=\"")
|
||||||
|
.replace("fill='#", f"fill='#{color}' asdasd='")
|
||||||
|
.replace("<svg", f"<svg fill=\"#{color}\"")
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
def store(name, data):
|
def store(name, data):
|
||||||
|
|||||||
Reference in New Issue
Block a user