#!/usr/bin/env python
import chardataeffect, inkex, string
import random
class C(chardataeffect.CharDataEffect):
def process_chardata(self,text, line, par):
r = ""
a = 1
for i in range(len(text)):
c = text[i]
# bias the randomness towards inversion of the previous case:
if a > 0:
a = random.choice([-2,-1,1])
else:
a = random.choice([-1,1,2])
if a > 0 and c.isalpha():
r = r + c.upper()
elif a < 0 and c.isalpha():
r = r + c.lower()
else:
r = r + c
return r
c = C()
c.affect()