2 Commits ca3100d872 ... da27160303

Autor SHA1 Mensaje Fecha
  Kristian Schultz da27160303 Added installation and update script. hace 11 meses
  Kristian Schultz 27ea01129f Added config file. hace 11 meses
Se han modificado 5 ficheros con 70 adiciones y 3 borrados
  1. 3 2
      Programm/adi.py
  2. 25 0
      Programm/config.py
  3. 32 0
      Programm/install.sh
  4. 7 1
      Programm/qslGen.py
  5. 3 0
      Programm/update.sh

+ 3 - 2
Programm/adi.py

@@ -3,6 +3,7 @@ if __name__ == "__main__":
   print("This is a library not an executable.")
   exit(1)
 
+
 def cleanupXmlName(name):
   nameOut = ""
   for c in name:
@@ -66,8 +67,8 @@ class AdiRow:
     self.Mode = ""
     self.RST = ""
 
-  def fileName(self):
-    return cleanupPathName(f"{self.CALL}_{self.Date}_{self.Time}")
+  def fileName(self, card_name="{_CALL_}_{_Date_}_{_Time_}"):
+    return cleanupPathName(self.fillTemplate(card_name))
 
   def subPath(self):
     name = cleanupPathName(f"{self.CALL}")

+ 25 - 0
Programm/config.py

@@ -0,0 +1,25 @@
+import os
+
+baseDir = f"{os.path.dirname(__file__)}/.."
+
+def loadConfig(fileName):
+  cfg = { "card_name": "{_CALL_}_{_Date_}_{_Time_}"
+        , "verbose": "0"
+        }
+
+  with open(fileName, "rt") as f:
+    for row in f:
+      row = row.strip().split("=", 1)
+      if len(row) != 2:
+        continue
+
+      k = row[0].strip()
+      v = row[1].strip()
+      cfg[k] = v
+
+  if cfg["verbose"].lower() in ["1", "true", "yes", "on"]:
+    cfg["verbose"] = True
+  else:
+    cfg["verbose"] = False
+
+  return cfg

+ 32 - 0
Programm/install.sh

@@ -0,0 +1,32 @@
+#!/bin/bash
+
+echo "====[ Installiere qslGen ]============================================"
+cd "`dirname "$0"`/.."
+
+baseDir="`pwd`"
+
+echo "* Erstelle Verzeichnisse"
+mkdir -p {Vorlage,Karten,Eingang}
+
+echo "* Prüfe externe Programme"
+needPrg=
+python3 --version 2>>/dev/null || needPrg="$needPrg python3"
+inkscape --version 2>>/dev/null || needPrg="$needPrg inkscape"
+magick --version 2>>/dev/null || needPrg="$needPrg imagemagick"
+
+if test "x$needPrg" != "x"
+then
+  echo "  -> Installiere folgende Programme: $needPrg"
+  sudo apt install $needPrg
+fi
+
+echo "* Erstelle Verknüpfungen"
+
+mkdir -p ~/.local/bin
+test -e ~/.local/bin/qslGen.py || ln -s "$baseDir/Programm/qslGen.py" ~/.local/bin/qslGen.py
+
+echo "* Erstelle Config"
+test -e "$baseDir"/config.cfg || ( echo 'card_name={_CALL_}_{_Date_}_{_Time_}' > "$baseDir/config.cfg" )
+
+echo "* Fertig"
+

+ 7 - 1
Programm/qslGen.py

@@ -3,8 +3,10 @@ import os
 import sys
 import time
 import adi
+import config
 
 baseDir = os.path.expanduser("~/qslKarten")
+baseDir = config.baseDir
 inDir = f"{baseDir}/Eingang"
 outDir = f"{baseDir}/Karten"
 templateDir = f"{baseDir}/Vorlage"
@@ -13,6 +15,7 @@ dpi = 300
 
 verbose = False
 
+cfg = {}
 
 
 def exec(cmd, logFile=None):
@@ -52,7 +55,7 @@ def createQslCards(fileName, name):
   data = adi.loadAdi(fileName)
   numOfRows = len(data)
   for pos, row in enumerate(data):
-    tCall = row.fileName()
+    tCall = row.fileName(cfg["card_name"])
     if not verbose:
       progressBar(numOfRows, pos + 1, tCall)
 
@@ -123,6 +126,9 @@ def selectTemplate():
 
 
 if __name__ == "__main__":
+  cfg = config.loadConfig(f"{baseDir}/config.cfg")
+  verbose = cfg["verbose"]
+
   if "-v" in sys.argv or "--verbose" in sys.argv:
     verbose = True
 

+ 3 - 0
Programm/update.sh

@@ -0,0 +1,3 @@
+#!/bin/bash
+cd `dirname "$0"`
+git pull --ff-only