Hi Gennadii,
I am not sure that you know that Spacewalk is possible to install on
RHEL6 and higher. It doesn't support RHEL5 with python 2.4 [1]. The
compatibility server side should be "only" python2.6+. Client side is
other situation - it should work on RHEL5 as well [2]. The code could
look more readable on server side (you can use 'except ... as ...', etc).

[1] https://fedorahosted.org/spacewalk/wiki/HowToInstall
[2] https://fedorahosted.org/spacewalk/wiki/RegisteringClients

Regards.

On 7.4.2016 18:41, Gennadii Altukhov wrote:
> Hello guys,
>
> Maybe some of you already know, we are trying to adapt our Spacewalk python's 
> code to version 3.x and in the same time save backward compatibility with 
> version 2.x. (we have to support Python from version 2.4). Pavel Studenik is 
> adapting client-side code (rhncfg at this moment) and I server-side. The main 
> question for me is to extract all version-dependent code into mini-library or 
> check a version of python in if-clauses and try-except blocks within the 
> code. Actually I've tried to extract code in a library, but actually, it 
> contained only few functions and set of data-types and I removed it. 
>
> How does it look likes now, for example:
>
> import sys
>
> try:
>     PY3 = sys.version_info.major >= 3
> except AttributeError:
>     PY3 = False
>
>
> .
> .
> .
>
> if PY3:
>     raise InvalidAction(str(pnf)).with_traceback(sys.exc_info()[2])
> else:
>     raise InvalidAction(str(pnf)), None, sys.exc_info()[2]
>
>
> At the same moment I can adapt some data-types in the same try-block:
>
> try:
>     PY3 = sys.version_info.major >= 3
>     import xmlrpc.client as xmlrpclib
> except AttributeError:
>     PY3 = False
>     import xmlrpclib
>
> Honestly, I'm not happy with many of this 'if PY3:', and I would like to see 
> clean and simple code. What advantages and disadvantages do you see for both 
> of this cases? And If you have any questions you can ask me.
>
> PS Yes, I know about 'six' module, but I'm not sure we will use it.
>
> _______________________________________________
> Spacewalk-devel mailing list
> Spacewalk-devel@redhat.com
> https://www.redhat.com/mailman/listinfo/spacewalk-devel

_______________________________________________
Spacewalk-devel mailing list
Spacewalk-devel@redhat.com
https://www.redhat.com/mailman/listinfo/spacewalk-devel

Reply via email to