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_sentencecase.py < prev    next >
Text File  |  2011-07-08  |  897b  |  38 lines

  1. import chardataeffect, inkex, string
  2.  
  3. class C(chardataeffect.CharDataEffect):
  4.  
  5.   sentence_start = True
  6.   was_punctuation = False
  7.  
  8.   def process_chardata(self,text, line, par):
  9.     r = ""
  10.     #inkex.debug(text+str(line)+str(par))
  11.     for c in text:
  12.       if c == '.' or c == '!' or c == '?':
  13.         self.was_punctuation = True
  14.       elif ((c.isspace() or line == True) and self.was_punctuation) or par == True:
  15.         self.sentence_start = True
  16.         self.was_punctuation = False
  17.       elif c == '"' or c == ')':
  18.         pass
  19.       else:
  20.         self.was_punctuation = False
  21.  
  22.       if not c.isspace():
  23.         line = False
  24.         par = False
  25.  
  26.       if self.sentence_start and c.isalpha():
  27.         r = r + c.upper()
  28.         self.sentence_start = False
  29.       elif not self.sentence_start and c.isalpha():
  30.         r = r + c.lower()
  31.       else:
  32.         r = r + c
  33.  
  34.     return r
  35.  
  36. c = C()
  37. c.affect()
  38.