# # Copyright (C) 2010 Martin Owens # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA # """ Renderer for barcodes, SVG extention for Inkscape. For supported barcodes see Barcode module directory. """ # This lists all known Barcodes missing from this package # ===== UPC-Based Extensions ====== # # Code11 # ========= Code25-Based ========== # # Codabar # Postnet # ITF25 # ========= Alpha-numeric ========= # # Code39Mod # USPS128 # =========== 2D Based ============ # # PDF417 # PDF417-Macro # PDF417-Truncated # PDF417-GLI import sys def getBarcode(format, param={}): if format: format = str(format).lower() format = format.replace('-', '') format = format.replace(' ', '') if format=='code25i': import Code25i return Code25i.Object(param) elif format=='code39': import Code39 return Code39.Object(param) elif format=='code39ext': import Code39Ext return Code39Ext.Object(param) elif format=='code93': import Code93 return Code93.Object(param) elif format=='code128': import Code128 return Code128.Object(param) elif format in ['rm4cc', 'rm4scc']: import RM4CC return RM4CC.Object(param) elif format == 'upca': import UPCA return UPCA.Object(param) elif format == 'upce': import UPCE return UPCE.Object(param) elif format == 'ean5': import EAN5 return EAN5.Object(param) elif format in ['ean8', 'ucc8']: import EAN8 return EAN8.Object(param) elif format in ['ean13', 'ucc13','jan']: import EAN13 return EAN13.Object(param) sys.stderr.write("Invalid format for barcode: " + str(format) + "\n")