From 07065bf07b294c23c17d77cdbdd5e6b079be629d Mon Sep 17 00:00:00 2001 From: federico Date: Tue, 23 Aug 2016 18:22:47 -0500 Subject: [PATCH 1/3] perf(barcode): use a better python library to generate barcodes elaphe gives us the ability to use a lot of barcode types that's why we are proposing using it instead of the others libraries --- report_aeroo/barcode/barcode.py | 18 +++++------------- 1 file changed, 5 insertions(+), 13 deletions(-) diff --git a/report_aeroo/barcode/barcode.py b/report_aeroo/barcode/barcode.py index 5bde028..5a396ec 100644 --- a/report_aeroo/barcode/barcode.py +++ b/report_aeroo/barcode/barcode.py @@ -29,34 +29,26 @@ # ############################################################################## -from code128 import get_code -from code39 import create_c39 -from EANBarCode import EanBarCode +from elaphe import barcode try: from cStringIO import StringIO except ImportError: from StringIO import StringIO + def make_barcode(code, code_type='ean13', rotate=None, height=50, xw=1): if code: - if code_type.lower()=='ean13': - bar=EanBarCode() - im = bar.getImage(code,height) - elif code_type.lower()=='code128': - im = get_code(code, xw, height) - elif code_type.lower()=='code39': - im = create_c39(height, xw, code) + im = barcode(code_type, code, scale=height) else: return StringIO(), 'image/png' tf = StringIO() try: - if rotate!=None: - im=im.rotate(int(rotate)) + if rotate is not None: + im = im.rotate(int(rotate)) except Exception, e: pass im.save(tf, 'png') size_x = str(im.size[0]/96.0)+'in' size_y = str(im.size[1]/96.0)+'in' return tf, 'image/png', size_x, size_y - From c04a8da49d0495edea9605ccd45d1d4f4f9822cc Mon Sep 17 00:00:00 2001 From: federico Date: Wed, 24 Aug 2016 12:03:09 -0500 Subject: [PATCH 2/3] perf(remove unused code): this code is not necessary due to elaphe library is replacing the functio --- report_aeroo/barcode/EANBarCode.py | 159 ---------------------- report_aeroo/barcode/FreeMonoBold.ttf | Bin 173608 -> 0 bytes report_aeroo/barcode/code128.py | 185 -------------------------- report_aeroo/barcode/code39.py | 162 ---------------------- report_aeroo/barcode/courB08.pbm | Bin 1273 -> 0 bytes report_aeroo/barcode/courB08.pil | Bin 5143 -> 0 bytes 6 files changed, 506 deletions(-) delete mode 100644 report_aeroo/barcode/EANBarCode.py delete mode 100644 report_aeroo/barcode/FreeMonoBold.ttf delete mode 100644 report_aeroo/barcode/code128.py delete mode 100644 report_aeroo/barcode/code39.py delete mode 100755 report_aeroo/barcode/courB08.pbm delete mode 100755 report_aeroo/barcode/courB08.pil diff --git a/report_aeroo/barcode/EANBarCode.py b/report_aeroo/barcode/EANBarCode.py deleted file mode 100644 index ad9c399..0000000 --- a/report_aeroo/barcode/EANBarCode.py +++ /dev/null @@ -1,159 +0,0 @@ -# Copyright (c) 2009-2011 Alistek Ltd (http://www.alistek.com) All Rights Reserved. -# General contacts - -from openerp.tools import config, ustr -fontsize = 12 - -""" -This class generate EAN bar code, it required PIL (python imaging library) -installed. - -If the code has not checksum (12 digits), it added automatically. - -Create bar code sample : - from EANBarCode import EanBarCode - bar = EanBarCode() - bar.getImage("9782212110708",50,"gif") - -""" - -class EanBarCode: - """ Compute the EAN bar code """ - def __init__(self): - A = {0 : "0001101", 1 : "0011001", 2 : "0010011", 3 : "0111101", 4 : "0100011", - 5 : "0110001", 6 : "0101111", 7 : "0111011", 8 : "0110111", 9 : "0001011"} - B = {0 : "0100111", 1 : "0110011", 2 : "0011011", 3 : "0100001", 4 : "0011101", - 5 : "0111001", 6 : "0000101", 7 : "0010001", 8 : "0001001", 9 : "0010111"} - C = {0 : "1110010", 1 : "1100110", 2 : "1101100", 3 : "1000010", 4 : "1011100", - 5 : "1001110", 6 : "1010000", 7 : "1000100", 8 : "1001000", 9 : "1110100"} - self.groupC = C - - self.family = {0 : (A,A,A,A,A,A), 1 : (A,A,B,A,B,B), 2 : (A,A,B,B,A,B), 3 : (A,A,B,B,B,A), 4 : (A,B,A,A,B,B), - 5 : (A,B,B,A,A,B), 6 : (A,B,B,B,A,A), 7 : (A,B,A,B,A,B), 8 : (A,B,A,B,B,A), 9 : (A,B,B,A,B,A)} - - - def makeCode(self, code): - """ Create the binary code - return a string which contains "0" for white bar, "1" for black bar, "L" for long bar """ - - # Convert code string in integer list - self.EAN13 = [] - for digit in code: - self.EAN13.append(int(digit)) - - # If the code has already a checksum - if len(self.EAN13) == 13: - # Verify checksum - self.verifyChecksum(self.EAN13) - # If the code has not yet checksum - elif len(self.EAN13) == 12: - # Add checksum value - self.EAN13.append(self.computeChecksum(self.EAN13)) - - # Get the left codage class - left = self.family[self.EAN13[0]] - - # Add start separator - strCode = 'L0L' - - # Compute the left part of bar code - for i in range(0,6): - strCode += left[i][self.EAN13[i+1]] - - # Add middle separator - strCode += '0L0L0' - - # Compute the right codage class - for i in range (7,13): - strCode += self.groupC[self.EAN13[i]] - - # Add stop separator - strCode += 'L0L' - - return strCode - - - def computeChecksum(self, arg): - """ Compute the checksum of bar code """ - # UPCA/EAN13 - weight=[1,3]*6 - magic=10 - sum = 0 - - for i in range(12): # checksum based on first 12 digits. - sum = sum + int(arg[i]) * weight[i] - z = ( magic - (sum % magic) ) % magic - if z < 0 or z >= magic: - return None - return z - - - def verifyChecksum(self, bits): - """ Verify the checksum """ - computedChecksum = self.computeChecksum(bits[:12]) - codeBarChecksum = bits[12] - - if codeBarChecksum != computedChecksum: - raise Exception ("Bad checksum is %s and should be %s"%(codeBarChecksum, computedChecksum)) - - - def getImage(self, value, height = 50, xw=1, rotate=None, extension = "PNG"): - """ Get an image with PIL library - value code barre value - height height in pixel of the bar code - extension image file extension""" - from PIL import Image, ImageFont, ImageDraw - import os - from string import lower, upper - - # Get the bar code list - bits = self.makeCode(value) - - # Get thee bar code with the checksum added - code = "" - for digit in self.EAN13: - code += "%d"%digit - - # Create a new image - position = 8 - im = Image.new("L",(len(bits)+position,height+2)) - - # Load font - ad = os.path.abspath(os.path.join(ustr(config['root_path']), u'addons')) - mod_path_list = map(lambda m: os.path.abspath(ustr(m.strip())), config['addons_path'].split(',')) - mod_path_list.append(ad) - - for mod_path in mod_path_list: - font_file = mod_path+os.path.sep+ \ - "report_aeroo"+os.path.sep+"barcode"+os.path.sep+"FreeMonoBold.ttf"#"courB08.pil" - if os.path.lexists(font_file): - font = ImageFont.truetype(font_file, fontsize) - #font = ImageFont.load(font_file) - - # Create drawer - draw = ImageDraw.Draw(im) - - # Erase image - draw.rectangle(((0,0),(im.size[0],im.size[1])),fill=256) - - # Draw first part of number - draw.text((0, height-9), code[0], font=font, fill=0) - - # Draw first part of number - draw.text((position+3, height-9), code[1:7], font=font, fill=0) - - # Draw second part of number - draw.text((len(bits)/2+2+position, height-9), code[7:], font=font, fill=0) - - # Draw the bar codes - for bit in range(len(bits)): - # Draw normal bar - if bits[bit] == '1': - draw.rectangle(((bit+position,0),(bit+position,height-10)),fill=0) - # Draw long bar - elif bits[bit] == 'L': - draw.rectangle(((bit+position,0),(bit+position,height-3)),fill=0) - - # Save the result image - return im - diff --git a/report_aeroo/barcode/FreeMonoBold.ttf b/report_aeroo/barcode/FreeMonoBold.ttf deleted file mode 100644 index 3bce6129aeaf8998be2af0fc1f7b3c8c406cdf65..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 173608 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

