SakiKawasaki 5 years ago
parent
commit
c402db1e91
4 changed files with 20 additions and 12 deletions
  1. 1 1
      badgemaker.nimble
  2. 1 1
      badgemaker/badgemaker.nim
  3. 18 10
      badgemaker/badgemaker/CLI.nim
  4. BIN
      tests/test12.exe

+ 1 - 1
badgemaker.nimble

@@ -1,7 +1,7 @@
 [Package]
 name = "badgemaker"
 author = "Ethosa"
-version = "0.0.5"
+version = "0.0.6"
 description = "The Nim badgemaker tool."
 license = "AGPLv3"
 srcDir = "badgemaker"

+ 1 - 1
badgemaker/badgemaker.nim

@@ -56,7 +56,7 @@ proc `$`*(badge: BadgeRef): string =
     labell = len(badge.label)
     valuel = len(badge.value)
     bfsize = (badge.font_size - 3).int
-    bfsize1 = (badge.font_size/2).int)
+    bfsize1 = (badge.font_size/2).int
     labelw = labell*bfsize + labell + image_width
     valuew = valuel*bfsize + valuel + image_width
     radius = if "square" in badge.style: "0" else: "4"

+ 18 - 10
badgemaker/badgemaker/CLI.nim

@@ -33,22 +33,30 @@ proc parseCommandLine*(args: seq[string]) =
     "style": %"plastic"
   }
   var opts = initOptParser(args)
+
+  # Parse arguments
   for kind, key, value in opts.getopt:
     case kind
-    of cmdEnd: continue
-    of cmdArgument: continue
     of cmdShortOption, cmdLongOption:
       if value != "":
         if params.hasKey(key):
           params[key] = %value
-  var badge = newBadge(
-    label=params["label"].getStr, value=params["value"].getStr,
-    width=params["width"].getStr.parseInt, height=params["height"].getStr.parseInt,
-    label_color=params["label_color"].getStr, label_text_color=params["label_text_color"].getStr,
-    value_color=params["value_color"].getStr, value_text_color=params["value_text_color"].getStr,
-    style=params["style"].getStr
-  )
+    else:
+      continue
+
+  # Create a new badge.
+  var
+    badge = newBadge(
+      label=params["label"].getStr, value=params["value"].getStr,
+      width=params["width"].getStr.parseInt, height=params["height"].getStr.parseInt,
+      label_color=params["label_color"].getStr, label_text_color=params["label_text_color"].getStr,
+      value_color=params["value_color"].getStr, value_text_color=params["value_text_color"].getStr,
+      style=params["style"].getStr)
+    name = params["filename"].getStr
   badge.setFont params["font"].getStr
   badge.setFontSize params["font_size"].getStr.parseInt
   badge.setIcon params["image_path"].getStr, params["image_color"].getStr
-  badge.write params["filename"].getStr
+
+  if not name.endsWith(".svg"):
+    name &= ".svg"
+  badge.write name  # and write it in the file.

BIN
tests/test12.exe