[Mpuls-commits] r1029 - in wasko/branches/2.0: . waskaweb/model

scm-commit@wald.intevation.org scm-commit at wald.intevation.org
Fri Jan 29 18:49:09 CET 2010


Author: bh
Date: 2010-01-29 18:49:08 +0100 (Fri, 29 Jan 2010)
New Revision: 1029

Modified:
   wasko/branches/2.0/ChangeLog
   wasko/branches/2.0/waskaweb/model/logbook.py
Log:
* waskaweb/model/logbook.py: Fix formatting


Modified: wasko/branches/2.0/ChangeLog
===================================================================
--- wasko/branches/2.0/ChangeLog	2010-01-29 17:16:04 UTC (rev 1028)
+++ wasko/branches/2.0/ChangeLog	2010-01-29 17:49:08 UTC (rev 1029)
@@ -1,5 +1,9 @@
 2010-01-29  Bernhard Herzog  <bh at intevation.de>
 
+	* waskaweb/model/logbook.py: Fix formatting
+
+2010-01-29  Bernhard Herzog  <bh at intevation.de>
+
 	* waskaweb/model/user.py (UserGroupList.__init__)
 	(UserGroupFactory.load, UserListObject.__init__)
 	(UserObject._fetchData): Use ensure_unicode to convert to unicode

Modified: wasko/branches/2.0/waskaweb/model/logbook.py
===================================================================
--- wasko/branches/2.0/waskaweb/model/logbook.py	2010-01-29 17:16:04 UTC (rev 1028)
+++ wasko/branches/2.0/waskaweb/model/logbook.py	2010-01-29 17:49:08 UTC (rev 1029)
@@ -1,27 +1,27 @@
 # -*- coding: utf-8 -*-
 #
 # Copyright 2007, 2008, 2010 Intevation GmbH, Germany, <info at intevation.de>
-# 
-# This file is part of mpuls WASKA (CoMPUter-based case fiLeS - 
+#
+# This file is part of mpuls WASKA (CoMPUter-based case fiLeS -
 # Web-Anwendungs-Server fuer Kompetenzagenturen).
-# 
+#
 # mpuls WASKA is free software: you can redistribute it and/or modify it under
 # the terms of the GNU Affero General Public License as published by the
 # Free Software Foundation, either version 3 of the License, or (at your
 # option) any later version.
-# 
+#
 # mpuls WASKA is distributed in the hope that it will be useful, but WITHOUT
 # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
 # FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Affero General Public
 # License for more details.
-# 
+#
 # You should have received a copy of the GNU Affero General Public
 # License along with mpuls WASKA. If not, see <http://www.gnu.org/licenses/>.
-# 
-# mpuls WASKA has been developed on behalf of the 
+#
+# mpuls WASKA has been developed on behalf of the
 # Projekttraeger im Deutschen Zentrum fuer Luft- und Raumfahrt e.V. (PT-DLR)
 # within the programme Kompetenzagenturen (Durchfuehrungsphase) funded by
-# the Bundesministerium fuer Familie, Senioren, Frauen und Jugend and 
+# the Bundesministerium fuer Familie, Senioren, Frauen und Jugend and
 # European Social Fund resources.
 #
 # Authors:
@@ -32,35 +32,38 @@
 from datetime import timedelta, datetime
 
 from waskaweb.lib.db import db
-
 import waskaweb.lib.helpers as h
 from waskaweb.lib.sql_helper import range_compress
 from waskaweb.model.case import CaseBundle
 
