Changeset 1146 for WAeUP_SRP/trunk/Academics.py
- Timestamp:
- 29 Dec 2006, 07:00:35 (18 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
WAeUP_SRP/trunk/Academics.py
r1082 r1146 187 187 """install Universityspecific Courses from CSV values""" 188 188 #return 189 not_allowed =re.compile('[^A-Z0-9]') 189 190 wf = self.portal_workflow 190 191 name = 'Courses' … … 208 209 logger.error('Error reading %s.csv' % name) 209 210 return 210 no_import = open("%s/import/%s_not_imported.csv" % (i_home,name),"w") 211 imported = [] 212 not_imported = [] 211 213 heading = ','.join(['"%s"' % fn for fn in fields]) 212 no_import.write('%s\n' % heading) 214 imported.append(heading) 215 not_imported.append(heading) 216 #no_import.write('%s\n' % heading) 213 217 l = self.portal_catalog({'meta_type': "Faculty"}) 214 218 facs = {} … … 222 226 course_list = [ c.id for c in cl] 223 227 for course in courses: 224 processing = "processing %s" % format 225 logger.info(processing % course) 228 #processing = "processing %s" % format 229 #logger.info(processing % course) 230 course_id = course.get('code') 231 if not_allowed.search(course_id): 232 msg = ',"Invalid Course Code"' 233 #logger.info(msg) 234 #not_imported.append('"%s",' % msg) 235 not_imported.append(format % course + msg) 236 continue 226 237 depid = course.get('department_code').upper() 227 238 if depid in deps.keys(): 228 239 dept= deps.get(depid) 229 240 else: 230 msg = "Department %(department_code)s for Course %(code)s not found" % course231 logger.info(msg)232 no_import.write('"%s",' % msg)233 no _import.write(format % course + "\n")241 msg = ',"Department not found"' 242 #logger.info(msg) 243 #not_imported.append('"%s",' % msg) 244 not_imported.append(format % course + msg) 234 245 continue 235 course_id = course.get('code')236 246 if course_id in course_list: 237 msg = "Multiple Course Code"238 logger.info(msg)239 no_import.write('"%s",' % msg)240 no _import.write(format % course + "\n")247 msg = ',"Multiple Course Code"' 248 #logger.info(msg) 249 #not_imported.append('"%s",' % msg) 250 not_imported.append(format % course + msg) 241 251 continue 252 level = "%c00" % course_id[-3] 253 course['level'] = level 242 254 cf = dept.courses 243 255 c = getattr(cf,course_id,None) 256 cd_fields = (('code','code'), 257 ('faculty','faculty_code'), 258 ('department','department_code'), 259 ('title','title'), 260 ('credits','credits'), 261 ('level','level'), 262 ('semester','semester'), 263 ) 264 cd = {} 265 for t,f in cd_fields: 266 cd[t] = course[f] 267 #import pdb;pdb.set_trace() 244 268 if c is None: 245 269 logger.info('Creating Course %(code)s %(title)s in Department %(department_code)s' % course) 246 270 cf.invokeFactory('Course', course_id) 247 271 course_list.append(course_id) 272 imported.append(format % course) 248 273 c = getattr(cf,course_id) 274 self.courses_catalog.addRecord(**cd) 275 else: 276 self.courses_catalog.modifyRecord(**cd) 249 277 c.getContent().edit(mapping=course) 250 278 review_state = course.get('review_state') 251 279 if review_state == "checked" and wf.getInfoFor(c,'review_state',None) != 'checked': 252 280 self.portal_workflow.doActionFor(c,'approve') 281 current = DateTime.DateTime().strftime("%d-%m-%y_%H_%M_%S") 282 if len(not_imported) > 1: 283 open("%s/import/%s_%s_not_imported.csv" % (i_home,name,current),"w")\ 284 .write('\n'.join(not_imported)) 285 open("%s/import/%s_%s_imported.csv" % (i_home,name,current),"w")\ 286 .write('\n'.join(imported)) 253 287 return self.REQUEST.RESPONSE.redirect("%s" % self.REQUEST.get('URL1')) 254 288 ###)
Note: See TracChangeset for help on using the changeset viewer.