def write_person_info(outfile): f = MinimumSizeWriter(outfile) f.min_size = 0 f.write(xml.xml_hdr + "<data>\n") # Aktive fagpersoner ved HIH cols, fagperson = _ext_cols(fs.undervisning.list_fagperson_semester()) for p in fagperson: f.write( xml.xmlify_dbrow(p, xml.conv_colnames(cols), 'fagperson') + "\n") # Aktive ordinære studenter ved HIH cols, student = _ext_cols(fs.student.list_aktiv()) for a in student: f.write(xml.xmlify_dbrow(a, xml.conv_colnames(cols), 'aktiv') + "\n") # Eksamensmeldinger cols, student = _ext_cols(fs.student.list_eksamensmeldinger()) for s in student: f.write(xml.xmlify_dbrow(s, xml.conv_colnames(cols), 'eksamen') + "\n") # EVU-studenter ved HIH # For now, HiH does not want to import information about EVU students # cols, student = _ext_cols(fs.evu.list()) # for e in student: # f.write(xml.xmlify_dbrow(e, xml.conv_colnames(cols), 'evu') + "\n") f.write("</data>\n") f.close()
def write_person_info(outfile): f = MinimumSizeWriter(outfile) f.min_size = 0 f.write(xml.xml_hdr + "<data>\n") # Aktive fagpersoner ved HIH cols, fagperson = _ext_cols(fs.undervisning.list_fagperson_semester()) for p in fagperson: f.write(xml.xmlify_dbrow(p, xml.conv_colnames(cols), 'fagperson') + "\n") # Aktive ordinære studenter ved HIH cols, student = _ext_cols(fs.student.list_aktiv()) for a in student: f.write(xml.xmlify_dbrow(a, xml.conv_colnames(cols), 'aktiv') + "\n") # Eksamensmeldinger cols, student = _ext_cols(fs.student.list_eksamensmeldinger()) for s in student: f.write(xml.xmlify_dbrow(s, xml.conv_colnames(cols), 'eksamen') + "\n") # EVU-studenter ved HIH # For now, HiH does not want to import information about EVU students # cols, student = _ext_cols(fs.evu.list()) # for e in student: # f.write(xml.xmlify_dbrow(e, xml.conv_colnames(cols), 'evu') + "\n") f.write("</data>\n") f.close()
def ephorte_export(spread_id, filename): global f f = MinimumSizeWriter(filename) f.min_size = 1 * MiB ou.clear() ou.find(int(ou.root()[0]['ou_id'])) f.write(xml.xml_hdr + "<persons>\n") f.write("<orgid>%s</orgid>\n" % ou.acronym.lower()) for row in account.list_all_with_spread(spread_id): f.write("<person>\n") export_account(account_id=row['entity_id']) f.write("</person>\n") f.write("</persons>\n") f.close()
def ephorte_export(spread_id, filename): global f f = MinimumSizeWriter(filename) f.min_size = 1*MiB ou.clear() ou.find(int(ou.root()[0]['ou_id'])) f.write(xml.xml_hdr + "<persons>\n") f.write("<orgid>%s</orgid>\n" % ou.acronym.lower()) for row in account.list_all_with_spread(spread_id): f.write("<person>\n") export_account(account_id=row['entity_id']) f.write("</person>\n") f.write("</persons>\n") f.close()
def write_ou_info(outfile): """Lager fil med informasjon om alle OU-er""" logger.info("Writing ou info to '%s'" % outfile) f = MinimumSizeWriter(outfile) f.min_size = 0 f.write(xml.xml_hdr + "<data>\n") cols, ouer = _ext_cols(fs.info.list_ou(cereconf.DEFAULT_INSTITUSJONSNR)) for o in ouer: sted = {} for fs_col, xml_attr in ( ('faknr', 'fakultetnr'), ('instituttnr', 'instituttnr'), ('gruppenr', 'gruppenr'), ('stedakronym', 'akronym'), ('stedakronym', 'forkstednavn'), ('stednavn_bokmal', 'stednavn'), ('stedkode_konv', 'stedkode_konv'), ('faknr_org_under', 'fakultetnr_for_org_sted'), ('instituttnr_org_under', 'instituttnr_for_org_sted'), ('gruppenr_org_under', 'gruppenr_for_org_sted'), ('adrlin1', 'adresselinje1_intern_adr'), ('adrlin2', 'adresselinje2_intern_adr'), ('postnr', 'poststednr_intern_adr'), ('adrlin1_besok', 'adresselinje1_besok_adr'), ('adrlin2_besok', 'adresselinje2_besok_adr'), ('postnr_besok', 'poststednr_besok_adr')): if o[fs_col] is not None: sted[xml_attr] = xml.escape_xml_attr(o[fs_col]) komm = [] for fs_col, typekode in ( ('telefonnr', 'EKSTRA TLF'), ('faxnr', 'FAX'), ('emailadresse','EMAIL'), ('url', 'URL')): if o[fs_col]: # Skip NULLs and empty strings komm.append({'kommtypekode': xml.escape_xml_attr(typekode), 'kommnrverdi': xml.escape_xml_attr(o[fs_col])}) # TODO: Kolonnene 'url' og 'bibsysbeststedkode' hentes ut fra # FS, men tas ikke med i outputen herfra. f.write('<sted ' + ' '.join(["%s=%s" % item for item in sted.items()]) + '>\n') for k in komm: f.write('<komm ' + ' '.join(["%s=%s" % item for item in k.items()]) + ' />\n') f.write('</sted>\n') f.write("</data>\n") f.close()
def write_ou_info(outfile): """Lager fil med informasjon om alle OU-er""" f = MinimumSizeWriter(outfile) f.min_size = 0 f.write(xml.xml_hdr + "<data>\n") cols, ouer = _ext_cols(fs.info.list_ou(cereconf.DEFAULT_INSTITUSJONSNR)) for o in ouer: sted = {} for fs_col, xml_attr in ( ('faknr', 'fakultetnr'), ('instituttnr', 'instituttnr'), ('gruppenr', 'gruppenr'), ('stedakronym', 'akronym'), ('stedakronym', 'forkstednavn'), ('stednavn_bokmal', 'stednavn'), ('stedkode_konv', 'stedkode_konv'), ('faknr_org_under', 'fakultetnr_for_org_sted'), ('instituttnr_org_under', 'instituttnr_for_org_sted'), ('gruppenr_org_under', 'gruppenr_for_org_sted'), ('adrlin1', 'adresselinje1_intern_adr'), ('adrlin2', 'adresselinje2_intern_adr'), ('postnr', 'poststednr_intern_adr'), ('adrlin1_besok', 'adresselinje1_besok_adr'), ('adrlin2_besok', 'adresselinje2_besok_adr'), ('postnr_besok', 'poststednr_besok_adr')): if o[fs_col] is not None: sted[xml_attr] = xml.escape_xml_attr(o[fs_col]) komm = [] for fs_col, typekode in ( ('telefonnr', 'EKSTRA TLF'), ('faxnr', 'FAX'), ('emailadresse','EMAIL'), ('url', 'URL')): if o[fs_col]: # Skip NULLs and empty strings komm.append({'kommtypekode': xml.escape_xml_attr(typekode), 'kommnrverdi': xml.escape_xml_attr(o[fs_col])}) # TODO: Kolonnene 'url' og 'bibsysbeststedkode' hentes ut fra # FS, men tas ikke med i outputen herfra. f.write('<sted ' + ' '.join(["%s=%s" % item for item in sted.items()]) + '>\n') for k in komm: f.write('<komm ' + ' '.join(["%s=%s" % item for item in k.items()]) + ' />\n') f.write('</sted>\n') f.write("</data>\n") f.close()
def write_person_info(outfile): logger.info("Writing person info to '%s'" % outfile) f = MinimumSizeWriter(outfile) f.min_size = 0 f.write(xml.xml_hdr + "<data>\n") # Aktive fagpersoner ved HiØf cols, fagperson = _ext_cols(fs.undervisning.list_fagperson_semester()) for p in fagperson: f.write(xml.xmlify_dbrow(p, xml.conv_colnames(cols), 'fagperson') + "\n") # Aktive ordinære studenter ved HiØf cols, student = _ext_cols(fs.student.list_aktiv()) for a in student: f.write(xml.xmlify_dbrow(a, xml.conv_colnames(cols), 'aktiv') + "\n") # Eksamensmeldinger cols, student = _ext_cols(fs.student.list_eksamensmeldinger()) for s in student: f.write(xml.xmlify_dbrow(s, xml.conv_colnames(cols), 'eksamen') + "\n") f.write("</data>\n") f.close()
def write_edu_info(outfile): """Lag en fil med informasjon om alle studentenes 'aktiviteter' registrert i FS. Spesifikt, lister vi opp alle deltagelser ved: - undenh - undakt - kullklasser - kull """ logger.info("Writing edu info for all students") f = MinimumSizeWriter(outfile) f.min_size = 0 f.write(xml.xml_hdr + "<data>\n") for xml_tag, generator in ( ("undenh", fs.undervisning.list_studenter_alle_undenh), ("undakt", fs.undervisning.list_studenter_alle_undakt), ("kullklasse", fs.undervisning.list_studenter_alle_kullklasser), ("kull", fs.undervisning.list_studenter_alle_kull)): logger.debug("Processing %s entries", xml_tag) for row in generator(): keys = row.keys() f.write(xml.xmlify_dbrow(row, keys, xml_tag) + "\n") f.write("</data>\n") f.close()
def write_undenh_student(outfile): """Skriv oversikt over personer oppmeldt til undervisningsenheter. Tar med data for alle undervisingsenheter i inneværende+neste semester.""" f = MinimumSizeWriter(outfile) f.minsize = 5 * KiB f.write(xml.xml_hdr + "<data>\n") for semester in ('current', 'next'): cols, undenh = _ext_cols( fs.undervisning.list_undervisningenheter(sem=semester)) for u in undenh: u_attr = {} for k in ('institusjonsnr', 'emnekode', 'versjonskode', 'terminnr', 'terminkode', 'arstall'): u_attr[k] = u[k] student_cols, student = _ext_cols( fs.undervisning.list_studenter_underv_enhet(**u_attr)) for s in student: s_attr = u_attr.copy() for k in ('fodselsdato', 'personnr'): s_attr[k] = s[k] f.write( xml.xmlify_dbrow({}, (), 'student', extra_attr=s_attr) + "\n") f.write("</data>\n") f.close()
def write_person_info(outfile): logger.info("Writing person info to '%s'" % outfile) f = MinimumSizeWriter(outfile) f.min_size = 0 f.write(xml.xml_hdr + "<data>\n") # Aktive fagpersoner ved HiØf cols, fagperson = _ext_cols(fs.undervisning.list_fagperson_semester()) for p in fagperson: f.write( xml.xmlify_dbrow(p, xml.conv_colnames(cols), 'fagperson') + "\n") # Aktive ordinære studenter ved HiØf cols, student = _ext_cols(fs.student.list_aktiv()) for a in student: f.write(xml.xmlify_dbrow(a, xml.conv_colnames(cols), 'aktiv') + "\n") # Eksamensmeldinger cols, student = _ext_cols(fs.student.list_eksamensmeldinger()) for s in student: f.write(xml.xmlify_dbrow(s, xml.conv_colnames(cols), 'eksamen') + "\n") f.write("</data>\n") f.close()
def write_role_info(outfile): f = MinimumSizeWriter(outfile) f.min_size = 5 * KiB f.write(xml.xml_hdr + "<data>\n") cols, role = _ext_cols(fs.undervisning.list_alle_personroller()) for r in role: f.write(xml.xmlify_dbrow(r, xml.conv_colnames(cols), 'rolle') + "\n") f.write("</data>\n") f.close()
def write_role_info(outfile): f = MinimumSizeWriter(outfile) f.min_size = 5*KiB f.write(xml.xml_hdr + "<data>\n") cols, role = _ext_cols(fs.undervisning.list_alle_personroller()) for r in role: f.write(xml.xmlify_dbrow(r, xml.conv_colnames(cols), 'rolle') + "\n") f.write("</data>\n") f.close()
def write_evukurs_info(outfile): """Skriv data om alle EVU-kurs""" f = MinimumSizeWriter(outfile) f.min_size = 1*KiB f.write(xml.xml_hdr + "<data>\n") cols, evukurs = _ext_cols(fs.evu.list_kurs()) for ek in evukurs: f.write(xml.xmlify_dbrow(ek, xml.conv_colnames(cols), "evukurs") + "\n") f.write("</data>\n") f.close()
def write_evukurs_info(outfile): """Skriv data om alle EVU-kurs (vi trenger dette bl.a. for å bygge EVU-delen av CF).""" f = MinimumSizeWriter(outfile) f.min_size = 1*KiB f.write(xml.xml_hdr + "<data>\n") cols, evukurs = _ext_cols(fs.evu.list_kurs()) for ek in evukurs: f.write(xml.xmlify_dbrow(ek, xml.conv_colnames(cols), "evukurs") + "\n") f.write("</data>\n") f.close()
def write_studprog_info(outfile): """Lager fil med informasjon om alle definerte studieprogrammer""" f = MinimumSizeWriter(outfile) f.min_size = 50*KiB f.write(xml.xml_hdr + "<data>\n") cols, dta = _ext_cols(fs.info.list_studieprogrammer()) for t in dta: f.write(xml.xmlify_dbrow(t, xml.conv_colnames(cols), 'studprog') + "\n") f.write("</data>\n") f.close()
def write_role_info(outfile): """Skriv data om alle registrerte roller""" logger.info("Writing role info to '%s'" % outfile) f = MinimumSizeWriter(outfile) f.min_size = 1 * KiB f.write(xml.xml_hdr + "<data>\n") cols, role = _ext_cols(fs.undervisning.list_alle_personroller()) for r in role: f.write(xml.xmlify_dbrow(r, xml.conv_colnames(cols), 'rolle') + "\n") f.write("</data>\n") f.close()
def write_studprog_info(outfile): """Lager fil med informasjon om alle definerte studieprogrammer""" f = MinimumSizeWriter(outfile) f.minsize = 10 * KiB f.write(xml.xml_hdr + "<data>\n") cols, dta = _ext_cols(fs.info.list_studieprogrammer()) for t in dta: f.write( xml.xmlify_dbrow(t, xml.conv_colnames(cols), 'studprog') + "\n") f.write("</data>\n") f.close()
def write_role_info(outfile): """Skriv data om alle registrerte roller""" logger.info("Writing role info to '%s'" % outfile) f = MinimumSizeWriter(outfile) f.min_size = 1*KiB f.write(xml.xml_hdr + "<data>\n") cols, role = _ext_cols(fs.undervisning.list_alle_personroller()) for r in role: f.write(xml.xmlify_dbrow(r, xml.conv_colnames(cols), 'rolle') + "\n") f.write("</data>\n") f.close()
def write_undenh_metainfo(outfile): "Skriv metadata om undervisningsenheter for inneværende+neste semester." f = MinimumSizeWriter(outfile) f.min_size = 100*KiB f.write(xml.xml_hdr + "<undervenhet>\n") for semester in ('current', 'next'): cols, undenh = _ext_cols(fs.undervisning.list_undervisningenheter(sem=semester)) for u in undenh: f.write(xml.xmlify_dbrow(u, xml.conv_colnames(cols), 'undenhet') + "\n") f.write("</undervenhet>\n") f.close()
def write_person_info(outfile): f = MinimumSizeWriter(outfile) f.min_size = 0 f.write(xml.xml_hdr + "<data>\n") # Aktive ordinære studenter ved HIH cols, student = _ext_cols(fs.student.list_aktiv_midlertidig()) for a in student: f.write(xml.xmlify_dbrow(a, xml.conv_colnames(cols), 'aktiv') + "\n") f.write("</data>\n") f.close()
def write_undenh_metainfo(outfile): "Skriv metadata om undervisningsenheter for inneværende+neste semester." f = MinimumSizeWriter(outfile) f.min_size = 5*KiB f.write(xml.xml_hdr + "<undervenhet>\n") for semester in ('current', 'next'): cols, undenh = _ext_cols(fs.undervisning.list_undervisningenheter(sem=semester)) for u in undenh: f.write(xml.xmlify_dbrow(u, xml.conv_colnames(cols), 'undenhet') + "\n") f.write("</undervenhet>\n") f.close()
def write_kull_info(outfile): """Lag en fil med informasjon om alle studentenes kulldeltakelse registrert i FS. Spesifikt, lister vi opp alle deltagelser ved: - kullklasser - kull """ f = MinimumSizeWriter(outfile) f.min_size = 0 f.write(xml.xml_hdr + "<data>\n") for xml_tag, generator in ( ("kullklasse", fs.undervisning.list_studenter_alle_kullklasser), ("kulldeltaker", fs.undervisning.list_studenter_alle_kull), ("kull", fs.info.list_kull)): for row in generator(): keys = row.keys() f.write(xml.xmlify_dbrow(row, keys, xml_tag) + "\n") f.write("</data>\n") f.close()
def write_undenh_student(outfile): """Skriv oversikt over personer oppmeldt til undervisningsenheter. Tar med data for alle undervisingsenheter i inneværende+neste semester.""" f = MinimumSizeWriter(outfile) f.min_size = 10*KiB f.write(xml.xml_hdr + "<data>\n") for semester in ('current', 'next'): cols, undenh = _ext_cols(fs.undervisning.list_undervisningenheter(sem=semester)) for u in undenh: u_attr = {} for k in ('institusjonsnr', 'emnekode', 'versjonskode', 'terminnr', 'terminkode', 'arstall'): u_attr[k] = u[k] student_cols, student = _ext_cols(fs.undervisning.list_studenter_underv_enhet(**u_attr)) for s in student: s_attr = u_attr.copy() for k in ('fodselsdato', 'personnr'): s_attr[k] = s[k] f.write(xml.xmlify_dbrow({}, (), 'student', extra_attr=s_attr) + "\n") f.write("</data>\n") f.close()
def write_hia_person_info(outfile): f = MinimumSizeWriter(outfile) f.min_size = 1*MiB f.write(xml.xml_hdr + "<data>\n") # Aktive ordinære studenter ved HiA cols, hiastudent = _ext_cols(fs.student.list_aktiv()) for a in hiastudent: fix_float(a) f.write(xml.xmlify_dbrow(a, xml.conv_colnames(cols),'aktiv') + "\n") # Eksamensmeldinger cols, hiastudent = _ext_cols(fs.student.list_eksamensmeldinger()) for s in hiastudent: f.write(xml.xmlify_dbrow(s, xml.conv_colnames(cols), 'eksamen') + "\n") # Privatister ved HiA cols, hiastudent = _ext_cols(fs.student.list_privatist()) for p in hiastudent: f.write(xml.xmlify_dbrow(p,xml.conv_colnames(cols),'privatist_studieprogram') + "\n") # EVU-studenter ved HiA cols, hiastudent = _ext_cols(fs.evu.list()) for e in hiastudent: f.write(xml.xmlify_dbrow(e,xml.conv_colnames(cols),'evu') + "\n") f.write("</data>\n") f.close()
def write_hia_person_info(outfile): f = MinimumSizeWriter(outfile) f.min_size = 1 * MiB f.write(xml.xml_hdr + "<data>\n") # Aktive ordinære studenter ved HiA cols, hiastudent = _ext_cols(fs.student.list_aktiv()) for a in hiastudent: fix_float(a) f.write(xml.xmlify_dbrow(a, xml.conv_colnames(cols), 'aktiv') + "\n") # Eksamensmeldinger cols, hiastudent = _ext_cols(fs.student.list_eksamensmeldinger()) for s in hiastudent: f.write(xml.xmlify_dbrow(s, xml.conv_colnames(cols), 'eksamen') + "\n") # Privatister ved HiA cols, hiastudent = _ext_cols(fs.student.list_privatist()) for p in hiastudent: f.write( xml.xmlify_dbrow(p, xml.conv_colnames(cols), 'privatist_studieprogram') + "\n") # EVU-studenter ved HiA cols, hiastudent = _ext_cols(fs.evu.list()) for e in hiastudent: f.write(xml.xmlify_dbrow(e, xml.conv_colnames(cols), 'evu') + "\n") f.write("</data>\n") f.close()