Module universal
[hide private]
[frames] | no frames]

Source Code for Module universal

  1  # -*- coding: utf-8 -*- 
  2  # 
  3  # 
  4  #    filename:  universal.py 
  5  # 
  6  #    version:   see wxvf.py 
  7  # 
  8  # 
  9  # ---------------------------------------------------------------------------------------- 
 10  # 
 11  # 
 12  #    Copyright (C) 2010  Michael Bellair 
 13  # 
 14  #    This file is part of wxvf. 
 15  # 
 16  #    wxvf is free software: you can redistribute it and/or modify 
 17  #    it under the terms of the GNU General Public License as published by 
 18  #    the Free Software Foundation, either version 3 of the License, or 
 19  #    (at your option) any later version. 
 20  # 
 21  #    wxvf is distributed in the hope that it will be useful, 
 22  #    but WITHOUT ANY WARRANTY; without even the implied warranty of 
 23  #    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the 
 24  #    GNU General Public License for more details. 
 25  # 
 26  #    You should have received a copy of the GNU General Public License 
 27  #    along with wxvf.  If not, see <http://www.gnu.org/licenses/>. 
 28  # 
 29  #    Michael Bellair 
 30  #    Sportplatzstrasse 11 
 31  #    01259 Dresden 
 32  # 
 33  #    E-Mail:    bellair@freenet.de 
 34  #    homepage:  http://freenet-homepage.de/bellair/vf/index.html 
 35  # 
 36  # 
 37  # ---------------------------------------------------------------------------------------- 
 38  # 
 39   
 40   
 41  # 
 42  # 
 43  # 
 44  # ---------------------------------------------------------------------------------------- 
 45  # ---------------------------------------------------------------------------------------- 
 46  # --                                    -------------------------------------------------- 
 47  # --    Offene Punkte / Aufgaben        -------------------------------------------------- 
 48  # --                                    -------------------------------------------------- 
 49  # ---------------------------------------------------------------------------------------- 
 50  # ---------------------------------------------------------------------------------------- 
 51  # 
 52  #  
 53  #       -- siehe TODO 'bearbeitesicherheitsanf.py' -- 
 54  # 
 55  # 
 56  # ---------------------------------------------------------------------------------------- 
 57  # 
 58   
 59   
 60   
 61  # 
 62  # 
 63  # 
 64  # ---------------------------------------------------------------------------------------- 
 65  # ---------------------------------------------------------------------------------------- 
 66  # --                                    -------------------------------------------------- 
 67  # --    Klasse für Zeichenketten       -------------------------------------------------- 
 68  # --                                    -------------------------------------------------- 
 69  # ---------------------------------------------------------------------------------------- 
 70  # ---------------------------------------------------------------------------------------- 
 71  # 
