Ignore:
Timestamp:
21 Dec 2006, 11:21:54 (18 years ago)
Author:
joachim
Message:

pude import

File:
1 edited

Legend:

Unmodified
Added
Removed
  • WAeUP_SRP/trunk/Students.py

    r1082 r1111  
    6262###)
    6363
     64def checkJambNo(jnr):
     65    try:
     66        if len(jnr) != 10:
     67            return False
     68    except:
     69        return False
     70    try:
     71        int(jnr[:8])
     72        return True
     73    except:
     74        return False
     75       
    6476class StudentsFolder(CPSDocument): ###(
    6577    """
     
    251263        import transaction
    252264        import random
    253         from pdb import set_trace
    254         csv_d = {'jamb_reg_no': "RegNumber",
    255                  'status': "Admission Status",
     265##        csv_d = {'jamb_reg_no': "RegNumber", ###(
     266##                 'status': "Admission Status",
     267##                 'name': "Name",
     268##                 'score': "Score",
     269##                 'sex': "Sex",
     270##                 'faculty': "Faculty",
     271##                 'department': "Dept",
     272##                 'course': "Course",
     273##                 'course_code_org': "Course Code",
     274##                 }
     275###)
     276        csv_d = {'jamb_reg_no': "JAMBRegno",
    256277                 'name': "Name",
    257278                 'score': "Score",
    258279                 'sex': "Sex",
     280                 'course': "Course Code",
    259281                 'faculty': "Faculty",
    260282                 'department': "Dept",
    261                  'course': "Course",
    262283                 'course_code_org': "Course Code",
     284                 'status': "Admission Status",
     285                 'result_type': None,
    263286                 }
    264         csv_fields = [f[1] for f in csv_d.items()]
     287        csv_fields = [f[1] for f in csv_d.items() if f[1]]
    265288        tr_count = 0
    266289        total = 0
    267         #name = 'pup_new'
    268         name = 'pup_update'
     290        name = 'pup_new'
     291        #name = 'pup_update'
    269292        update = name.endswith('update')
    270293        no_import = []
    271         s = ','.join(['"%s"' % fn for fn in csv_fields])
    272         no_import.append('%s' % s)
     294        ok_import = []
     295        ok_import.append('%s' % ','.join(['"%s"' % fn for fn in csv_d.keys()]))
     296        no_import.append('%s' % ','.join(['"%s"' % fn for fn in csv_fields]))
    273297        current = DateTime.DateTime().strftime("%d-%m-%y_%H_%M_%S")
     298        ok_import_name = "%s/import/%s_imported_%s.csv" % (i_home,name,current)
     299        #open(ok_import_name,"w").write('\n'.join(no_import))
    274300        no_import_name = "%s/import/%s_not_imported_%s.csv" % (i_home,name,current)
    275         open(no_import_name,"w").write('\n'.join(no_import))
    276         no_import = []
     301        #open(no_import_name,"w").write('\n'.join(no_import))
    277302        logger = logging.getLogger('Import.%s' % name)
    278303        starttime = DateTime.now()
     
    285310        pume = self.portal_pumeresults
    286311        format = ','.join(['"%%(%s)s"' % fn for fn in csv_fields])
     312        import_format = ','.join(['"%%(%s)s"' % fn for fn in csv_d.keys()])
    287313        eduplicate = '"dupplicate",%s' % format
     314        einvalidjamb = '"invalid JambNr",%s' % format
    288315        added = 'added ,%s' % format
     316        #from pdb import set_trace;set_trace()
    289317        for jamb in result:
    290318            dict = {}
    291             #set_trace()
    292319            for f,fn in csv_d.items():
    293320                dict[f] = jamb.get(csv_d[f])
    294             res = pume(jamb_reg_no=jamb.get(csv_d['jamb_reg_no']))
     321            dict['result_type'] = 'DE'
     322            jnr = jamb.get(csv_d['jamb_reg_no'])
     323            if not checkJambNo(jnr):
     324                logger.info(einvalidjamb % jamb)
     325                dd = {}
     326                for f,fn in csv_d.items():
     327                    dd[fn] = getattr(data,f)
     328                    no_import.append(eduplicate % dd)
     329                    no_import.append(eduplicate % jamb)
     330                continue
     331            res = pume(jamb_reg_no=jnr)
    295332            if len(res) > 0:
    296333                if update:
     
    319356            try:
    320357                pume.addRecord(**dict)
     358                ok_import.append(import_format % dict)
    321359            except ValueError:
    322360                logger.info(eduplicate % jamb)
     
    327365        if len(no_import) > 1:
    328366            open(no_import_name,"w+").write('\n'.join(no_import))
     367        open(ok_import_name,"w+").write('\n'.join(ok_import))
    329368        return self.REQUEST.RESPONSE.redirect("%s" % self.REQUEST.get('URL1'))
    330369    ###)
Note: See TracChangeset for help on using the changeset viewer.