def _swapcase(ordch): if unicodedb.islower(ordch): return unichr(unicodedb.toupper(ordch)) elif unicodedb.isupper(ordch): return unichr(unicodedb.tolower(ordch)) else: return unichr(ordch)
def unicode_isupper__Unicode(space, w_unicode): cased = False for uchar in w_unicode._value: if (unicodedb.islower(ord(uchar)) or unicodedb.istitle(ord(uchar))): return space.w_False if not cased and unicodedb.isupper(ord(uchar)): cased = True return space.newbool(cased)
def unicode_islower__Unicode(space, w_unicode): cased = False for uchar in w_unicode._value: if (unicodedb.isupper(ord(uchar)) or unicodedb.istitle(ord(uchar))): return space.w_False if not cased and unicodedb.islower(ord(uchar)): cased = True return space.newbool(cased)
def unicode_swapcase__Unicode(space, w_self): input = w_self._value result = [u'\0'] * len(input) for i in range(len(input)): unichar = ord(input[i]) if unicodedb.islower(unichar): result[i] = unichr(unicodedb.toupper(unichar)) elif unicodedb.isupper(unichar): result[i] = unichr(unicodedb.tolower(unichar)) else: result[i] = input[i] return W_UnicodeObject(u''.join(result))
def unicode_isupper__RopeUnicode(space, w_unicode): cased = False iter = rope.ItemIterator(w_unicode._node) while 1: try: ch = iter.nextint() except StopIteration: return space.newbool(cased) if unicodedb.islower(ch) or unicodedb.istitle(ch): return space.w_False if not cased and unicodedb.isupper(ch): cased = True
def unicode_isupper__RopeUnicode(space, w_unicode): cased = False iter = rope.ItemIterator(w_unicode._node) while 1: try: ch = iter.nextint() except StopIteration: return space.newbool(cased) if (unicodedb.islower(ch) or unicodedb.istitle(ch)): return space.w_False if not cased and unicodedb.isupper(ch): cased = True
def unicode_istitle__Unicode(space, w_unicode): cased = False previous_is_cased = False for uchar in w_unicode._value: if (unicodedb.isupper(ord(uchar)) or unicodedb.istitle(ord(uchar))): if previous_is_cased: return space.w_False previous_is_cased = cased = True elif unicodedb.islower(ord(uchar)): if not previous_is_cased: return space.w_False previous_is_cased = cased = True else: previous_is_cased = False return space.newbool(cased)
def unicode_istitle__RopeUnicode(space, w_unicode): cased = False previous_is_cased = False iter = rope.ItemIterator(w_unicode._node) while 1: try: ch = iter.nextint() except StopIteration: return space.newbool(cased) if unicodedb.isupper(ch) or unicodedb.istitle(ch): if previous_is_cased: return space.w_False previous_is_cased = cased = True elif unicodedb.islower(ch): if not previous_is_cased: return space.w_False previous_is_cased = cased = True else: previous_is_cased = False
def unicode_istitle__RopeUnicode(space, w_unicode): cased = False previous_is_cased = False iter = rope.ItemIterator(w_unicode._node) while 1: try: ch = iter.nextint() except StopIteration: return space.newbool(cased) if (unicodedb.isupper(ch) or unicodedb.istitle(ch)): if previous_is_cased: return space.w_False previous_is_cased = cased = True elif unicodedb.islower(ch): if not previous_is_cased: return space.w_False previous_is_cased = cased = True else: previous_is_cased = False