[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] python3 issues




On Mon, 1 Apr 2019, Wei Liu wrote:

> On Tue, Mar 26, 2019 at 10:06:48PM +0100, Hans van Kranenburg wrote:
> > 
> > Python 3 no longer allows comparing string and int, because it doesn't
> > make sense.
> > 
> > == sorted([1,2,3,'a','b','c'])
> > Traceback (most recent call last):
> >   File "<stdin>", line 1, in <module>
> > TypeError: unorderable types: str() < int()
> > 
> > So I guess that if the contents are expected to be "saved" or a number
> > as string like "1", "2", then:
> > 
> > 1. check for "saved"
> > 2. try: int(val) except: blah
> > 3. etc
> > 
> 
> Actually I think you scheme here is better. Relying on string comparison
> seems to be error-prone.
> 
> Wei.

I tested with the patch

--- xen-4.12.0-rc6/tools/pygrub/src/GrubConf.py.orig    2019-03-24 
22:44:05.502581989 +0000
+++ xen-4.12.0-rc6/tools/pygrub/src/GrubConf.py 2019-03-24 
22:49:14.025934786 +0000
@@ -233,7 +233,10 @@
         if val == "saved":
             self._default = 0
         else:
-            self._default = val
+            try:
+                self._default = int(val)
+            except ValueError:
+                self._default = 0
 
         if self._default < 0:
             raise ValueError("default must be positive number")

which works for me but should probably have some logging added for debug 
purposes.

        Michael Young

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/mailman/listinfo/xen-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.