On 2015-08-15 00:36, Endi Sukma Dewata wrote:
 On 8/14/2015 10:03 AM, Christian Heimes wrote:
> And now with attachment.
>
> I also attached a 2nd patch that fixes the one unit test under Python 3.
>
> Christian
 
 Some comments:
 
 1. Build works on F22, but fails on F21:
 
 ************* Module pylint-build-scan
 I: 33, 0: Locally disabling import-error (F0401) (locally-disabled)
 ************* Module pki
 I: 33, 0: Locally disabling redefined-builtin (W0622) (locally-disabled)
 I:127, 0: Locally disabling too-few-public-methods (R0903)
 (locally-disabled)
 I:141, 0: Locally disabling too-few-public-methods (R0903)
 (locally-disabled)
 I:149, 0: Locally disabling invalid-name (C0103) (locally-disabled)
 I:161, 0: Locally disabling invalid-name (C0103) (locally-disabled)
 F: 33, 0: Unable to import 'six.moves' (import-error)
 ************* Module pki.encoder
 I: 36, 0: Locally disabling method-hidden (E0202) (locally-disabled)
 ************* Module pki.profile
 I:1361, 0: Locally disabling broad-except (W0703) (locally-disabled)
 I:1398, 0: Locally disabling broad-except (W0703) (locally-disabled)
 ************* Module pki.key
 I: 34, 0: Locally disabling no-name-in-module (E0611) (locally-disabled)
 I: 36, 0: Locally disabling no-name-in-module (E0611) (locally-disabled)
 I: 43, 0: Locally disabling too-few-public-methods (R0903)
 (locally-disabled)
 I: 54, 0: Locally disabling too-few-public-methods (R0903)
 (locally-disabled)
 I: 66, 0: Locally disabling invalid-name (C0103) (locally-disabled)
 I:118, 0: Locally disabling invalid-name (C0103) (locally-disabled)
 I:150, 0: Locally disabling too-few-public-methods (R0903)
 (locally-disabled)
 I:186, 0: Locally disabling invalid-name (C0103) (locally-disabled)
 I:222, 0: Locally disabling too-few-public-methods (R0903)
 (locally-disabled)
 I:258, 0: Locally disabling invalid-name (C0103) (locally-disabled)
 F: 34, 4: Unable to import 'urllib.parse' (import-error)
 ************* Module pki.upgrade
 I:545, 0: Locally disabling exec-used (W0122) (locally-disabled)
 I:632, 0: Locally disabling broad-except (W0703) (locally-disabled)
 I:699, 0: Locally disabling broad-except (W0703) (locally-disabled)
 ************* Module pki.server.cli.migrate
 I:166, 0: Locally disabling protected-access (W0212) (locally-disabled)
 I:279, 0: Locally disabling protected-access (W0212) (locally-disabled)
 ************* Module pki.server.cli.instance
 I:327, 0: Locally disabling no-member (E1101) (locally-disabled)
 I:327, 0: Locally disabling maybe-no-member (E1103) (locally-disabled)
 I:383, 0: Locally disabling no-member (E1101) (locally-disabled)
 I:383, 0: Locally disabling maybe-no-member (E1103) (locally-disabled)
 I:439, 0: Locally disabling no-member (E1101) (locally-disabled)
 I:439, 0: Locally disabling maybe-no-member (E1103) (locally-disabled)
 ************* Module pki.server.deployment.pkiparser
 I: 36, 0: Locally disabling no-name-in-module (E0611) (locally-disabled)
 I: 38, 0: Locally disabling import-error (F0401) (locally-disabled)
 I: 40, 0: Locally disabling redefined-builtin (W0622) (locally-disabled)
 I:362, 0: Locally disabling no-member (E1101) (locally-disabled)
 I:377, 0: Locally disabling no-member (E1101) (locally-disabled)
 F: 36, 4: Unable to import 'urllib.parse' (import-error)
 F: 40, 0: Unable to import 'six.moves' (import-error)
 F: 41, 0: Unable to import 'six.moves' (import-error)
 ************* Module pki.server.deployment.pkiscriptlet
 I: 36, 0: Locally disabling unused-argument (W0613) (locally-disabled)
 W: 29, 0: Class has no __init__ method (no-init)
 ************* Module pki.server.deployment.pkihelper
 I: 35, 0: Locally disabling no-name-in-module (E0611) (locally-disabled)
 I:1091, 0: Locally disabling broad-except (W0703) (locally-disabled)
 I:2978, 0: Locally disabling broad-except (W0703) (locally-disabled)
 I:2999, 0: Locally disabling broad-except (W0703) (locally-disabled)
 I:3903, 0: Locally disabling no-member (E1101) (locally-disabled)
 ************* Module pki.server.deployment.pkiconfig
 I: 25, 0: Locally disabling redefined-builtin (W0622) (locally-disabled)
 F: 25, 0: Unable to import 'six.moves' (import-error)
 ************* Module pki.server.deployment.scriptlets.security_databases
 W: 31, 0: Class has no __init__ method (no-init)
 ************* Module pki.server.deployment.scriptlets.webapp_deployment
 W: 33, 0: Class has no __init__ method (no-init)
 ************* Module pki.server.deployment.scriptlets.instance_layout
 W: 33, 0: Class has no __init__ method (no-init)
 ************* Module pki.server.deployment.scriptlets.finalization
 W: 32, 0: Class has no __init__ method (no-init)
 ************* Module pki.server.deployment.scriptlets.infrastructure_layout
 W: 32, 0: Class has no __init__ method (no-init)
 ************* Module pki.server.deployment.scriptlets.subsystem_layout
 W: 31, 0: Class has no __init__ method (no-init)
 ************* Module pki.server.deployment.scriptlets.selinux_setup
 W: 36, 0: Class has no __init__ method (no-init)
 ************* Module pki.server.deployment.scriptlets.slot_substitution
 W: 31, 0: Class has no __init__ method (no-init)
 ************* Module pki.server.deployment.scriptlets.initialization
 W: 31, 0: Class has no __init__ method (no-init)
 ************* Module pki.server.deployment.scriptlets.configuration
 W: 34, 0: Class has no __init__ method (no-init)
 I: 83, 0: Locally disabling unused-argument (W0613) (locally-disabled)
 ************* Module pkispawn
 I: 58, 0: Locally disabling unused-argument (W0613) (locally-disabled)
 I:602, 0: Locally disabling broad-except (W0703) (locally-disabled)
 ************* Module pkidestroy
 I: 55, 0: Locally disabling unused-argument (W0613) (locally-disabled)
 ************* Module pki-upgrade
 I: 31, 0: Locally disabling unused-argument (W0613) (locally-disabled)
 ************* Module pki-server-upgrade
 I: 33, 0: Locally disabling unused-argument (W0613) (locally-disabled)
 ************* Module 01-RemoveInaccessableURLsFromServerXML
 I: 34, 0: Locally disabling anomalous-backslash-in-string (W1401)
 (locally-disabled)
 ************* Module 01-AddKraAuditEvents
 I: 48, 0: Locally disabling unused-argument (W0613) (locally-disabled) 
Thanks for the tests. Older versions of pylint
I've addressed the six.moves import-error failures in my updated patch.
The no-init warnings seem to be unrelated to my work, though.
 2. In "Manually fix import problems and access to
Exception.message" you
 replaced e.message['desc'] with e.args[0]['desc']. I suppose the code
 works fine, but it's kind of strange that we'd have to use a more
 cryptic code. Are there other alternatives? 
No, there is no better way to write it. :( I checked python-ldap's and
pyldap's source code as well as tested a couple of alternative
approaches interactively. The LDAPError exception doesn't have other
means to access the error dict.
In Python 2 Exceception.message is an alternative spelling for
Exception.args[0] if len(args) == 1. The alternative is gone in Python 3.
Christian