[Mpuls-commits] r330 - in wasko/trunk: . waskaweb/lib
scm-commit@wald.intevation.org
scm-commit at wald.intevation.org
Thu Mar 5 07:25:56 CET 2009
Author: teichmann
Date: 2009-03-05 07:25:49 +0100 (Thu, 05 Mar 2009)
New Revision: 330
Modified:
wasko/trunk/ChangeLog.txt
wasko/trunk/waskaweb/lib/exportselection.py
wasko/trunk/waskaweb/lib/xmlexport.py
Log:
Some adjustments for XML export.
Modified: wasko/trunk/ChangeLog.txt
===================================================================
--- wasko/trunk/ChangeLog.txt 2009-03-04 16:49:46 UTC (rev 329)
+++ wasko/trunk/ChangeLog.txt 2009-03-05 06:25:49 UTC (rev 330)
@@ -1,3 +1,8 @@
+2009-03-05 Sascha L. Teichmann <teichmann at intevation.de>
+
+ * waskaweb/lib/xmlexport.py, waskaweb/lib/exportselection.py:
+ Some adjustments logbook & document struture.
+
2009-03-04 Sascha L. Teichmann <teichmann at intevation.de>
* waskaweb/model/casexml.py: Raise XMLImportException when an
Modified: wasko/trunk/waskaweb/lib/exportselection.py
===================================================================
--- wasko/trunk/waskaweb/lib/exportselection.py 2009-03-04 16:49:46 UTC (rev 329)
+++ wasko/trunk/waskaweb/lib/exportselection.py 2009-03-05 06:25:49 UTC (rev 330)
@@ -35,39 +35,54 @@
FORM_SECTION_RE = re.compile(r"^form_section_(\d+)$")
-RG_UNTERSTUETZUNG = (
- "angebote_bildenden_bereich",
- "angebote_berufsvorbereitung",
- "angebote_berufliche_qualifizierung",
- "angebote_lebensbewaeltigung")
+#RG_UNTERSTUETZUNG = (
+# "angebote_bildenden_bereich",
+# "angebote_berufsvorbereitung",
+# "angebote_berufliche_qualifizierung",
+# "angebote_lebensbewaeltigung")
+#
+#RG_ALL = (
+# "kompetenzfestellung",
+# "angebote_bildenden_bereich",
+# "angebote_berufsvorbereitung",
+# "angebote_berufliche_qualifizierung",
+# "angebote_lebensbewaeltigung")
+#
-RG_ALL = (
- "kompetenzfestellung",
- "angebote_bildenden_bereich",
- "angebote_berufsvorbereitung",
- "angebote_berufliche_qualifizierung",
- "angebote_lebensbewaeltigung")
-
SECTION_MAP = {
- 'form_section_666': 'page_einverstaendnis', # Einverständniserklärung, Phase
- 'form_section_0' : 'page_0', # Zuständigkeiten, Eingangsdaten
- 'form_section_1' : 'page_25', # Externe Ansprechpartner
- 'form_section_2' : 'page_1', # Persönliche Angaben
- 'form_section_3' : 'page_2', # Familiäre Situation
- 'form_section_4' : 'page_3', # Gesundheitliche Situation
- 'form_section_5' : 'page_4', # Soziale Lage
- 'form_section_6' : 'page_5', # Schule
- 'form_section_7' : 'page_6', # Ausbildung und Arbeit
- 'form_section_8' : 'page_7', # Weiterer Verlauf
- 'form_section_9' : 'rg_kompetenzfestellung', # Kompetenzfeststellung
- 'form_section_10' : 'page_10', # Förderplanung
- 'form_section_11' : 'rg_unterstuetzungsangebote', # Unterstützungsangebote
- 'form_section_12' : 'page_15', # Freie Dokumentation
- 'form_section_13' : 'page_16', # Angaben zum Verlauf und Beendigung des CM
- 'form_section_14' : 'page_17', # Berufliche Integration
- 'form_section_15' : 'page_18', # Soziale Integration
- 'form_section_16' : 'page_19', # Einschätzung des Case-Managers,
- 'form_section_17' : 'page_20' # Freie Dokumentation
+'form_section_ee': "ee", # Einwilligungserklärung
+'form_section_01': "page-0", # 1. Zuständigkeiten, Eingangsdaten
+'form_section_02': "page-1", # 2. Externe Ansprechpartner
+'form_section_03': "page-2", # 3.1 Persönliche Angaben
+'form_section_04': "page-3", # 3.2 Angaben zu der Mutter
+'form_section_05': "page-4", # 3.3 Angaben zu dem Vater
+'form_section_06': "page-5", # 3.4 Geschwister
+'form_section_07': "page-6", # 3.5 Familieneinkommen
+'form_section_08': "page-7", # 3.6 Bezugspersonen/soziales Umfeld
+'form_section_09': "page-8", # 3.7 Freie Dokumentation
+'form_section_10': "page-9", # 4.1 Angaben zur Schullaufbahn
+'form_section_11': "page-10", # 4.2 Familiärer Hintergrund und Ressourcen
+'form_section_12': "page-11", # 4.3 Unterstützungsleistungen im Vorfeld
+'form_section_13': "page-12", # 4.4 Freie Dokumentation
+'form_section_14': "page-13", # 5.1.1 Verfahren der Kompetenzfeststellung
+'form_section_15': "page-14", # 5.1.2 Ergebnisse der Kompetenzfeststellung
+'form_section_16': "page-15", # 5.1.3 Entwicklung des jungen Menschen
+'form_section_17': "page-16", # 5.2.1 Reintegrations-Vorraussetzungen
+'form_section_18': "page-28", # 5.2.1.5 Erfassung von Fehlzeiten
+'form_section_19': "page-17", # 5.2.2 Probleme
+'form_section_20': "page-18", # 5.2.3 Zielsetzung des Case Management
+'form_section_21': "page-30", # Unterstützungsmaßnahme 1
+'form_section_22': "page-31", # Unterstützungsmaßnahme 2
+'form_section_23': "page-32", # Unterstützungsmaßnahme 3
+'form_section_24': "page-33", # Weitere Unterstützungsmaßnahmen
+'form_section_25': "page-20", # 5.3.2 Vereinbarungen
+'form_section_26': "page-21", # 5.3.3 Elternarbeit
+'form_section_27': "page-22", # 5.4 Freie Dokumentation
+'form_section_28': "page-23", # 6.1.1 Verlauf des Case Management
+'form_section_29': "page-24", # 6.1.2 Beendigung des Case Management
+'form_section_30': "page-25", # 6.2 Erreichte Ziele
+'form_section_31': "page-26", # 6.3 Nachbetreuung
+'form_section_32': "page-27", # 6.4 Freie Dokumentation zur Abschlussbewertung
}
def form_section_sort(a, b):
@@ -165,7 +180,7 @@
selector = Selector(self.anonymize, master_where, rg_where)
selected_sections = self.case_parts.allSelectedSections()
# always export einverstaendiserklaerung and phase
- selected_sections.insert(0, 'form_section_666')
+ selected_sections.insert(0, 'form_section_ee')
master_tbl_items = ['id']
@@ -185,15 +200,15 @@
print >> sys.stderr, "missing %s" % part
continue
- if page.startswith("rg_"):
- if page == 'rg_kompetenzfestellung':
- selector.addRepeatGroup('kompetenzfestellung')
- elif page == 'rg_unterstuetzungsangebote':
- for rg in RG_UNTERSTUETZUNG:
- selector.addRepeatGroup(rg)
- else:
- print >> sys.stderr, "ignoring repeat group %s" % page
- continue
+# if page.startswith("rg_"):
+# if page == 'rg_kompetenzfestellung':
+# selector.addRepeatGroup('kompetenzfestellung')
+# elif page == 'rg_unterstuetzungsangebote':
+# for rg in RG_UNTERSTUETZUNG:
+# selector.addRepeatGroup(rg)
+# else:
+# print >> sys.stderr, "ignoring repeat group %s" % page
+# continue
nc = g.formedTree.findByName(page)
if nc is None:
Modified: wasko/trunk/waskaweb/lib/xmlexport.py
===================================================================
--- wasko/trunk/waskaweb/lib/xmlexport.py 2009-03-04 16:49:46 UTC (rev 329)
+++ wasko/trunk/waskaweb/lib/xmlexport.py 2009-03-05 06:25:49 UTC (rev 330)
@@ -40,16 +40,18 @@
import waskaweb.lib.helpers as h
-from exportselection import RG_UNTERSTUETZUNG, SelectorFactory, CasePartsSelection, RG_ALL
+#from exportselection import RG_UNTERSTUETZUNG, \
+# SelectorFactory, CasePartsSelection, RG_ALL
+from exportselection import SelectorFactory, CasePartsSelection
+
FETCH_ALL_IDS = \
"""SELECT id FROM master_tbl_view"""
LOAD_LOGBOOK = """
-SELECT l.uuid_id AS uuid_id, datum, b.login AS login, art, kurz_notiz, notiz, dauer
-FROM ka_logbuch_tbl_view l LEFT JOIN ka_benutzer_tbl_view b
-ON l.bearbeiter = b.id
-WHERE l.master_id = %(id)s
+SELECT uuid_id, datum, bearbeiter, art, kurz_notiz, notiz, dauer
+FROM ka_logbuch_tbl_view
+WHERE master_id = %(id)s
ORDER BY datum
"""
@@ -61,11 +63,11 @@
BLACK_LIST = set(['id', 'master_id', 'bearbeiter_id'])
-USER_LOGIN = re.compile(r"(?:[^_]*)_(?:[^_]*)_(.+)")
+#USER_LOGIN = re.compile(r"(?:[^_]*)_(?:[^_]*)_(.+)")
-def login(a):
- b = USER_LOGIN.findall(a)
- return b and b[0] or a
+#def login(a):
+# b = USER_LOGIN.findall(a)
+# return b and b[0] or a
def cdataWrap(value):
return u"<![CDATA[%s]]>" % value.replace(u"]]>", u"]]><!CDATA[]]]]><![CDATA[>]]><[!CDATA[")
@@ -109,7 +111,7 @@
out.write(u"<tagebuch-datum>%s</tagebuch-datum>" %
iso8601.tostring(mktime(self.datum.timetuple()) + 1e-6*self.datum.microsecond))
if not self.login is None:
- out.write(u"<tagebuch-bearbeiter>%s</tagebuch-bearbeiter>" % login(self.login))
+ out.write(u"<tagebuch-bearbeiter>%s</tagebuch-bearbeiter>" % self.login)
if not self.art is None:
out.write(u"<tagebuch-art>%d</tagebuch-art>" % self.art)
if not self.kurz_notiz is None:
@@ -157,7 +159,7 @@
def fetchData(self, cur):
self.fetchMasterTable(cur)
- self.fetchRepeatGroups(cur)
+ #self.fetchRepeatGroups(cur)
self.fetchLogbook(cur)
def fetchMasterTable(self, cur):
@@ -169,28 +171,25 @@
cur.execute(stmnt, { 'id': self.master_id })
row = cur.fetchone()
if not row: raise Exception("No dataset for id %d" % self.master_id)
- columns = row._index.items() # XXX: hackish!
- columns.sort(lambda a, b: cmp(a[1], b[1]))
- columns = [(a[0], row[a[1]]) for a in columns]
- self.columns = columns
+ self.columns = zip([d[0] for d in cur.description], row)
- def fetchRepeatGroups(self, cur):
- selector = self.selector
- id_dict = { 'id': self.master_id }
- for view in RG_ALL:
- stmnt = selector.getSelectStatementByView(view)
- if stmnt is None: continue
- cur.execute(stmnt, id_dict)
- rs = []
- while True:
- row = cur.fetchone()
- if not row: break
- cs = row._index.items() # XXX: hackish!
- cs.sort(lambda a, b: cmp(a[1], b[1]))
- cs = [(a[0], row[a[1]]) for a in cs]
- rs.append(cs)
- if rs:
- self.rgs.append((view, rs))
+# def fetchRepeatGroups(self, cur):
+# selector = self.selector
+# id_dict = { 'id': self.master_id }
+# for view in RG_ALL:
+# stmnt = selector.getSelectStatementByView(view)
+# if stmnt is None: continue
+# cur.execute(stmnt, id_dict)
+# rs = []
+# while True:
+# row = cur.fetchone()
+# if not row: break
+# cs = row._index.items() # XXX: hackish!
+# cs.sort(lambda a, b: cmp(a[1], b[1]))
+# cs = [(a[0], row[a[1]]) for a in cs]
+# rs.append(cs)
+# if rs:
+# self.rgs.append((view, rs))
def fetchLogbook(self, cur):
if not self.selector.exportLogbook:
@@ -209,12 +208,12 @@
if fields:
out.write("<master>%s</master>" % "".join(fields))
- def dumpRepeatGroups(self, out):
- for view, rgs in self.rgs:
- for r in rgs:
- fields = self.dumpColums(r)
- if fields:
- out.write("<%s>%s</%s>" % (view, "".join(fields), view))
+# def dumpRepeatGroups(self, out):
+# for view, rgs in self.rgs:
+# for r in rgs:
+# fields = self.dumpColums(r)
+# if fields:
+# out.write("<%s>%s</%s>" % (view, "".join(fields), view))
def dumpLogbook(self, out):
if self.logbook:
@@ -253,7 +252,7 @@
def dumpData(self, out, cur):
out.write("<case>")
self.dumpMasterTable(out)
- self.dumpRepeatGroups(out)
+ #self.dumpRepeatGroups(out)
self.dumpLogbook(out)
self.dumpDocuments(out, cur)
out.write("</case>")
More information about the Mpuls-commits
mailing list