Index: WAeUP_SRP/base/skins/waeup_utilities/ti_441_resolve_part1.py
===================================================================
--- WAeUP_SRP/base/skins/waeup_utilities/ti_441_resolve_part1.py	(revision 3013)
+++ WAeUP_SRP/base/skins/waeup_utilities/ti_441_resolve_part1.py	(revision 3014)
@@ -57,17 +57,18 @@
     jamb_lga = getattr(getattr(students_folder,student_record.id),'application').getContent().jamb_lga
     words = ' '.join((jamb_state, jamb_lga))
-    words = re_split('[^a-zA-Z0-9/]',words)
-    lga_words = []
-    for word in words:
-        if word:
-            lga_words += word.lower(),
-    lga_words.sort()
-    state_lga = ''
-    while not state_lga:
-        for k,l in words_dict.items():
-            if lga_words == l:
-                state_lga = k
-                break
-        break
+    # words = re_split('[^a-zA-Z0-9/]',words)
+    # lga_words = []
+    # for word in words:
+    #     if word:
+    #         lga_words += word.lower(),
+    # lga_words.sort()
+    # state_lga = ''
+    # while not state_lga:
+    #     for k,l in words_dict.items():
+    #         if lga_words == l:
+    #             state_lga = k
+    #             break
+    #     break
+    state_lga = context.waeup_tool.findLga(words,words_dict)
     if state_lga:
         msg = "found %s is %s for %s " % (state_lga,student_record.lga,student_record.id)
@@ -78,5 +79,5 @@
             logger.info("found %d to correct state/lga combinations of %d so far" % (len(d),count))
     else:
-        msg = "no '%s' for %s" % (lga_words,student_record.id)
+        msg = "no '%s' for %s" % (words,student_record.id)
         logger.info(msg)
         #rwrite(msg)
Index: WAeUP_SRP/base/skins/waeup_utilities/ti_441_resolve_part2.py
===================================================================
--- WAeUP_SRP/base/skins/waeup_utilities/ti_441_resolve_part2.py	(revision 3013)
+++ WAeUP_SRP/base/skins/waeup_utilities/ti_441_resolve_part2.py	(revision 3014)
@@ -62,5 +62,5 @@
 #     return (d,states,lgas)
 
-difference = context.waeup_tool.difference
+#difference = context.waeup_tool.difference
 re_split = context.waeup_tool.re_split
 #logger.info('')
@@ -69,4 +69,5 @@
 logger.info("found %d students" % total)
 count = 0
+correctable = wrong = 1
 commit_after = 100
 logger.info('started to fix %d records in students_catalog' % total)
@@ -76,4 +77,8 @@
 words_dict = mapping['word_dict']
 d = {}
+not_found_lgas = []
+not_found_count = {}
+rename_lgas = {}
+rename_lgas['edo_orhionmwon'] = 'edo_ohionmwon'
 for student_record in student_records:
     # skip record without lga value
@@ -87,28 +92,17 @@
         continue
     #rwrite("%s: %s" % (student_record.id,student_record.lga))
+    if student_record.lga in rename_lgas.keys():
+        correctable += 1
+        d[student_record.id] = rename_lgas[student_record.lga]
+        if len(d) and not len(d)  % commit_after:
+            logger.info("found %d to correct state/lga combinations of %d so far" % (len(d),count))
+        continue
     words = student_record.lga 
     if len(words.split(' / ')) == 2:
         words = words.replace(' / ',' ')
-    words = re_split('[^a-zA-Z0-9/]',words)
-    lga_words = []
-    for word in words:
-        if word:
-            lga_words += word.lower(),
-    lga_words.sort()
-    # state = sl[0].lower().strip()
-    # state = '_'.join(state.split())
-    # lga = sl[1].lower().strip()
-    # if not lga or not state:
-    #     logger.info("found invalid lga %s of %s" % (student_record.lga,student_record.id))
-    #     continue
-    state_lga = ''
-    while not state_lga:
-        for k,l in words_dict.items():
-            if lga_words == l:
-                state_lga = k
-                break
-        break
+    state_lga = context.waeup_tool.findLga(words,words_dict)
     if state_lga:
         if state_lga != student_record.lga:
+            correctable += 1
             msg = "found %s is %s for %s " % (state_lga,student_record.lga,student_record.id)
             #rwrite(msg)
@@ -119,10 +113,25 @@
             msg = "already corrected %s : %s for %s " % (state_lga,student_record.lga,student_record.id)
     else:
-        msg = "no '%s' for %s" % (lga_words,student_record.id)
+        wrong += 1
+        msg = "no '%s' for %s" % (words,student_record.id)
+        if len(words) > 2:
+            if words not in not_found_lgas:
+                not_found_lgas += words,
+                not_found_count[words] = 1
+            else:
+                nfc = not_found_count[words] 
+                nfc += 1
+                not_found_count[words] = nfc 
+        #rwrite(msg)
     # if count > 2000:
     #     break
+not_found_lgas.sort()
+for lga in not_found_lgas:
+    msg = "not found %s count: %d" % (lga,not_found_count[lga])
+    logger.info(msg)
 to_edit = len(d)
-logger.info("found %d correct state/lga combinations of %d" % (to_edit,count))
-
+logger.info("found %d correctable state/lga combinations, not correctable %d total %d" % (correctable,
+                                                                                          wrong,
+                                                                                          count))
 edited = 1
 for student_id,lga in d.items():
