aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xgerbolyze/gerbolyze.py4
-rw-r--r--svg-flatten/src/main.cpp12
2 files changed, 12 insertions, 4 deletions
diff --git a/gerbolyze/gerbolyze.py b/gerbolyze/gerbolyze.py
index c3107eb..b55c6e8 100755
--- a/gerbolyze/gerbolyze.py
+++ b/gerbolyze/gerbolyze.py
@@ -426,7 +426,7 @@ def load_side(side_matches):
for layer, elems in layers.items():
if len(elems) > 1 and layer != 'drill':
- raise SystemError(f'Multiple files found for layer {layer}: {", ".join(side_matches[layer]) }')
+ raise SystemError(f'Multiple files found for layer {layer}: {", ".join(str(x) for x in side_matches[layer]) }')
unitses = set(layer.cam_source.units for items in layers.values() for _path, layer in items)
if len(unitses) != 1:
@@ -551,6 +551,8 @@ def svg_to_gerber(infile, outfile, layer=None, trace_space:'mm'=0.1, vectorizer=
candidates = [
# somewhere in $PATH
'svg-flatten',
+ # in user-local pip installation
+ Path.home() / '.local' / 'bin' / 'svg-flatten',
# next to our current python interpreter (e.g. in virtualenv
str(Path(sys.executable).parent / 'svg-flatten'),
# next to this python source file in the development repo
diff --git a/svg-flatten/src/main.cpp b/svg-flatten/src/main.cpp
index 2b996f3..d96785b 100644
--- a/svg-flatten/src/main.cpp
+++ b/svg-flatten/src/main.cpp
@@ -352,16 +352,22 @@ int main(int argc, char **argv) {
int usvg_rc=-1;
for (int i=0; i<3; i++) {
const char *usvg_envvar;
- if (i == 0) {
+ switch (i) {
+ case 0:
if ((usvg_envvar = getenv("USVG")) == NULL) {
continue;
} else {
command_line[0] = "usvg";
}
- } else if (i == 1) {
+ break;
+
+ case 1:
command_line[0] = "usvg";
- } else {
+ break;
+
+ case 2:
command_line[0] = loc_in_home.c_str();
+ break;
}
struct subprocess_s subprocess;