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

Last change on this file since 17786 was 17786, checked in by Henrik Bettermann, 11 months ago

Update and fix.

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