home *** CD-ROM | disk | FTP | other *** search
/ Chip 2011 November / CHIP_2011_11.iso / Programy / Narzedzia / Inkscape / Inkscape-0.48.2-1-win32.exe / share / extensions / text_randomcase.py < prev    next >
Text File  |  2011-07-08  |  561b  |  28 lines

  1. import chardataeffect, inkex, string
  2.  
  3. import random
  4.  
  5. class C(chardataeffect.CharDataEffect):
  6.  
  7.   def process_chardata(self,text, line, par):
  8.     r = ""
  9.     a = 1
  10.     for i in range(len(text)):
  11.       c = text[i]
  12.       # bias the randomness towards inversion of the previous case:
  13.       if a > 0:
  14.         a = random.choice([-2,-1,1])
  15.       else:
  16.         a = random.choice([-1,1,2])
  17.       if a > 0 and c.isalpha():
  18.         r = r + c.upper()
  19.       elif a < 0 and c.isalpha():
  20.         r = r + c.lower()
  21.       else:
  22.         r = r + c
  23.  
  24.     return r
  25.  
  26. c = C()
  27. c.affect()
  28.