source: main/waeup.uniben/trunk/dumper.py @ 17780

Last change on this file since 17780 was 17780, checked in by Henrik Bettermann, 4 months ago

Let’s try the dumper.

  • Property svn:executable set to *
File size: 2.9 KB
Line 
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
10import glob
11import os
12from zope.component.hooks import setSite
13from waeup.kofa.students.export import (
14    FirstStudentStudyCourseExporter,
15    SecondStudentStudyCourseExporter,
16    FirstStudentStudyLevelExporter,
17    SecondStudentStudyLevelExporter,
18    FirstCourseTicketExporter,
19    SecondCourseTicketExporter,
20    BedTicketExporter,
21    get_students,)
22from waeup.kofa.applicants.export import (
23        ApplicantsContainerExporter,
24        ApplicantRefereeReportExporter,)
25from waeup.kofa.hostels.export import (
26        HostelExporter,
27        BedExporter)
28from waeup.kofa.documents.export import (
29        PDFDocumentExporter, HTMLDocumentExporter, RESTDocumentExporter)
30from waeup.kofa.accesscodes.export import (
31        AccessCodeBatchExporter, AccessCodeExporter)
32from waeup.kofa.userscontainer import UserExporter
33
34#from kofacustom.nigeria.applicants.export import (
35#        NigeriaApplicantPaymentExporter)
36
37from waeup.uniben.applicants.export import (
38        CustomApplicantExporter,
39        CustomApplicantPaymentExporter,
40        #CustomApplicantRefereeReportExporter
41        )
42from waeup.uniben.students.export import (
43        CustomStudentExporter,
44        CustomStudentPaymentExporter,
45        CustomStudentStudyCourseExporter,
46        CustomStudentStudyLevelExporter,
47        CustomCourseTicketExporter,
48        )
49from waeup.uniben.configuration import CustomConfigurationExporter
50
51exporter_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
85def 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
Note: See TracBrowser for help on using the repository browser.