#!/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.students.export import ( FirstStudentStudyCourseExporter, SecondStudentStudyCourseExporter, FirstStudentStudyLevelExporter, SecondStudentStudyLevelExporter, FirstCourseTicketExporter, SecondCourseTicketExporter, BedTicketExporter, get_students,) from waeup.kofa.applicants.export import ( ApplicantsContainerExporter, ApplicantRefereeReportExporter,) 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 kofacustom.nigeria.applicants.export import ( # NigeriaApplicantPaymentExporter) from waeup.uniben.applicants.export import ( CustomApplicantExporter, CustomApplicantPaymentExporter, #CustomApplicantRefereeReportExporter ) from waeup.uniben.students.export import ( CustomStudentExporter, CustomStudentPaymentExporter, CustomStudentStudyCourseExporter, CustomStudentStudyLevelExporter, CustomCourseTicketExporter, ) from waeup.uniben.configuration import CustomConfigurationExporter exporter_klasses = [ HostelExporter, BedExporter, PDFDocumentExporter, HTMLDocumentExporter, RESTDocumentExporter, AccessCodeBatchExporter, AccessCodeExporter, CustomConfigurationExporter, UserExporter, ApplicantsContainerExporter, CustomApplicantExporter, CustomApplicantPaymentExporter, ApplicantRefereeReportExporter, CustomApplicantRefereeReportExporter CustomStudentExporter, CustomStudentPaymentExporter, CustomStudentStudyCourseExporter, CustomStudentStudyLevelExporter, CustomCourseTicketExporter, BedTicketExporter, FirstStudentStudyCourseExporter, SecondStudentStudyCourseExporter, FirstStudentStudyLevelExporter, SecondStudentStudyLevelExporter, FirstCourseTicketExporter, SecondCourseTicketExporter, ] 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)