pactest: make pmfile a bit more pythonic

Signed-off-by: Dan McGee <dan@archlinux.org>
This commit is contained in:
Dan McGee 2011-06-22 14:39:50 -05:00
parent 11d8418737
commit 3ace8ceb23
3 changed files with 16 additions and 23 deletions

View file

@ -17,38 +17,44 @@
import os import os
import stat
import util import util
class pmfile(object): class PacmanFile(object):
"""File object """File object
""" """
def __init__(self, root, name): def __init__(self, root, name):
self.name = name
self.root = root self.root = root
self.name = name
self.filename = os.path.join(self.root, self.name) self.filename = os.path.join(self.root, self.name)
self.checksum = util.getmd5sum(self.filename) self.checksum = util.getmd5sum(self.filename)
self.mtime = util.getmtime(self.filename) self.mtime = self.getmtime()
def __str__(self): def __str__(self):
return "%s (%s / %lu)" % (self.name, self.checksum, self.mtime) return "%s (%s / %lu)" % (self.name, self.checksum, self.mtime)
def getmtime(self):
if not os.path.exists(self.filename):
return None, None
statbuf = os.lstat(self.filename)
return (statbuf[stat.ST_MTIME], statbuf[stat.ST_CTIME])
def ismodified(self): def ismodified(self):
"""
"""
checksum = util.getmd5sum(self.filename) checksum = util.getmd5sum(self.filename)
mtime = util.getmtime(self.filename) mtime = self.getmtime()
util.vprint("\tismodified(%s)" % self.name) util.vprint("\tismodified(%s)" % self.name)
util.vprint("\t\told: %s / %s" % (self.checksum, self.mtime)) util.vprint("\t\told: %s / %s" % (self.checksum, self.mtime))
util.vprint("\t\tnew: %s / %s" % (checksum, mtime)) util.vprint("\t\tnew: %s / %s" % (checksum, mtime))
if self.checksum != checksum \ if self.checksum != checksum \
or (self.mtime[1], self.mtime[2]) != (mtime[1], mtime[2]): or self.mtime[0] != mtime[0] \
return 1 or self.mtime[1] != mtime[1]:
return True
return 0 return False
# vim: set ts=4 sw=4 et: # vim: set ts=4 sw=4 et:

View file

@ -188,7 +188,7 @@ class pmtest(object):
for roots, dirs, files in os.walk(self.root): for roots, dirs, files in os.walk(self.root):
for i in files: for i in files:
filename = os.path.join(roots, i) filename = os.path.join(roots, i)
f = pmfile.pmfile(self.root, filename.replace(self.root + "/", "")) f = pmfile.PacmanFile(self.root, filename.replace(self.root + "/", ""))
self.files.append(f) self.files.append(f)
vprint("\t%s" % f.name) vprint("\t%s" % f.name)

View file

@ -19,7 +19,6 @@
import os import os
import re import re
import hashlib import hashlib
import stat
# ALPM # ALPM
@ -156,18 +155,6 @@ def mkmd5sum(data):
return checksum.hexdigest() return checksum.hexdigest()
#
# Mtime helpers
#
def getmtime(filename):
"""
"""
if not os.path.exists(filename):
return None, None, None
st = os.lstat(filename)
return st[stat.ST_ATIME], st[stat.ST_MTIME], st[stat.ST_CTIME]
# #
# Miscellaneous # Miscellaneous
# #