72 -class Zk:
73 """ 74 Klasse, die Funktionen zur Zeichenkettenbehandlung bereitstellt. 75 """ 76 77 # 78 # ------------------------------------------------------------------------------------ 79 # -- Initialisierungen -------------------------------------------------- 80 # ------------------------------------------------------------------------------------ 81 #
82 - def __init__( self ):
83 84 self.LeerZk = '-- bleibt leer --' 85 """ 86 Leerzeichenketten erhalten den Standardtext C{-- bleibt leer --}. 87 88 @cvar: Leerzeichenkette 89 @type: Zeichenkette 90 """
91 92 93 94 # 95 # ------------------------------------------------------------------------------------ 96 # -- Datum als yyyy-mm-dd zurückgeben ---------------------------------- 97 # ------------------------------------------------------------------------------------ 98 #
99 - def gibDatum( self, zkDatum ):
100 """ 101 Die im Format 'tt.mm.jjjj' vorliegende Datum-Zeichenkette wird im Format 'yyyy-mm-dd' zurückgegeben. 102 103 @param zkDatum: Es ist die Datum-Zeichenkette zu übergeben, die umgewnadelt werden soll. 104 @type zkDatum: Zeichenkette 105 106 @return: Siehe Beschreibung. 107 @rtype: Zeichenkette 108 """ 109 110 # 111 # -- Zeichenkette zurückgeben ------------------------------------------ 112 # 113 return zkDatum[6:10] + '-' + zkDatum[3:5] + '-' + zkDatum[0:2]
114 115 116 117 118 # 119 # ------------------------------------------------------------------------------------ 120 # -- Leerzeichenketten besonders kennzeichnen -------------------------- 121 # ------------------------------------------------------------------------------------ 122 #
123 - def gibIdWertNotizen( self, id, zusInfo, wert = None, notizen = None ):
124 """ 125 Identifikationsnummer, Wert und Notizen formatiert ausgeben. 126 127 @param id: Es ist die Identifikationsnummer zu übergeben, die dargestellt werden soll. Sie wird mit führenden Nullen dargestellt. 128 @type id: Ganzzahl 129 130 @param zusInfo: Es ist eine Zusatzinformation zu übergeben, die der C{id} unmittelbar folgt. 131 @type zusInfo: Zeichenkette 132 133 @param wert: Es ist der Wert zu übergeben, der dargestellt werden soll. 134 @type wert: Zeichenkette 135 136 @param notizen: Es isnd die Notizen zu übergeben, die dargestellt werden sollen. 137 @type notizen: Zeichenkette 138 139 @return: Siehe Beschreibung. 140 @rtype: Zeichenkette 141 """ 142 143 # 144 # -- Zeichenkette zurückgeben ------------------------------------------ 145 # 146 zk = str( id ).zfill( 4 ) + zusInfo 147 if( wert is not None ) : zk = zk + '\t' + wert 148 if( notizen is not None ) : zk = zk + '\t|\t' + notizen 149 150 return zk
151 152 153 154 155 # 156 # ------------------------------------------------------------------------------------ 157 # -- Leerzeichenketten besonders kennzeichnen -------------------------- 158 # ------------------------------------------------------------------------------------ 159 #
160 - def gibZk( self, zk, leerZkAlternativ = None ):
161 """ 162 Wenn eine Leerzeichenkette (siehe C{istLeer(...)}) vorliegt, wird der Standardtext aus C{self.LeerZk} zurückgegeben. Liegt keine Leerzeichenkette vor, wird C{zk} zurückgegeben. 163 164 @param zk: Es ist die Zeichenkette zu übergeben, die untersucht werden soll. 165 @type zk: Zeichenkette 166 167 @param leerZkAlternativ: Es ist eine alternative Leerzeichenkette anzugeben 168 @type leerZkAlternativ: Zeichenkette 169 170 @return: Siehe Beschreibung. 171 @rtype: Zeichenkette 172 """ 173 174 # 175 # -- Zeichenkette zurückgeben ------------------------------------------ 176 # 177 if( self.istLeer( zk ) ) : 178 if( leerZkAlternativ is None ) : return self.LeerZk 179 else : return leerZkAlternativ 180 else : return zk
181 182 183 184 # 185 # ------------------------------------------------------------------------------------ 186 # -- Die Zeichenkette ist leer ------------------------------------------ 187 # ------------------------------------------------------------------------------------ 188 #
189 - def istLeer( self, zk ):
190 """ 191 Die Zeichenkette ist leer. Leere Zeichenketten liegen dann vor, wenn C{None} bzw. die Länge der Leichenkette Null ist, nachdem alle C{! ? . - whitespaces} entfernt wurden. 192 193 @param zk: Es ist die Zeichenkette zu übergeben, die geprüft werden soll. 194 @type zk: Zeichenkette 195 196 @return: Es wird C{True} zurückgegeben, wenn die Zeichenkette leer ist. 197 @rtype: Boolean 198 """ 199 200 # 201 # -- Es liegt 'None' vor -------------------------------------------------- 202 # 203 if( zk == None ) : return True 204 205 # 206 # -- Die folgenden Zeichen werden als 'Leer' interpretiert: ------------------ 207 # -- ! ? . - whitespaces ---------- 208 # 209 return ( len( zk.replace( '!', '' ).replace( '?', '' ).replace( '.', '' ).replace( '-', '' ).strip() ) == 0 )
210 211 212 213 214 # 215 # ---------------------------------------------------------------------------------------- 216 # -- Zeichenkettenobjekt anlegen zur direkten Verwendung -------------------------- 217 # ---------------------------------------------------------------------------------------- 218 # 219 zk = Zk() 220