#!/usr/bin/python # Soil Sensor Label Image Generator # Takes a node ID (in hexadecimal, no leading 0x) as the first # command-line argument and writes a png image of a label to Label.png # Label real size: 1.35" wide x .70" tall # Label usable area dimensions: 1.19" wide x .618", 180 DPI assumed (214x111) import sys import subprocess import binascii if len(sys.argv) != 2: print "Usage: label.py " sys.exit(-1) subprocess.call(["rm", "-f", "barcode.png", "Label.png", "text1.png"]) subprocess.call(["zint", "-o", "barcode.png", "-b", "71", "--square", "--binary", "-d", binascii.unhexlify(sys.argv[1])]) subprocess.call(["convert", "Label Base.png", "(", "barcode.png", "-scale", "200%", ")", "-geometry", "+8+7", "-composite", "Label.png"]) subprocess.call(["convert", "-size", "60x30", "-background", "white", "-font", "DejaVu-Sans-Mono-Regular", "-pointsize", "10", "-fill", "black", "-gravity", "NorthWest", "+antialias", "label:%s"%(sys.argv[1][0:9] + "\n" + sys.argv[1][9:18]), "text1.png"]) subprocess.call(["convert", "Label.png", "(", "text1.png", ")", "-geometry", "+12+81", "-composite", "Label.png"])