looks good. On Wed, Feb 25, 2009 at 04:02:24PM +0100, Martin Gracik wrote: > Function printMatchingPkgs() was making glob.glob calls everytime it was used. > Rewrote parts of the script to build the list of the packages just once, > and then use fnmatch() to print the matching packages. > Also some unnecessary import calls were removed. > --- > scripts/pkgorder | 23 +++++++++++++---------- > 1 files changed, 13 insertions(+), 10 deletions(-) > > diff --git a/scripts/pkgorder b/scripts/pkgorder > index 7722718..aa67791 100755 > --- a/scripts/pkgorder > +++ b/scripts/pkgorder > @@ -9,12 +9,11 @@ > # You should have received a copy of the GNU Library Public License > # along with this program; if not, write to the Free Software > # Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. > -import os.path > -import glob > +import os > +import fnmatch > import rpm > import rpmUtils > import shutil > -import string > import sys > import yum > > @@ -31,7 +30,6 @@ from optparse import OptionParser > from yum.packageSack import PackageSack > from yum.packages import PackageObject > from yuminstall import YumSorter > -import iutil > > class PackageOrderer(YumSorter): > > @@ -88,13 +86,9 @@ def processTransaction(ds): > > def printMatchingPkgs(fpattern): > global processed > + global packages > > - if os.path.isdir("%s/%s/RPMS" % (toppath, product)): > - matches = glob.glob("%s/%s/RPMS/%s" % (toppath, product, fpattern)) > - elif os.path.isdir("%s/%s" %(toppath, product)): > - matches = glob.glob("%s/%s/%s" % (toppath, product, fpattern)) > - else: > - matches = glob.glob("%s/%s" % (toppath, fpattern)) > + matches = fnmatch.filter(packages, fpattern) > > for match in matches: > mname = os.path.basename(match) > @@ -157,6 +151,15 @@ if __name__ == "__main__": > if arch == "i386": > arch = "i686" > > + packages = [] > + for dir in ("%s/%s/RPMS" % (toppath, product), > + "%s/%s" % (toppath, product), > + toppath): > + if os.path.isdir(dir): > + packages = os.listdir(dir) > + break > + packages.sort() > + > # print out kernel related packages first > printMatchingPkgs("kernel-*") > > -- > 1.6.0.6 > > _______________________________________________ > Anaconda-devel-list mailing list > Anaconda-devel-list@xxxxxxxxxx > https://www.redhat.com/mailman/listinfo/anaconda-devel-list -- Joel Andres Granados Brno, Czech Republic, Red Hat. _______________________________________________ Anaconda-devel-list mailing list Anaconda-devel-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/anaconda-devel-list