Support additional logos, starting with THW
This commit is contained in:
12
app/app.py
12
app/app.py
@ -23,16 +23,21 @@ class Generator:
|
||||
GENERATOR_SCAD_FILE_NAME = "generator.scad"
|
||||
GENERATED_STL_FILE_NAME = "generated.stl"
|
||||
|
||||
def __init__(self, name: str, tempdir: Path | str):
|
||||
def __init__(self, name: str, tempdir: Path | str, logo: str = None):
|
||||
self._name = name
|
||||
self._tempdir = Path(tempdir)
|
||||
|
||||
# sanitize input
|
||||
if "/" in logo:
|
||||
raise ValueError("invalid logo name")
|
||||
self._logo = Path(logo).name
|
||||
|
||||
def _generate_scad_template(self) -> str:
|
||||
return f"""
|
||||
use <bottle-clip.scad>
|
||||
$fn=180;
|
||||
// one name tag for 0.5l Club Mate and similar bottles
|
||||
bottle_clip(name="{self._name}", logo="thing-logos/fablab.dxf");
|
||||
bottle_clip(name="{self._name}", logo="thing-logos/{self._logo}.dxf");
|
||||
"""
|
||||
|
||||
def _generate_files_in_temp_dir(self):
|
||||
@ -83,6 +88,7 @@ async def generate():
|
||||
raise ValueError
|
||||
|
||||
name = data["name"]
|
||||
logo = data.get("logo", None)
|
||||
|
||||
except (TypeError, KeyError, ValueError):
|
||||
abort(400)
|
||||
@ -90,7 +96,7 @@ async def generate():
|
||||
|
||||
async with semaphore:
|
||||
with tempfile.TemporaryDirectory(prefix="fablab-bottle-clip-generator-") as tempdir:
|
||||
generator = Generator(name, tempdir)
|
||||
generator = Generator(name, tempdir, logo)
|
||||
|
||||
generated_stl_file_name = await generator.generate_stl()
|
||||
|
||||
|
Reference in New Issue
Block a user