Merge lp:~mhall119/loco-team-portal/update-profiles-command into lp:loco-team-portal

Proposed by Michael Hall
Status: Merged
Merged at revision: 284
Proposed branch: lp:~mhall119/loco-team-portal/update-profiles-command
Merge into: lp:loco-team-portal
Diff against target: 52 lines (+36/-0)
2 files modified
loco_directory/teams/management/commands/update.py (+2/-0)
loco_directory/userprofiles/management/commands/update-profiles.py (+34/-0)
To merge this branch: bzr merge lp:~mhall119/loco-team-portal/update-profiles-command
Reviewer Review Type Date Requested Status
Chris Johnston Approve
Review via email: mp+35192@code.launchpad.net

Description of the change

Updates user profiles realname and timezone daily

To post a comment you must log in.
Revision history for this message
Chris Johnston (cjohnston) :
review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'loco_directory/teams/management/commands/update.py'
2--- loco_directory/teams/management/commands/update.py 2010-08-28 19:27:47 +0000
3+++ loco_directory/teams/management/commands/update.py 2010-09-11 15:16:44 +0000
4@@ -13,3 +13,5 @@
5 run_job("update-countries", datetime.timedelta(days=1))
6 run_job("update-languages", datetime.timedelta(days=1))
7 run_job("lpupdate", datetime.timedelta(minutes=20))
8+ run_job("update-profiles", datetime.timedelta(days=1))
9+
10
11=== added directory 'loco_directory/userprofiles/management'
12=== added file 'loco_directory/userprofiles/management/__init__.py'
13=== added directory 'loco_directory/userprofiles/management/commands'
14=== added file 'loco_directory/userprofiles/management/commands/__init__.py'
15=== added file 'loco_directory/userprofiles/management/commands/update-profiles.py'
16--- loco_directory/userprofiles/management/commands/update-profiles.py 1970-01-01 00:00:00 +0000
17+++ loco_directory/userprofiles/management/commands/update-profiles.py 2010-09-11 15:16:44 +0000
18@@ -0,0 +1,34 @@
19+#!/usr/bin/python
20+
21+from django.core.management.base import NoArgsCommand
22+
23+from common import launchpad
24+from django.contrib.auth.models import User, Group
25+from userprofiles.models import UserProfile, create_profile
26+
27+from datetime import datetime
28+import sys
29+
30+class Command(NoArgsCommand):
31+ help = "Updates user profiles with information from Launchpad."
32+
33+ def handle_noargs(self, **options):
34+ lp = launchpad.lp_login()
35+ if not lp:
36+ sys.exit(1)
37+ USER_BLACKLIST = (u"root", u"admin")
38+
39+ ld_users = User.objects.all()
40+
41+ for ld_user in ld_users:
42+ if not ld_user.username in USER_BLACKLIST:
43+ profile, created = UserProfile.objects.get_or_create(user=ld_user)
44+ try:
45+ lp_user = lp.people[ld_user.username]
46+ profile.tz = lp_user.time_zone or "UTC"
47+ profile.realname = lp_user.display_name or user.username
48+ profile.save()
49+ except Exception, e:
50+ print "Error updaing %s" % ld_user
51+ print e
52+ pass

Subscribers

People subscribed via source and target branches