66
77from ietf .stats .models import AffiliationAlias , AffiliationIgnoredEnding , CountryAlias , MeetingRegistration
88from ietf .name .models import CountryName
9- from ietf .person .models import Person , Email
10- from django .contrib .auth .models import User
11- from unidecode import unidecode
12-
13-
149
1510def compile_affiliation_ending_stripping_regexp ():
1611 parts = []
@@ -231,11 +226,7 @@ def get_meeting_registration_data(meeting):
231226 else :
232227 raise RuntimeError ("Could not decode response from registrations API: '%s...'" % (response .content [:64 ], ))
233228
234-
235- # for each user identified in the Registration system
236- # Create a DataTracker MeetingRegistration object
237229 for registration in decoded :
238- person = None
239230 object , created = MeetingRegistration .objects .get_or_create (
240231 meeting_id = meeting .pk ,
241232 first_name = registration ['FirstName' ],
@@ -244,50 +235,6 @@ def get_meeting_registration_data(meeting):
244235 country_code = registration ['Country' ],
245236 email = registration ['Email' ],
246237 )
247-
248- # Add a Person object to MeetingRegistration object
249- # if valid email is available
250- if not object .person :
251- # If the person already exists do not try to create a new one
252- emails = Email .objects .filter (address = registration ["Email" ])
253- # there can only be on Email object with a unique email address (primary key)
254- if len (emails ) == 1 :
255- person = emails [0 ].person
256- # Create a new Person object
257- else :
258- # ascii_name - convert from unicode if necessary
259- regname = "%s %s" % (registration ["FirstName" ], registration ["LastName" ])
260- # if there are any unicode characters decode the string to ascii
261- ascii_name = unidecode (regname ).strip ()
262-
263- # Create a new user object if it does not exist already
264- # if the user already exists do not try to create a new one
265- users = User .objects .filter (username = registration ["Email" ])
266- if len (users ) > 0 :
267- user = users [0 ]
268- else :
269- # Create a new user.
270- user = User .objects .create (
271- first_name = registration ["FirstName" ],
272- last_name = registration ["LastName" ],
273- username = registration ["Email" ],
274- email = registration ["Email" ]
275- )
276- user .save ()
277-
278- # Create the new Person object.
279- person = Person .objects .create (
280- name = regname ,
281- ascii = ascii_name ,
282- affiliation = registration ["Company" ],
283- user = user
284- )
285- person .save ()
286-
287- # update the person object to an actual value
288- object .person = person
289- object .save ()
290-
291238 if created :
292239 num_created += 1
293240 num_processed += 1
0 commit comments