/usr/share/pyshared/ldtputils/__init__.py is in python-ldtp 2.3.1-0ubuntu1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 | """
LDTP v2 ldtputils init file
@author: Eitan Isaacson <eitan@ascender.com>
@author: Nagappan Alagappan <nagappan@gmail.com>
@copyright: Copyright (c) 2009 Eitan Isaacson
@copyright: Copyright (c) 2009-12 Nagappan Alagappan
@license: LGPL
http://ldtp.freedesktop.org
This file may be distributed and/or modified under the terms of the GNU Lesser General
Public License version 2 as published by the Free Software Foundation. This file
is distributed without any warranty; without even the implied warranty of
merchantability or fitness for a particular purpose.
See 'COPYING' in the source distribution for more information.
Headers in this file shall remain intact.
"""
import ldtp
from ldtp import imagecapture
import xml.dom.minidom
def imagecompare(imgfile1, imgfile2):
try:
import ImageChops, Image
except ImportError:
raise Exception, 'Python-Imaging package not installed'
try:
diffcount = 0.0
im1 = Image.open(imgfile1)
im2 = Image.open(imgfile2)
imgcompdiff = ImageChops.difference(im1, im2)
diffboundrect = imgcompdiff.getbbox()
imgdiffcrop = imgcompdiff.crop(diffboundrect)
data = imgdiffcrop.getdata()
seq = []
for row in data:
seq += list(row)
for i in xrange(0, imgdiffcrop.size[0] * imgdiffcrop.size[1] * 3, 3):
if seq[i] != 0 or seq[i+1] != 0 or seq[i+2] != 0:
diffcount = diffcount + 1.0
diffImgLen = imgcompdiff.size[0] * imgcompdiff.size[1] * 1.0
diffpercent = (diffcount * 100) / diffImgLen
return diffpercent
except IOError:
raise Exception, 'Input file does not exist'
# XML Data file parser
class LdtpDataFileParser:
def __init__(self, filename = None):
self.ldtpdataxml = []
if filename:
try:
dom = xml.dom.minidom.parse(filename)
self.ldtpdataxml = dom.getElementsByTagName("data")
if self.ldtpdataxml == []:
ldtp.log('data xml tag not present')
if _ldtpDebug and _ldtpDebug == '2':
print 'data xml tag not present'
except xml.parsers.expat.ExpatError, msg:
ldtp.log('XML Error: ' + str(msg), 'error')
except IOError:
ldtp.log('XML \"' + filename + '\" file not found', 'error')
def setfilename(self, filename):
self.ldtpdataxml = []
if filename:
try:
dom = xml.dom.minidom.parse(filename)
self.ldtpdataxml = dom.getElementsByTagName("data")
if self.ldtpdataxml == []:
ldtp.log('data xml tag not present')
if _ldtpDebug and _ldtpDebug == '2':
print 'data xml tag not present'
except xml.parsers.expat.ExpatError, msg:
if _ldtpDebug and _ldtpDebug == '2':
print 'XML Error: ' + str(msg)
ldtp.log('XML Error: ' + str(msg), 'error')
except IOError:
if _ldtpDebug and _ldtpDebug == '2':
print 'XML \"' + filename + '\" file not found'
ldtp.log('XML \"' + filename + '\" file not found', 'error')
def getText(self, nodelist):
rc = ""
for node in nodelist:
if node.nodeType == node.TEXT_NODE:
rc = rc + node.data
return rc
def gettagvalue(self, tagname):
self.taglist = []
if self.ldtpdataxml == []:
return self.taglist
for dataelements in self.ldtpdataxml:
for data in dataelements.getElementsByTagName(tagname):
self.taglist.append(self.getText(data.childNodes))
return self.taglist
|