Added help and option to enable QR

This commit is contained in:
José Carlos Cuevas 2021-08-11 21:08:27 +02:00
parent e3b3ea563d
commit 397a096608
2 changed files with 32 additions and 17 deletions

View file

@ -31,6 +31,5 @@ def load_config():
else:
with path.open("r") as cfg_file:
config = yaml.load(cfg_file.read(), Loader=yaml.FullLoader)
print(config)
return config

View file

@ -10,7 +10,7 @@ import os.path
import sys
# 3rd party imports
from escpos.printer import Usb, Dummy, File
from escpos.printer import Usb, File
import feedparser
import ignition
from PIL import Image
@ -28,6 +28,8 @@ logger = logging.getLogger(__name__)
config = {}
genqr = False
def initialize():
"""
@ -171,13 +173,21 @@ def print_gemini(printer, link):
elif line.startswith("=>"):
reset_defaults(printer)
printer.set(align="left",
font="b")
printer.text(line[3:])
reset_defaults(printer)
lnk = _process_link(link, line[3:])
printer.text("\n")
printer.qr(lnk, size=6)
if generate_qr:
printer.set(align="left",
font="b")
printer.text(line[3:])
reset_defaults(printer)
lnk = _process_link(link, line[3:])
printer.text("\n")
printer.qr(lnk, size=6)
else:
printer.set(align="left",
font="b",
text_type="U")
printer.text(line)
printer.text("\n")
else:
printer.set(align="left",
@ -243,8 +253,10 @@ def _print_rss_item(item):
printer.text(f"{date}\n\n")
printer.text(text)
printer.text("\n")
printer.qr(link, size=6)
printer.text("\n")
if generate_qr:
printer.qr(link, size=6)
printer.text("\n")
def print_text(printer, text):
@ -324,12 +336,13 @@ def create_parser():
"""
parser = argparse.ArgumentParser()
parser.add_argument("--weather", default=False)
parser.add_argument("--news", default=False)
parser.add_argument("--gemini", default=False)
parser.add_argument("--text", nargs=1, default=None)
parser.add_argument("--file", default=None, type=open)
parser.add_argument("--image", nargs=1, default=None)
parser.add_argument("--weather", default=False, help="Prints the weather in the given city")
parser.add_argument("--news", default=False, help="Loads a RSS or ATOM feed and prints it out")
parser.add_argument("--gemini", default=False, help="Loads a Gemini url and prints it out")
parser.add_argument("--text", nargs=1, default=None, help="Print the given text, use '-' to read from stdin")
parser.add_argument("--file", default=None, type=open, help="Loads a file and sends it to the printer (as text)")
parser.add_argument("--image", nargs=1, default=None, help="Print an image")
parser.add_argument("--genqr", action="store_true", help="Activates the generation of QR codes for links in news and gemini")
return parser
@ -340,6 +353,8 @@ if __name__ == "__main__":
parser = create_parser()
args = parser.parse_args()
generate_qr = args.genqr
if args.text:
print_text(printer, args.text[0])
printer.text("\n\n")
@ -354,6 +369,7 @@ if __name__ == "__main__":
if args.gemini:
print_gemini(printer, args.gemini)
printer.text("\n\n")
if args.news:
print_rss(printer, args.news)