1
0

2 کامیت‌ها ca3100d872 ... da27160303

نویسنده SHA1 پیام تاریخ
  Kristian Schultz da27160303 Added installation and update script. 11 ماه پیش
  Kristian Schultz 27ea01129f Added config file. 11 ماه پیش
5فایلهای تغییر یافته به همراه70 افزوده شده و 3 حذف شده
  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