Allow multiple fonts on the command line
authorVik Fearing <vik@chouppes.com>
Wed, 4 Sep 2024 11:26:29 +0000 (13:26 +0200)
committerVik Fearing <vik@chouppes.com>
Wed, 4 Sep 2024 22:32:36 +0000 (00:32 +0200)
docs/confreg/skinning.md
postgresqleu/confreg/jinjapdf.py

index 5142c50f46e69f2b8b451ba48f8f631361de7a85..acbd92ae7b8e0f0d453efb1be0fd134a6b28dab2 100644 (file)
@@ -372,7 +372,8 @@ paragraph
      : The actual text to write
 
      fontname
-     : The font to use. This font must be registered in local_settings.py!
+     : The font to use. This font must be registered in local_settings.py! When using the
+       command line, these may be passed via one or multiple `--font` arguments.
 
      color
      : The color to use (defaults to *black*)
index 4ce7e73f5aedb055128fd3d6c1be3fed7d39e4ba..d7fc143531a6f98a8bed3b67afebb3e631cd2481 100755 (executable)
@@ -382,7 +382,7 @@ if __name__ == "__main__":
     parser.add_argument('--borders', action='store_true', help='Enable borders on written file')
     parser.add_argument('--pagebreaks', action='store_true', help='Enable pagebreaks on written file')
     parser.add_argument('--fontroot', type=str, help='fontroot for dejavu fonts')
-    parser.add_argument('--font', type=str, nargs='+', help='<font name>:<font path>')
+    parser.add_argument('--font', type=str, nargs=1, action='append', help='<font name>:<font path>')
 
     args = parser.parse_args()
 
@@ -424,7 +424,8 @@ if __name__ == "__main__":
     ]
 
     if args.font:
-        fonts.extend([f.split(':') for f in args.font])
+        for font in args.font:
+            fonts.extend([f.split(':') for f in font])
 
     if args.what == 'badge':
         renderer = JinjaBadgeRenderer(args.repopath, fonts, debug=True, border=args.borders, pagebreaks=args.pagebreaks)