add generic barcode methods to bureau

workspace
Brendan Howell 5 years ago
parent 2211378651
commit 0b122c963a

@ -1,6 +1,7 @@
# bureau
import functools
import inspect
import io
import json
import logging
import os.path
@ -12,6 +13,7 @@ import textwrap
#import traceback
import threading
import barcode
import lmdb
import PIL
import weasyprint
@ -219,6 +221,26 @@ class Bureau(object):
db = KeyValStore(self.dbenv, name)
return db
def bc_svg(self, code, tofile=False, outfile=None):
"""
generate a CODE128 barcode as an SVG
returns a string or can write to a tmp file or specific
file given arguments
"""
fp = io.BytesIO()
barcode.generate("CODE128", code, writer=barcode.writer.SVGWriter(), output=fp)
# TODO: add file output
return fp.read().decode()
def bc_png(self, code, outfile=None):
"""
generate a code128 barcode as a png
returns the full path to the file
if file is not specified, uses a tmp file
"""
# TODO: implement this (its like 5 lines!)
raise NotImplemented("png generation not implemented!")
def load_config(self):
"""
load (or reload) config data from file

Loading…
Cancel
Save