[SCM] Samba Shared Repository - branch master updated - release-4-0-0alpha8-901-gaa6dc21
Matthias Dieter Wallnöfer
mdw at samba.org
Tue Sep 22 06:08:43 MDT 2009
Fixed in my personal branch.
Jelmer Vernooij schrieb:
> Hi Matthias,
>
> I would expect it to be "KeyError". This is easy to verify using Python:
>
> ganieda:~% python
> Python 2.5.4 (r254:67916, Feb 17 2009, 20:16:45)
> [GCC 4.3.3] on linux2
> Type "help", "copyright", "credits" or "license" for more information.
>
>>>> import ldb
>>>> x = ldb.Message()
>>>> x["foo"]
>>>>
> Traceback (most recent call last):
> File "<stdin>", line 1, in <module>
> KeyError: 'No such element'
>
> Cheers,
>
> Jelmer
>
> Matthias Dieter Wallnöfer wrote:
>
>> What exception should I use if an attribute doesn't exist?
>>
>> Matthias
>>
>> Jelmer Vernooij schrieb:
>>
>>> Hi Matthias,
>>>
>>> Matthias Dieter Wallnöfer wrote:
>>>
>>>
>>>> +try:
>>>> + pwd_props = int(res[0]["pwdProperties"][0])
>>>> + pwd_hist_len = int(res[0]["pwdHistoryLength"][0])
>>>> + min_pwd_len = int(res[0]["minPwdLength"][0])
>>>> + min_pwd_age = int(res[0]["minPwdAge"][0])
>>>> + max_pwd_age = int(res[0]["maxPwdAge"][0])
>>>> +except:
>>>>
>>>>
>>> ^^^ Please don't use "catch-all" exception handling but rather
>>> explicitly catch the exception you want to handle (ValueError?).
>>> Catch-all exception handling makes it very easy to miss bugs that would
>>> otherwise cause an exception.
>>>
>>>
>>>
>>>> + if args[0] == "show":
>>>> + print "ERROR: Password informations missing in your AD
>>>> domain object!"
>>>> + print "So no settings can be displayed!"
>>>> + sys.exit(1)
>>>> + else:
>>>> + if pwd_props is None:
>>>> + pwd_props = 0
>>>> + print "WARNING: Assuming previous password properties 0
>>>> (used for password complexity setting)"
>>>> +
>>>>
>>>>
>
>
More information about the samba-technical
mailing list