dV65$y-Lsh*Q)-*pXmB{TS@lMH`DB+$ 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%0DPX3YCO)`w~ch~Ab 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 -# This list was cut'n'pasted verbatim from the "Code 128 Specification Page" -# at http://www.adams1.com/pub/russadam/128code.html - -codelist="""0 SP SP 00 2 1 2 2 2 2 -1 ! ! 01 2 2 2 1 2 2 -2 " " 02 2 2 2 2 2 1 -3 # # 03 1 2 1 2 2 3 -4 $ $ 04 1 2 1 3 2 2 -5 % % 05 1 3 1 2 2 2 -6 & & 06 1 2 2 2 1 3 -7 ' ' 07 1 2 2 3 1 2 -8 ( ( 08 1 3 2 2 1 2 -9 ) ) 09 2 2 1 2 1 3 -10 * * 10 2 2 1 3 1 2 -11 + + 11 2 3 1 2 1 2 -12 , , 12 1 1 2 2 3 2 -13 - - 13 1 2 2 1 3 2 -14 . . 14 1 2 2 2 3 1 -15 / / 15 1 1 3 2 2 2 -16 0 0 16 1 2 3 1 2 2 -17 1 1 17 1 2 3 2 2 1 -18 2 2 18 2 2 3 2 1 1 -19 3 3 19 2 2 1 1 3 2 -20 4 4 20 2 2 1 2 3 1 -21 5 5 21 2 1 3 2 1 2 -22 6 6 22 2 2 3 1 1 2 -23 7 7 23 3 1 2 1 3 1 -24 8 8 24 3 1 1 2 2 2 -25 9 9 25 3 2 1 1 2 2 -26 : : 26 3 2 1 2 2 1 -27 ; ; 27 3 1 2 2 1 2 -28 < < 28 3 2 2 1 1 2 -29 = = 29 3 2 2 2 1 1 -30 > > 30 2 1 2 1 2 3 -31 ? ? 31 2 1 2 3 2 1 -32 @ @ 32 2 3 2 1 2 1 -33 A A 33 1 1 1 3 2 3 -34 B B 34 1 3 1 1 2 3 -35 C C 35 1 3 1 3 2 1 -36 D D 36 1 1 2 3 1 3 -37 E E 37 1 3 2 1 1 3 -38 F F 38 1 3 2 3 1 1 -39 G G 39 2 1 1 3 1 3 -40 H H 40 2 3 1 1 1 3 -41 I I 41 2 3 1 3 1 1 -42 J J 42 1 1 2 1 3 3 -43 K K 43 1 1 2 3 3 1 -44 L L 44 1 3 2 1 3 1 -45 M M 45 1 1 3 1 2 3 -46 N N 46 1 1 3 3 2 1 -47 O O 47 1 3 3 1 2 1 -48 P P 48 3 1 3 1 2 1 -49 Q Q 49 2 1 1 3 3 1 -50 R R 50 2 3 1 1 3 1 -51 S S 51 2 1 3 1 1 3 -52 T T 52 2 1 3 3 1 1 -53 U U 53 2 1 3 1 3 1 -54 V V 54 3 1 1 1 2 3 -55 W W 55 3 1 1 3 2 1 -56 X X 56 3 3 1 1 2 1 -57 Y Y 57 3 1 2 1 1 3 -58 Z Z 58 3 1 2 3 1 1 -59 [ [ 59 3 3 2 1 1 1 -60 \\ \\ 60 3 1 4 1 1 1 -61 ] ] 61 2 2 1 4 1 1 -62 ^ ^ 62 4 3 1 1 1 1 -63 _ _ 63 1 1 1 2 2 4 -64 NUL ' 64 1 1 1 4 2 2 -65 SOH a 65 1 2 1 1 2 4 -66 STX b 66 1 2 1 4 2 1 -67 ETX c 67 1 4 1 1 2 2 -68 EOT d 68 1 4 1 2 2 1 -69 ENQ e 69 1 1 2 2 1 4 -70 ACK f 70 1 1 2 4 1 2 -71 BEL g 61 1 2 2 1 1 4 -72 BS h 72 1 2 2 4 1 1 -73 HT i 73 1 4 2 1 1 2 -74 LF j 74 1 4 2 2 1 1 -75 VT k 75 2 4 1 2 1 1 -76 FF l 76 2 2 1 1 1 4 -77 CR m 77 4 1 3 1 1 1 -78 SO n 78 2 4 1 1 1 2 -79 SI o 79 1 3 4 1 1 1 -80 DLE p 80 1 1 1 2 4 2 -81 DC1 q 81 1 2 1 1 4 2 -82 DC2 r 82 1 2 1 2 4 1 -83 DC3 s 83 1 1 4 2 1 2 -84 DC4 t 84 1 2 4 1 1 2 -85 NAK u 85 1 2 4 2 1 1 -86 SYN v 86 4 1 1 2 1 2 -87 ETB w 87 4 2 1 1 1 2 -88 CAN x 88 4 2 1 2 1 1 -89 EM y 89 2 1 2 1 4 1 -90 SUB z 90 2 1 4 1 2 1 -91 ESC { 91 4 1 2 1 2 1 -92 FS | 92 1 1 1 1 4 3 -93 GS } 93 1 1 1 3 4 1 -94 RS ~ 94 1 3 1 1 4 1 -95 (Hex 7F) US DEL 95 1 1 4 1 1 3 -96 (Hex 80) FNC 3 FNC 3 96 1 1 4 3 1 1 -97 (Hex 81) FNC 2 FNC 2 97 4 1 1 1 1 3 -98 (Hex 82) SHIFT SHIFT 98 4 1 1 3 1 1 -99 (Hex 83) CODE C CODE C 99 1 1 3 1 4 1 -100 (Hex 84) CODE B FNC 4 CODE B 1 1 4 1 3 1 -101 (Hex 85) FNC 4 CODE A CODE A 3 1 1 1 4 1 -102 (Hex 86) FNC 1 FNC 1 FNC 1 4 1 1 1 3 1""" - - - - -other="""103 (Hex 87) START (Code A) 2 1 1 4 1 2 -104 (Hex 88) START (Code B) 2 1 1 2 1 4 -105 (Hex 89) START (Code C) 2 1 1 2 3 2 -106 STOP 2 3 3 1 1 1 2""" - - -codes={} -values={} -for l in codelist.split('\n'): - l.strip() - num,a1,b1,c1,code=l.split('\t') - num=int(num.split(' ')[0]) - values[num]=[int(x) for x in code.split()] - codes[b1.strip()]=num - -codes[' ']=codes['SP'] - -for l in other.split('\n'): - l.strip() - num,name,code=l.split('\t') - num=int(num.split(' ')[0]) - values[num]=[int(x) for x in code.split()] - codes[name.strip()]=num - -def encode_message(msg): - startnum=codes['START (Code B)'] - message=values[startnum][:] - chksum=startnum - mult=1 - for c in msg: - if not codes.has_key(c): - raise "No code for "+c - chksum=chksum+mult*codes[c] - mult=mult+1 - message=message+values[codes[c]] - - chksum=chksum%103 - - message=message+values[chksum] - message=message+values[codes['STOP']] - - return message - - -import os -from PIL import Image -def get_code(message,xw=1,h=100,rotate=None): - """ message is message to code. - xw is horizontal multiplier (in pixels width of narrowest bar) - h is height in pixels. - - Returns a Python Imaging Library object.""" - - widths=[xw*20]+encode_message(message)+[xw*20] - - bits=[] - i=1 - for w in widths: - bits=bits+[i]*w*xw - i=1-i - - #print len(bits) - #print bits - - i=Image.new('1',(len(bits),h),1) - - for b in range(len(bits)): - for y in range(h): - i.putpixel((b,y),255*bits[b]) - - return i - - diff --git a/report_aeroo/barcode/code39.py b/report_aeroo/barcode/code39.py deleted file mode 100644 index eb9bbe9..0000000 --- a/report_aeroo/barcode/code39.py +++ /dev/null @@ -1,162 +0,0 @@ -# Copyright (c) 2008 marscel.wordpress.com -# -# Copyright (c) 2011 Alistek Ltd (http://www.alistek.com) All Rights Reserved. -# General contacts - -# Code39.py v1 -# Requires Python and Python Imaging Library (PIL), -# has been tested with Python v2.6 and PIL v1.1.6 - -# Usage example: -# code39.py 100 2 "Hello World" barcode.png -# -# This creates a PNG image "barcode.png" containing a barcode of the height of 100px -# a min line width of 2px with "Hello World" encoded as "*HELLO WORLD*" in Code 39 - -from PIL import Image, ImageDraw, ImageFont -from openerp.tools import config, ustr -import os, sys - -marginx = 10 -marginy = 10 -fontsize = 15 - -charmap = { -'*':[0,3,0,1,2,1,2,1,0], -'-':[0,3,0,1,0,1,2,1,2], -'$':[0,3,0,3,0,3,0,1,0], -'%':[0,1,0,3,0,3,0,3,0], -' ':[0,3,2,1,0,1,2,1,0], -'.':[2,3,0,1,0,1,2,1,0], -'/':[0,3,0,3,0,1,0,3,0], -'+':[0,3,0,1,0,3,0,3,0], -'0':[0,1,0,3,2,1,2,1,0], -'1':[2,1,0,3,0,1,0,1,2], -'2':[0,1,2,3,0,1,0,1,2], -'3':[2,1,2,3,0,1,0,1,0], -'4':[0,1,0,3,2,1,0,1,2], -'5':[2,1,0,3,2,1,0,1,0], -'6':[0,1,2,3,2,1,0,1,0], -'7':[0,1,0,3,0,1,2,1,2], -'8':[2,1,0,3,0,1,2,1,0], -'9':[0,1,2,3,0,1,2,1,0], -'A':[2,1,0,1,0,3,0,1,2], -'B':[0,1,2,1,0,3,0,1,2], -'C':[2,1,2,1,0,3,0,1,0], -'D':[0,1,0,1,2,3,0,1,2], -'E':[2,1,0,1,2,3,0,1,0], -'F':[0,1,2,1,2,3,0,1,0], -'G':[0,1,0,1,0,3,2,1,2], -'H':[2,1,0,1,0,3,2,1,0], -'I':[0,1,2,1,0,3,2,1,0], -'J':[0,1,0,1,2,3,2,1,0], -'K':[2,1,0,1,0,1,0,3,2], -'L':[0,1,2,1,0,1,0,3,2], -'M':[2,1,2,1,0,1,0,3,0], -'N':[0,1,0,1,2,1,0,3,2], -'O':[2,1,0,1,2,1,0,3,0], -'P':[0,1,2,1,2,1,0,3,0], -'Q':[0,1,0,1,0,1,2,3,2], -'R':[2,1,0,1,0,1,2,3,0], -'S':[0,1,2,1,0,1,2,3,0], -'T':[0,1,0,1,2,1,2,3,0], -'U':[2,3,0,1,0,1,0,1,2], -'V':[0,3,2,1,0,1,0,1,2], -'W':[2,3,2,1,0,1,0,1,0], -'X':[0,3,0,1,2,1,0,1,2], -'Y':[2,3,0,1,2,1,0,1,0], -'Z':[0,3,2,1,2,1,0,1,0] -} - -def create_c39(height, smallest, text): - pixel_length = 0 - i = 0 - newtext = "" - machinetext = "*" + text + "*" - seglist = [] - while i < len(machinetext): - char = machinetext[i].capitalize() - i = i + 1 - try: - cmap = charmap[char] - if len(cmap) != 9: - continue - - j = 0 - while j < 9: - seg = int(cmap[j]) - - if seg == 0 or seg == 1: - pixel_length = pixel_length + smallest - seglist.append(seg) - elif seg == 2 or seg == 3: - pixel_length = pixel_length + smallest * 3 - seglist.append(seg) - - j = j + 1 - - newtext += char - except: - continue - - pixel_length = pixel_length + 2*marginx + len(newtext) * smallest - pixel_height = height + 2*marginy + fontsize - - barcode_img = Image.new('RGB', [pixel_length, pixel_height], "white") - - if len(seglist) == 0: - return barcode_img - - i = 0 - draw = ImageDraw.Draw(barcode_img) - current_x = marginx - - while i < len(seglist): - seg = seglist[i] - color = (255, 255, 255) - wdth = smallest - - if seg == 0 or seg == 2: - color = 0 - if seg == 0: - wdth = smallest - else: - wdth = smallest * 3 - elif seg == 1 or seg == 3: - color = (255, 255, 255) - if seg == 1: - wdth = smallest - else: - wdth = smallest * 3 - - j = 1 - - while j <= wdth: - draw.line((current_x, marginy, current_x, marginy+height), fill=color) - current_x = current_x + 1 - j = j + 1 - - if ((i+1) % 9) == 0: - j = 1 - while j <= smallest: - draw.line((current_x, marginy, current_x, marginy+height), fill=(255,255,255)) - current_x = current_x + 1 - j = j + 1 - i = i + 1 - - ad = os.path.abspath(os.path.join(ustr(config['root_path']), u'addons')) - mod_path_list = map(lambda m: os.path.abspath(ustr(m.strip())), config['addons_path'].split(',')) - mod_path_list.append(ad) - - for mod_path in mod_path_list: - font_file = mod_path+os.path.sep+ \ - "report_aeroo"+os.path.sep+"barcode"+os.path.sep+"FreeMonoBold.ttf" - if os.path.lexists(font_file): - font = ImageFont.truetype(font_file, fontsize) - - draw.text((pixel_length/2 - len(newtext)*(fontsize/2)/2-len(newtext), height+fontsize), newtext, font=font, fill=0) - - del draw - - return barcode_img - diff --git a/report_aeroo/barcode/courB08.pbm b/report_aeroo/barcode/courB08.pbm deleted file mode 100755 index aedce1a3117bc80edcc8edb5ec92ece84639a346..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1273 zcmYk5e@s(X6vxlwcCS?m)FA;WunHK-h+0JLlwU<)$^=ALGhr@!fS|@8I>IQMSQ>flgW=L;}wQD6p*-~ZbHkd!pQhF+*+XR-D8N^`QzrClkYj7b8_!J z8XvdGVWIm%0C0%j9Jw6;d2#+?f;+%}b?;sP9vdAQu27zbR4Buc6*+LP#mBZXpi4YD zbD`Ffc`}sN+eU44M!@LUg$ZmLs|lqiezIj2c^K<;MXlX+*`1@4o;M%rX^psKXiyb+ z91n&ZnR#qYd#vUokx0@L;nXiL@GJOy;*#jNBCbRr;m{cWhqD9wj*xV0=g@LZvcj0~ z?n3{DzFo%y?{t0taJZ;FVOZ9zny$3yoq1{Gp$9i`j@7(ucXjOjaf52{pJz_xHHY4H z>3VHxlrDj|7;&1k_cV(Fw(69n1BH*;uKrQJsI59yDUkjTXIJ%hG5=SPgbYcVgssp%O&Q#7fQmZ6%rFCxBXP0-_)gOY z?*ohjlq#Ydrq_+!$?svOzI@i;e4W8y68V5;fBM~4153kUVbr}93px$Ly1Hw2Y_p21 zp2zW$nL83N0N9zmlB814zTM}DoR5}};4YM8+Yh?zi+v&9{_QjFfz^PB1P~c6qY`WJ z2f?tJz7f+W5WAjg0D;`rQXrY|YuYhf`kA3c)0pOZG3h+v#?5MZAmCuLxMb>B9i^bC zr!zQide>hbB)N|C1*69XmbI`aaJzMnDNL%Zmr1=SirOPhKW||_&L7YG!LA#9?t`UG7G0hW`@PWwDq!A?Ng|?SXLlA+n7f<2Zu6g{)jX68Z{sz->>M< zY=qPaU7aJTeBT3uwxGrJXGf=fBf_n>siesL1@O7_U@RWwcW_2@RnVjM zy}sH@;cLet{ne)hDa$uq_n2;@V0B=f`HRmDdX}#{d=+?lF**H2XF0y(fmH#g*nk|w5 diff --git a/report_aeroo/barcode/courB08.pil b/report_aeroo/barcode/courB08.pil deleted file mode 100755 index 28982c0fa7339e8c3bbb2bbdd5b08663bfcbcc49..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5143 zcmeH~-;0(-6vxlZuDU&fmSz%)uox(YX@)Gih%1y(N-8XBD5l^KSTKziEfiVASWpoa z6hVbTL=?q~wHv)qFT_AgP(!=0AcU}s^}@(q*Y)XhW}f#j@B9N1?830`_w$}P=ggU( z@6wMKZ`|@lXVDt|-k;f8e7K-}K_NqbLlyWhD==Jxm!-HW3CAa8u6!X4`k&SSsjT?br774+*%#PIzJ6U^tC-rU78xfal$9khl#QcJfW#R6(pbJki%hCw zIASysV-l>nicw?Duy-u3_8mlvOr?kV6OF<6rt)z*(PE5}Z#`OMrj6qzc7te<*;a!x zjCD4w#aJ9~3#>JXtK(>;wZ*Z8x@fF6+QNjX-9p-;j4gsKO_=swN?V>V?Yo?|Dr2i) zYcsYMwjpC1U>zCjfNiOmqwYHATWDWe{gipMNM|)iTGK{q+6nu*s;QI%uvci2o%D!x zjoU7I=UuRG&0jyC99m>wtZ7&q>SG`6aI~}aau{~Z`bK}pU?(%Xldw}6I|VzN zv9qv?nZJv$ONpK4a*1{&v1<%kx&kryF6u0u+bSC z4SOrHkTdpZaT7DUiLl9u9pgZYn_97IpQFXSo9s8v1GKmq6|33JfXzzmhLtbT;##UT z$wxeUw77Z6p61L!i)*Xdv7R;OHrm3tcBw%)!_eXu+ddlLTh-#0*&5gNtXkZP%x(p2 zbz-M|SJT!dcADQh*e08|7I^o^>nkNwUUuFFb+u+8U30wHNlc z*@b%_Elzij`qOu!?#q5!S=o7*#wbNMNBT~5x>@|NDu%vA8_NN-_@?U2uKc0JkE;BI zy;{CPiyu?B&sB?m+j7x;`3fz*_Qn+6KI~Pr_{m9(5kZTemW)kvnFfC^vE%+gi=Sop zM|hW@#kVl>Skv%6MT?(Xy|2Q(Mclctc@@*TXbkQnKcCXjmvcOvr)cr%dy;n(TKr+)b1Iy`09=_ z#vSE5t$uocc(nL$tnYIjBU*fy-CL1$!MZcn4Lgvr1F$2;`hq|1BYz^+gl<_Co#>xrj6LmpGu8`x zma%8BK4WogeXv0rTiE+(Y4EmQLY>jlpu3zp*YZP4L-iZc7{3u4#>W`O#=|BV3-ill z6|A5!sXuffqhxHwLS4{>yvZ-m7&qjCF8GZZ7}-RB6JX8JpRs1xl#ES*P0!eL*aybK z{y-NpN8Zr5VSe@h9N2uzFTADDg?uFXf>yh*KhTAIVtqrM(S!=E%B!@w!wBpJLWC=+X35cePhnMVci+) zhV9STe%PUm9fBP-7RPoJcHD9a>knPXcUDtf2M%4x>1b#9orax{{*0Z6^<=CEcG+00 j!DZO>I)5Hr$d9Zp>We?k&!Y?Z+2&mPdUPSb$k=}Y_2lj% From 10e5c1e231bdd56883310bcae9559eb0288753ba Mon Sep 17 00:00:00 2001 From: federico Date: Wed, 24 Aug 2016 12:06:38 -0500 Subject: [PATCH 3/3] perf(__openerp__.py): elaphe as external dependency add elaphe in __openerp__.py file as external python dependency --- report_aeroo/__openerp__.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/report_aeroo/__openerp__.py b/report_aeroo/__openerp__.py index 0a01957..7036824 100644 --- a/report_aeroo/__openerp__.py +++ b/report_aeroo/__openerp__.py @@ -130,4 +130,9 @@ 'active': False, 'application': True, 'auto_install': False, + 'external_dependencies': { + 'python': [ + 'elaphe' + ] + } }