+
 log = logging.getLogger(__name__)
 
 
 KIND2TEXT = {
-      "1": u'Gespräch mit dem/der Jugendlichen',
-      "2": u'Kompetenzfeststellung',
-      "3": u'Korrespondenz mit dem/der Jugendlichen (Telefonate/Schriftverkehr)',
-      "4": u'Begleitung des/der Jugendlichen zu externen Stellen',
-      "5": u'Sonstige Betreuung des Jugendlichen',
-      "6": u'Gespräch mit Eltern/Personensorgeberechtigten',
-      "7": u'Korrespondenz mit Eltern/Personensorgeberechtigten (Telefonat/Schriftverkehr)',
-      "8": u'Sonstige Maßnahmen der Elternarbeit',
-      "9": u'Gespräch mit schulischen Mitarbeiter/-innen',
-      "10": u'Korrespondenz mit Schule (Telefonat/Schriftverkehr)',
-      "18": u'Gespräch mit Mitarbeiter/-innen der Jugendhilfe',
-      "11": u'Korrespondenz mit Jugendhilfe (Telefonat/Schriftverkehr)',
-      "12": u'Gespräch mit beteiligten Dritten/Kooperationspartnern',
-      "13": u'Korrespondenz mit beteiligten Dritten/Kooperationspartnern (Telefonat/Schriftverkehr)',
-      "14": u'Förder bzw. Fallkonferenz',
-      "15": u'Fahrtwege',
-      "16": u'Dokumentation WASKO',
-      "17": u'Teambesprechung',
-      "-2": u'sonstige Angaben',
-      "-1": u'Keine Angabe'}
+    "1": u'Gespräch mit dem/der Jugendlichen',
+    "2": u'Kompetenzfeststellung',
+    "3": u'Korrespondenz mit dem/der Jugendlichen (Telefonate/Schriftverkehr)',
+    "4": u'Begleitung des/der Jugendlichen zu externen Stellen',
+    "5": u'Sonstige Betreuung des Jugendlichen',
+    "6": u'Gespräch mit Eltern/Personensorgeberechtigten',
+    "7": (u'Korrespondenz mit Eltern/Personensorgeberechtigten'
+          u' (Telefonat/Schriftverkehr)'),
+    "8": u'Sonstige Maßnahmen der Elternarbeit',
+    "9": u'Gespräch mit schulischen Mitarbeiter/-innen',
+    "10": u'Korrespondenz mit Schule (Telefonat/Schriftverkehr)',
+    "18": u'Gespräch mit Mitarbeiter/-innen der Jugendhilfe',
+    "11": u'Korrespondenz mit Jugendhilfe (Telefonat/Schriftverkehr)',
+    "12": u'Gespräch mit beteiligten Dritten/Kooperationspartnern',
+    "13": (u'Korrespondenz mit beteiligten Dritten/Kooperationspartnern'
+           u' (Telefonat/Schriftverkehr)'),
+    "14": u'Förder bzw. Fallkonferenz',
+    "15": u'Fahrtwege',
+    "16": u'Dokumentation WASKO',
+    "17": u'Teambesprechung',
+    "-2": u'sonstige Angaben',
+    "-1": u'Keine Angabe',
+    }
 
 SUMKIND2TEXT = {
     'sum_cat1': u'unmittelbare Arbeit mit dem Jugendlichen',
@@ -68,7 +71,8 @@
     'sum_cat3': u'Arbeit mit Dritten',
     'sum_cat4': u'Sonstiges',
     'sum_cat5': u'Keine Angabe',
-    'sum_all': u'Gesamt' }
+    'sum_all': u'Gesamt',
+    }
 
 AVGKIND2TEXT = {
     'avg_cat1': u'unmittelbare Arbeit mit dem Jugendlichen',
@@ -76,13 +80,14 @@
     'avg_cat3': u'Arbeit mit Dritten',
     'avg_cat4': u'Sonstiges',
     'avg_cat4': u'Keine Angabe',
-     'avg_all': u'Gesamt' }
+    'avg_all': u'Gesamt'
+    ,}
 
 ALLOWED_SORTING = ['name', 'art', 'dauer', 'datum', 'asc', 'desc']
 LOAD_LOGBOOK = """
 SELECT l.id AS id, datum, bearbeiter, art, kurz_notiz, notiz, dauer
 FROM ka_logbuch_tbl_view l WHERE l.master_id = %s
-ORDER BY %s %s 
+ORDER BY %s %s
 """
 
 LOAD_LOGBOOK_BY_ID = """
@@ -99,8 +104,8 @@
 """
 
 UPDATE_LOGBOOK_ENTRY = """
-UPDATE ka_logbuch_tbl_view SET 
-    datum      = %(date)s, 
+UPDATE ka_logbuch_tbl_view SET
+    datum      = %(date)s,
     art        = %(kind)s,
     kurz_notiz = %(short_notice)s,
     notiz      = %(notice)s,
@@ -132,29 +137,29 @@
 class LogbookEntry:
 
     def __init__(self):
-        self.id                  = None
-        self.datum               = None
-        self.art                 = None
-        self.bearbeiter_name     = None
-        self.kurz_notiz          = None
-        self.notiz               = None
-        self.dauer               = None
+        self.id = None
+        self.datum = None
+        self.art = None
+        self.bearbeiter_name = None
+        self.kurz_notiz = None
+        self.notiz = None
+        self.dauer = None
 
     def setByRow(self, row):
-        self.id                  = row[0]
-        self.datum               = row[1]
-        self.bearbeiter_name     = row[2] and unicode(str(row[2]), 'UTF-8') or None
-        self.art                 = row[3]
-        self.kurz_notiz          = row[4] and unicode(str(row[4]), 'UTF-8') or None
-        self.notiz               = row[5] and unicode(str(row[5]), 'UTF-8') or None
-        self.dauer               = row[6]
+        self.id = row[0]
+        self.datum = row[1]
+        self.bearbeiter_name = row[2] and unicode(str(row[2]), 'UTF-8') or None
+        self.art = row[3]
+        self.kurz_notiz = row[4] and unicode(str(row[4]), 'UTF-8') or None
+        self.notiz = row[5] and unicode(str(row[5]), 'UTF-8') or None
+        self.dauer = row[6]
 
     def loadById(self, id):
         self.id = id
         conn, cur = None, None
         try:
             conn = db.getConnection()
-            cur  = conn.cursor()
+            cur = conn.cursor()
             cur.execute(LOAD_LOGBOOK_BY_ID, {'mid': id})
             row = cur.fetchone()
             if not row:
@@ -207,11 +212,13 @@
         self.notiz = notice
 
     def getNotice(self, empty=''):
-        if self.notiz: return self.notiz
+        if self.notiz:
+            return self.notiz
         return empty
 
     def getDuration(self, empty=''):
-        if self.dauer is None: return empty
+        if self.dauer is None:
+            return empty
         return "%d" % h.timedelta_in_minutes(self.dauer)
 
     def setDuration(self, duration):
@@ -225,36 +232,36 @@
                 raise StandardError("Cannot create log book entry")
             self.id = row[0]
 
-        cur.execute(UPDATE_LOGBOOK_ENTRY, {
-            "date"        : self.datum,
-            "kind"        : self.art,
-            "short_notice": self.kurz_notiz,
-            "notice"      : self.notiz,
-            "duration"    : self.dauer,
-            "id"          : self.id})
+        cur.execute(UPDATE_LOGBOOK_ENTRY,
+                    {"date": self.datum,
+                     "kind": self.art,
+                     "short_notice": self.kurz_notiz,
+                     "notice": self.notiz,
+                     "duration": self.dauer,
+                     "id": self.id})
 
     def storeForUser(self, uid):
         conn, cur = None, None
         try:
             conn = db.getConnection()
-            cur  = conn.cursor()
-            cur.execute(UPDATE_LOGBOOK_ENTRY, {
-                "date"        : self.datum,
-                "kind"        : self.art,
-                "short_notice": self.kurz_notiz,
-                "notice"      : self.notiz,
-                "duration"    : self.dauer,
-                "id"          : self.id})
+            cur = conn.cursor()
+            cur.execute(UPDATE_LOGBOOK_ENTRY,
+                        {"date": self.datum,
+                         "kind": self.art,
+                         "short_notice": self.kurz_notiz,
+                         "notice": self.notiz,
+                         "duration": self.dauer,
+                         "id": self.id})
             conn.commit()
         finally:
             db.recycleConnection(conn, cur)
-        
 
+
 class Logbook:
 
-    def __init__(self, mid = None, sort_field = 'datum', sort_order='desc'):
-        self.entries    = []
-        self.mid        = mid
+    def __init__(self, mid=None, sort_field='datum', sort_order='desc'):
+        self.entries = []
+        self.mid = mid
         self.sort_field = sort_field
         self.sort_order = sort_order
 
@@ -262,24 +269,27 @@
         conn, cur = None, None
         try:
             conn = db.getConnection()
-            cur  = conn.cursor()
+            cur = conn.cursor()
             cur.execute(DELETE_LOGBOOK_ENTRY, {'mid': mid})
             conn.commit()
         finally:
             db.recycleConnection(conn, cur)
 
-    def loadById(self, mid, sort_field = 'datum', sort_order = 'desc'):
+    def loadById(self, mid, sort_field='datum', sort_order='desc'):
         self.mid = mid
         self.sort_field = sort_field
         self.sort_order = sort_order
         conn, cur = None, None
         try:
             conn = db.getConnection()
-            cur  = conn.cursor()
+            cur = conn.cursor()
             try:
-                # Removed prepared statement as quoting does not work for sorting e.g
-                # cur.execute(LOAD_LOGBOOK, {'mid': mid, 'field': sort_field, 'order': sort_order})
-                if sort_field not in ALLOWED_SORTING or sort_order not in ALLOWED_SORTING:
+                # Removed prepared statement as quoting does not work
+                # for sorting e.g
+                # cur.execute(LOAD_LOGBOOK, {'mid': mid, 'field': sort_field,
+                #                            'order': sort_order})
+                if (sort_field not in ALLOWED_SORTING
+                    or sort_order not in ALLOWED_SORTING):
                     sort_field = 'datum'
                     sort_order = 'desc'
                 cur.execute(LOAD_LOGBOOK % (mid, sort_field, sort_order))
@@ -287,7 +297,8 @@
                 print cur.query
             while True:
                 row = cur.fetchone()
-                if not row: break
+                if not row:
+                    break
                 entry = LogbookEntry()
                 entry.setByRow(row)
                 self.entries.append(entry)
@@ -305,11 +316,12 @@
         self.entries.append(entry)
 
     def store(self, uid):
-        if self.mid is None: return
+        if self.mid is None:
+            return
         conn, cur = None, None
         try:
             conn = db.getConnection()
-            cur  = conn.cursor()
+            cur = conn.cursor()
             for entry in self.entries:
                 entry.store(cur, self.mid, uid)
             conn.commit()
@@ -323,14 +335,17 @@
         eval = Evaluation_18(range_compress(cb.listDatasetIds()))
         return eval.perform()
 
+
 class LogbookEntryChecker:
+
     def __init__(self, params, check_case_id=True):
         errors = []
         datum = params.getone('date')
         if datum:
             ndatum = checkDate(datum)
             if not ndatum:
-                errors.append("Datum '%s' ist nicht korrekt. (dd.MM.JJJJ)." % datum)
+                errors.append("Datum '%s' ist nicht korrekt. (dd.MM.JJJJ)."
+                              % datum)
             datum = ndatum
         else:
             datum = None
@@ -362,7 +377,8 @@
             try:
                 art = int(art)
                 if art < -2 or art > 10:
-                    errors.append("Die Art liegt ausserhalb des erlaubten Bereiches.")
+                    errors.append("Die Art liegt ausserhalb des erlaubten"
+                                  " Bereiches.")
             except ValueError:
                 errors.append("Die Art des Eintrages ist keine Ganzzahl.")
                 art = None
@@ -372,30 +388,39 @@
         if dauer:
             try:
                 dauer = int(dauer)
-                if dauer < 0: raise ValueError()
+                if dauer < 0:
+                    raise ValueError()
                 dauer = timedelta(minutes=dauer)
             except ValueError:
-                errors.append("Die Dauer '%s' ist keine positive Ganzzahl." % odauer)
+                errors.append("Die Dauer '%s' ist keine positive Ganzzahl."
+                              % odauer)
                 dauer = None
         else:
             dauer = None
 
         notiz = params.getone('notice')
-        if not notiz: notiz = None
+        if not notiz:
+            notiz = None
 
         kurz_notiz = params.getone('short_notice')
-        if not kurz_notiz: kurz_notiz = None
+        if not kurz_notiz:
+            kurz_notiz = None
 
         self.errors = errors
 
         entry = LogbookEntry()
         self.entry = entry
 
-        if not art        is None: entry.setKind(art)
-        if not datum      is None: entry.setDate(datum)
-        if not dauer      is None: entry.setDuration(dauer)
-        if not kurz_notiz is None: entry.setShortNotice(kurz_notiz)
-        if not notiz      is None: entry.setNotice(notiz)
+        if not art is None:
+            entry.setKind(art)
+        if not datum is None:
+            entry.setDate(datum)
+        if not dauer is None:
+            entry.setDuration(dauer)
+        if not kurz_notiz is None:
+            entry.setShortNotice(kurz_notiz)
+        if not notiz is None:
+            entry.setNotice(notiz)
 
     def hasErrors(self):
         return len(self.errors) > 0



More information about the Mpuls-commits mailing list