pld-ftp-admin: modules/ftptree.py - use rpmvercmp from rpm's pytho...

mmazur mmazur at pld-linux.org
Mon Jul 25 01:04:59 CEST 2005


Author: mmazur                       Date: Sun Jul 24 23:04:59 2005 GMT
Module: pld-ftp-admin                 Tag: HEAD
---- Log message:
- use rpmvercmp from rpm's python bindings to get proper version comparision

---- Files affected:
pld-ftp-admin/modules:
   ftptree.py (1.21 -> 1.22) 

---- Diffs:

================================================================
Index: pld-ftp-admin/modules/ftptree.py
diff -u pld-ftp-admin/modules/ftptree.py:1.21 pld-ftp-admin/modules/ftptree.py:1.22
--- pld-ftp-admin/modules/ftptree.py:1.21	Sun Jul 24 02:31:56 2005
+++ pld-ftp-admin/modules/ftptree.py	Mon Jul 25 01:04:54 2005
@@ -1,6 +1,6 @@
 # vi: encoding=utf-8 ts=8 sts=4 sw=4 et
 
-import os, config, string, urllib, re
+import os, config, string, urllib, re, rpm
 from common import fileexists, noarchcachedir
 from baseftptree import BasePkg, BaseFtpTree
 errnum=0
@@ -280,16 +280,12 @@
 
     def __find_older_pkgs(self, pkg):
         def filter_older_pkgs(x):
-            checking=x.split('-')
-            if checking[-2]<pkg.version:
+            c=x.split('-')
+            rc = rpm.labelCompare(('0', pkg.version, pkg.release),
+                                                        ('0', c[-2], c[-1]))
+            if rc == 1: # pkg > x
                 return True
-            elif checking[-2]==pkg.version:
-                if checking[-1]<pkg.release:
-                    return True
-                else:
-                    return False
             else:
                 return False
         return filter(filter_older_pkgs, self.__find_other_pkgs(pkg, self))
-
 
================================================================

---- CVS-web:
    http://cvs.pld-linux.org/pld-ftp-admin/modules/ftptree.py?r1=1.21&r2=1.22&f=u




More information about the pld-cvs-commit mailing list