[17780] | 1 | #!/usr/bin/env python2 |
---|
| 2 | # |
---|
| 3 | # $ ./bin/kofactl debug |
---|
| 4 | # >>> import sys |
---|
| 5 | # >>> sys.path.append(".") |
---|
| 6 | # >>> import dumper |
---|
| 7 | # >>> dumper.export_all(root) |
---|
| 8 | # |
---|
| 9 | |
---|
| 10 | import glob |
---|
| 11 | import os |
---|
| 12 | from zope.component.hooks import setSite |
---|
| 13 | from waeup.kofa.students.export import ( |
---|
| 14 | FirstStudentStudyCourseExporter, |
---|
| 15 | SecondStudentStudyCourseExporter, |
---|
| 16 | FirstStudentStudyLevelExporter, |
---|
| 17 | SecondStudentStudyLevelExporter, |
---|
| 18 | FirstCourseTicketExporter, |
---|
| 19 | SecondCourseTicketExporter, |
---|
| 20 | BedTicketExporter, |
---|
| 21 | get_students,) |
---|
| 22 | from waeup.kofa.applicants.export import ( |
---|
| 23 | ApplicantsContainerExporter, |
---|
| 24 | ApplicantRefereeReportExporter,) |
---|
| 25 | from waeup.kofa.hostels.export import ( |
---|
| 26 | HostelExporter, |
---|
| 27 | BedExporter) |
---|
| 28 | from waeup.kofa.documents.export import ( |
---|
| 29 | PDFDocumentExporter, HTMLDocumentExporter, RESTDocumentExporter) |
---|
| 30 | from waeup.kofa.accesscodes.export import ( |
---|
| 31 | AccessCodeBatchExporter, AccessCodeExporter) |
---|
| 32 | from waeup.kofa.userscontainer import UserExporter |
---|
| 33 | |
---|
| 34 | #from kofacustom.nigeria.applicants.export import ( |
---|
| 35 | # NigeriaApplicantPaymentExporter) |
---|
| 36 | |
---|
| 37 | from waeup.uniben.applicants.export import ( |
---|
| 38 | CustomApplicantExporter, |
---|
| 39 | CustomApplicantPaymentExporter, |
---|
| 40 | #CustomApplicantRefereeReportExporter |
---|
| 41 | ) |
---|
| 42 | from waeup.uniben.students.export import ( |
---|
| 43 | CustomStudentExporter, |
---|
| 44 | CustomStudentPaymentExporter, |
---|
| 45 | CustomStudentStudyCourseExporter, |
---|
| 46 | CustomStudentStudyLevelExporter, |
---|
| 47 | CustomCourseTicketExporter, |
---|
| 48 | ) |
---|
| 49 | from waeup.uniben.configuration import CustomConfigurationExporter |
---|
| 50 | |
---|
| 51 | exporter_klasses = [ |
---|
| 52 | |
---|
| 53 | HostelExporter, |
---|
| 54 | BedExporter, |
---|
| 55 | PDFDocumentExporter, |
---|
| 56 | HTMLDocumentExporter, |
---|
| 57 | RESTDocumentExporter, |
---|
| 58 | AccessCodeBatchExporter, |
---|
| 59 | AccessCodeExporter, |
---|
| 60 | CustomConfigurationExporter, |
---|
| 61 | UserExporter, |
---|
| 62 | |
---|
| 63 | ApplicantsContainerExporter, |
---|
| 64 | CustomApplicantExporter, |
---|
| 65 | CustomApplicantPaymentExporter, |
---|
| 66 | ApplicantRefereeReportExporter, |
---|
| 67 | CustomApplicantRefereeReportExporter |
---|
| 68 | |
---|
| 69 | CustomStudentExporter, |
---|
| 70 | CustomStudentPaymentExporter, |
---|
| 71 | CustomStudentStudyCourseExporter, |
---|
| 72 | CustomStudentStudyLevelExporter, |
---|
| 73 | CustomCourseTicketExporter, |
---|
| 74 | BedTicketExporter, |
---|
| 75 | |
---|
| 76 | FirstStudentStudyCourseExporter, |
---|
| 77 | SecondStudentStudyCourseExporter, |
---|
| 78 | FirstStudentStudyLevelExporter, |
---|
| 79 | SecondStudentStudyLevelExporter, |
---|
| 80 | FirstCourseTicketExporter, |
---|
| 81 | SecondCourseTicketExporter, |
---|
| 82 | ] |
---|
| 83 | |
---|
| 84 | |
---|
| 85 | def export_all(root): |
---|
| 86 | site = root["uniben"] |
---|
| 87 | setSite(site) |
---|
| 88 | for klass in exporter_klasses: |
---|
| 89 | c_name = "export_" + getattr(klass, "grokcore.component.directive.name") |
---|
| 90 | print(c_name) |
---|
| 91 | outfile = "csvdata/%s.csv" % c_name |
---|
| 92 | exporter = klass() |
---|
| 93 | print("Dump data to %s..." % outfile) |
---|
| 94 | exporter.export_all(site, outfile) |
---|
| 95 | #try: |
---|
| 96 | # exporter.export_all(site, outfile) |
---|
| 97 | #except: |
---|
| 98 | # print("CRASHED: " + c_name) |
---|
| 99 | # if outfile in glob.glob("csvdata/*.csv"): |
---|
| 100 | # os.remove(outfile) |
---|
| 101 | |
---|
| 102 | |
---|