Opened 14 years ago

Closed 14 years ago

Last modified 13 years ago

#12776 closed (fixed)

get_profile() may throw AttributeError instead of SiteProfileNotAvailable

Reported by: master Owned by: nobody
Component: contrib.auth Version: 1.1
Severity: Keywords: profile
Cc: Triage Stage: Ready for checkin
Has patch: yes Needs documentation: no
Needs tests: no Patch needs improvement: no
Easy pickings: no UI/UX: no

Description

I didn't find a case to fire:
except (ImportError, ImproperlyConfigured)

But some others cases :

In AUTH_PROFILE_MODULE, if:

  • you don't provide a '.': 'accountsUserProfile'

==> ValueError

  • you mispell or forget the app_label part or the model_name part: 'accounts.', 'accXXXounts.UserProfile'

No exception is raised and the variable 'model' is returned as None.
==> AttributeError on following line: 'NoneType' object has no attribute '_default_manager'

I needed something similar for my own code, that I wrote as:

try:
    ...
    model = ...
    if not model:
        raise SiteProfileNotAvailable
    ...
except ValueError:
        raise SiteProfileNotAvailable

Attachments (1)

12776.patch (3.8 KB ) - added by Bruno Renié 14 years ago.
Throws more SiteProfileNotAvailable, adds some verbosity

Download all attachments as: .zip

Change History (6)

comment:1 by Russell Keith-Magee, 14 years ago

milestone: 1.2
Triage Stage: UnreviewedAccepted

by Bruno Renié, 14 years ago

Attachment: 12776.patch added

Throws more SiteProfileNotAvailable, adds some verbosity

comment:2 by Bruno Renié, 14 years ago

Added a patch with tests. The patch adds some more human-friendly errors as well, to be reviewed by a native English speaker.

comment:3 by Alex Gaynor, 14 years ago

Triage Stage: AcceptedReady for checkin

comment:4 by anonymous, 14 years ago

Resolution: fixed
Status: newclosed

Fixed in r12506.

comment:5 by Jacob, 13 years ago

milestone: 1.2

Milestone 1.2 deleted

Note: See TracTickets for help on using tickets.
Back to Top