Code

Extensions. Barcode extension refactoring (see https://code.launchpad.net/~doctormo...
[inkscape.git] / share / extensions / Barcode / Code39Ext.py
index 23c0d6a46a9633f92e82f1961378d8660844e3bd..8f1e77826dc3abe5a539365f7b2fe7be824f9ee6 100644 (file)
@@ -1,21 +1,23 @@
-#!/usr/bin/env python
-'''
-Copyright (C) 2007 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
-'''
+#
+# Copyright (C) 2007 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
+#
+"""
+Python barcode renderer for Code39 Extended barcodes. Designed for Inkscape.
+"""
 
 import Code39
 
@@ -25,18 +27,18 @@ map = {}
 
 i = 0
 for char in encode:
-       map[char] = i
-       i = i + 1
+    map[char] = i
+    i = i + 1
 
 # Extended encoding maps for full ASCII Code93
 def getMap(array):
-       result = {}
-       y = 0
-       for x in array:
-               result[chr(x)] = encode[y]
-               y = y + 1
+    result = {}
+    y = 0
+    for x in array:
+        result[chr(x)] = encode[y]
+        y = y + 1
 
-       return result;
+    return result;
 
 # MapA is eclectic, but B, C, D are all ASCII ranges
 mapA = getMap([27,28,29,30,31,59,60,61,62,63,91,92,93,94,95,123,124,125,126,127,0,64,96,127,127,127]) # %
@@ -45,19 +47,19 @@ mapC = getMap(range(33, 58)) # /
 mapD = getMap(range(97, 122)) # +
 
 class Object(Code39.Object):
-       def encode(self, text):
-               # We are only going to extend the Code39 barcodes
-               result = ''
-               for char in text:
-                       if mapA.has_key(char):
-                               char = '%' + mapA[char]
-                       elif mapB.has_key(char):
-                               char = '$' + mapB[char]
-                       elif mapC.has_key(char):
-                               char = '/' + mapC[char]
-                       elif mapD.has_key(char):
-                               char = '+' + mapD[char]
-                       result = result + char
-
-               return Code39.Object.encode(self, result);
+    def encode(self, text):
+        # We are only going to extend the Code39 barcodes
+        result = ''
+        for char in text:
+            if mapA.has_key(char):
+                char = '%' + mapA[char]
+            elif mapB.has_key(char):
+                char = '$' + mapB[char]
+            elif mapC.has_key(char):
+                char = '/' + mapC[char]
+            elif mapD.has_key(char):
+                char = '+' + mapD[char]
+            result = result + char
+
+        return Code39.Object.encode(self, result);