#!/usr/bin/env python2 # # $ ./bin/kofactl debug # >>> import sys; sys.path.append("."); import dumper; dumper.export_all(root) # import glob import os from zope.component.hooks import setSite from waeup.kofa.university.export import( FacultyExporter, DepartmentExporter, CourseExporter, CertificateExporter, CertificateCourseExporter, ) from waeup.kofa.students.export import ( FirstStudentStudyCourseExporter, SecondStudentStudyCourseExporter, FirstStudentStudyLevelExporter, SecondStudentStudyLevelExporter, FirstCourseTicketExporter, SecondCourseTicketExporter, BedTicketExporter, get_students,) from waeup.kofa.applicants.export import ( ApplicantsContainerExporter) from waeup.kofa.hostels.export import ( HostelExporter, BedExporter) from waeup.kofa.documents.export import ( PDFDocumentExporter, HTMLDocumentExporter, RESTDocumentExporter) from waeup.kofa.accesscodes.export import ( AccessCodeBatchExporter, AccessCodeExporter) from waeup.kofa.userscontainer import UserExporter from waeup.kofa.configuration import ConfigurationContainerExporter from waeup.uniben.applicants.export import ( CustomApplicantExporter, CustomApplicantPaymentExporter, ) from waeup.uniben.students.export import ( CustomStudentExporter, CustomStudentPaymentExporter, CustomStudentStudyCourseExporter, CustomStudentStudyLevelExporter, CustomCourseTicketExporter, ) try: from waeup.uniben.configuration import CustomSessionConfigurationExporter as SessionConfigurationExporter except: from waeup.kofa.configuration import SessionConfigurationExporter try: from waeup.uniben.applicants import CustomApplicantRefereeReportExporter as ApplicantRefereeReportExporter except: from waeup.kofa.applicants.export import ApplicantRefereeReportExporter try: from waeup.uniben.applicants import CustomApplicantPaymentExporter as ApplicantPaymentExporter except: from kofacustom.nigeria.applicants.export import NigeriaApplicantPaymentExporter as ApplicantPaymentExporter exporter_klasses = [ HostelExporter, BedExporter, PDFDocumentExporter, HTMLDocumentExporter, RESTDocumentExporter, AccessCodeBatchExporter, AccessCodeExporter, SessionConfigurationExporter, UserExporter, ConfigurationContainerExporter, FacultyExporter, DepartmentExporter, CourseExporter, CertificateExporter, CertificateCourseExporter, ApplicantsContainerExporter, CustomApplicantExporter, ApplicantPaymentExporter, ApplicantRefereeReportExporter, CustomStudentExporter, CustomStudentPaymentExporter, CustomStudentStudyCourseExporter, CustomStudentStudyLevelExporter, CustomCourseTicketExporter, BedTicketExporter, FirstStudentStudyCourseExporter, SecondStudentStudyCourseExporter, FirstStudentStudyLevelExporter, SecondStudentStudyLevelExporter, FirstCourseTicketExporter, SecondCourseTicketExporter, ] exporter_klasses = [ FacultyExporter, DepartmentExporter, CourseExporter, CertificateExporter, CertificateCourseExporter, ] def export_all(root): site = root["uniben"] setSite(site) for klass in exporter_klasses: c_name = "export_" + getattr(klass, "grokcore.component.directive.name") print(c_name) outfile = "csvdata/%s.csv" % c_name exporter = klass() print("Dump data to %s..." % outfile) exporter.export_all(site, outfile) #try: # exporter.export_all(site, outfile) #except: # print("CRASHED: " + c_name) # if outfile in glob.glob("csvdata/*.csv"): # os.remove(outfile)