| Trees | Indices | Help |
|---|
|
|
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, 2011 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://vf.michaelbellair.de/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 'universal.py' -- 54 # 55 # 56 # ---------------------------------------------------------------------------------------- 57 # 58 59 60 # 61 # 62 # 63 # ---------------------------------------------------------------------------------------- 64 # ---------------------------------------------------------------------------------------- 65 # -- ---------------------------------------------------------- 66 # -- Allgemeine Funktionen ---------------------------------------------------------- 67 # -- ---------------------------------------------------------- 68 # ---------------------------------------------------------------------------------------- 69 # ---------------------------------------------------------------------------------------- 70 #72 """ 73 Klasse, für allgemeine Funktionen. 74 """ 75 76 77 # 78 # ------------------------------------------------------------------------------------ 79 # -- Listen durchsuchen -------------------------------------------------- 80 # ------------------------------------------------------------------------------------ 81 #120 121 122 123 124 125 # 126 # ---------------------------------------------------------------------------------------- 127 # -- Objekt anlegen zur direkten Verwendung ------------------------------------------ 128 # ---------------------------------------------------------------------------------------- 129 # 130 allg = Allg() 131 132 133 134 # 135 # 136 # 137 # ---------------------------------------------------------------------------------------- 138 # ---------------------------------------------------------------------------------------- 139 # -- -------------------------------------------------- 140 # -- Klasse für Zeichenketten -------------------------------------------------- 141 # -- -------------------------------------------------- 142 # ---------------------------------------------------------------------------------------- 143 # ---------------------------------------------------------------------------------------- 144 #83 """ 84 Die Liste C{liste} enthält in der Spalte C{pos} den Wert C{wert}. 85 86 @param liste: Es ist die zu untersuchende Liste anzugeben 87 @type liste: Python - list 88 89 @param pos: Es ist die Position in der Liste anzugeben 90 @type pos: Ganzzahl 91 92 @param wert: Es ist der Wert anzugeben 93 @type wert: beliebig 94 95 @return: Wenn der Wert enthalten ist, wird C{True} zurückgegebenm sonst C{False} 96 @rtype: Zeichenkette 97 """ 98 99 # 100 # -- Liste ist leer ---------------------------------------------------------- 101 # 102 if( liste is None ) : return False 103 if( len( liste ) == 0 ) : return False 104 105 106 107 # 108 # -- Liste durchlaufen -------------------------------------------------- 109 # 110 for i in liste : 111 112 if( i[pos] == wert ) : return True 113 114 115 116 # 117 # -- Wert nicht gefunden -------------------------------------------------- 118 # 119 return False146 """ 147 Klasse, die Funktionen zur Zeichenkettenbehandlung bereitstellt. 148 """ 149 150 # 151 # ------------------------------------------------------------------------------------ 152 # -- Initialisierungen -------------------------------------------------- 153 # ------------------------------------------------------------------------------------ 154 #346 347 348 349 350 # 351 # ---------------------------------------------------------------------------------------- 352 # -- Zeichenkettenobjekt anlegen zur direkten Verwendung -------------------------- 353 # ---------------------------------------------------------------------------------------- 354 # 355 zk = Zk() 356156 157 self.LeerZk = '-- bleibt leer --' 158 """ 159 Leerzeichenketten erhalten den Standardtext C{-- bleibt leer --}. 160 161 @cvar: Leerzeichenkette 162 @type: Zeichenkette 163 """164 165 166 167 168 # 169 # ------------------------------------------------------------------------------------ 170 # -- Datum als yyyy-mm-dd zurückgeben ---------------------------------- 171 # ------------------------------------------------------------------------------------ 172 #174 """ 175 Die im Format 'tt.mm.jjjj' vorliegende Datum-Zeichenkette wird im Format 'yyyy-mm-dd' zurückgegeben. 176 177 @param zkDatum: Es ist die Datum-Zeichenkette zu übergeben, die umgewnadelt werden soll. 178 @type zkDatum: Zeichenkette 179 180 @return: Siehe Beschreibung. 181 @rtype: Zeichenkette 182 """ 183 184 # 185 # -- Zeichenkette zurückgeben ------------------------------------------ 186 # 187 return zkDatum[6:10] + '-' + zkDatum[3:5] + '-' + zkDatum[0:2]188 189 190 191 # 192 # ------------------------------------------------------------------------------------ 193 # -- Werteteilmenge aus verketteter Lister zurückgeben ------------------ 194 # ------------------------------------------------------------------------------------ 195 #197 """ 198 Es werden die Werte einer 'Spalte' aus der verketteten Liste C{liste} zurückgegeben 199 200 @param liste: Es ist die verkettete Liste zu übergeben. 201 @type liste: Python - Liste 202 203 @param spalte: Es ist die Spalte anzugeben. 204 @type spalte: Python - Liste 205 206 @return: Siehe Beschreibung. 207 @rtype: Python - Liste 208 """ 209 210 # 211 # -- Werte der Spalte [spalte] zurückgeben ---------------------------------- 212 # 213 erg = [] 214 for i in range( len( liste ) ) : 215 216 erg.append( liste[i][spalte] ) 217 218 219 # 220 # -- Werte der Spalte zurückgeben ------------------------------------------ 221 # 222 return erg223 224 225 226 227 # 228 # ------------------------------------------------------------------------------------ 229 # -- Leerzeichenketten besonders kennzeichnen -------------------------- 230 # ------------------------------------------------------------------------------------ 231 #233 """ 234 Identifikationsnummer, Wert und Notizen formatiert ausgeben. 235 236 @param id: Es ist die Identifikationsnummer zu übergeben, die dargestellt werden soll. Sie wird mit führenden Nullen dargestellt. 237 @type id: Ganzzahl 238 239 @param zusInfo: Es ist eine Zusatzinformation zu übergeben, die der C{id} unmittelbar folgt. 240 @type zusInfo: Zeichenkette 241 242 @param wert: Es ist der Wert zu übergeben, der dargestellt werden soll. 243 @type wert: Zeichenkette 244 245 @param notizen: Es isnd die Notizen zu übergeben, die dargestellt werden sollen. 246 @type notizen: Zeichenkette 247 248 @return: Siehe Beschreibung. 249 @rtype: Zeichenkette 250 """ 251 252 # 253 # -- Zeichenkette zurückgeben ------------------------------------------ 254 # 255 zk = str( id ).zfill( 4 ) + zusInfo 256 if( wert is not None ) : zk = zk + '\t' + wert 257 if( notizen is not None ) : zk = zk + '\n[ ' + notizen + ' ]' 258 259 return zk260 261 262 263 264 # 265 # ------------------------------------------------------------------------------------ 266 # -- Leerzeichenketten besonders kennzeichnen -------------------------- 267 # ------------------------------------------------------------------------------------ 268 #270 """ 271 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. 272 UNICODE Zeichenketten werden in ASCII Zeichenketten gewandelt. 273 274 @param zk: Es ist die Zeichenkette zu übergeben, die untersucht werden soll. 275 @type zk: Zeichenkette 276 277 @param leerZkAlternativ: Es ist eine alternative Leerzeichenkette anzugeben 278 @type leerZkAlternativ: Zeichenkette 279 280 @return: Siehe Beschreibung. 281 @rtype: Zeichenkette 282 """ 283 284 # 285 # -- Leerzeichenkette zurückgeben ------------------------------------------ 286 # 287 if( self.istLeer( zk ) ) : 288 289 if( leerZkAlternativ is None ) : 290 291 return self.LeerZk 292 293 else : 294 295 return leerZkAlternativ 296 297 # 298 # -- UNICODE -> ASCII -------------------------------------------------- 299 # 300 else : 301 302 try : 303 304 return zk.encode( 'utf-8' ) 305 306 except UnicodeError: 307 308 return str( zk )309 310 311 312 # 313 # ------------------------------------------------------------------------------------ 314 # -- Die Zeichenkette ist leer ------------------------------------------ 315 # ------------------------------------------------------------------------------------ 316 #318 """ 319 Die Zeichenkette ist leer. Leere Zeichenketten liegen dann vor, wenn C{None} bzw. die Länge der Zeichenkette Null ist, nachdem alle C{whitespaces} entfernt wurden. 320 321 @param zk: Es ist die Zeichenkette zu übergeben, die geprüft werden soll. 322 @type zk: Zeichenkette 323 324 @return: Es wird C{True} zurückgegeben, wenn die Zeichenkette leer ist. 325 @rtype: Boolean 326 """ 327 328 # 329 # -- Es liegt 'None' vor -------------------------------------------------- 330 # 331 if( zk == None ) : return True 332 333 334 335 # 336 # -- Die Leerzeichenkette liegt vor ------------------------------------------ 337 # 338 if( zk == self.LeerZk ) : return True 339 340 341 342 # 343 # -- Die folgenden Zeichen werden als 'Leer' interpretiert: ------------------ 344 # 345 return ( len( zk.strip() ) == 0 )
| Trees | Indices | Help |
|---|
| Generated by Epydoc 3.0.1 on Wed May 18 07:37:27 2011 | http://epydoc.sourceforge.net |