18 from .robottypes
import is_integer
19 from .unic
import safe_str
41 if code_style
and '_' in string:
42 string = string.replace(
'_',
' ')
43 parts = string.split()
44 if code_style
and len(parts) == 1 \
45 and not (string.isalpha()
and string.islower()):
47 return ' '.join(part[0].upper() + part[1:]
for part
in parts)
53 for prev, char, next
in zip(
' ' + string, string, string[1:] +
' '):
56 tokens.append(
''.join(token))
61 tokens.append(
''.join(token))
67 return not char.isdigit()
69 return next.islower()
or prev.isalpha()
and not prev.isupper()
74 count = item
if is_integer(item)
else len(item)
75 return '' if count
in (1, -1)
else 's'
79 def seq2str(sequence, quote="'", sep=', ', lastsep=' and '):
80 sequence = [f
'{quote}{safe_str(item)}{quote}' for item
in sequence]
83 if len(sequence) == 1:
85 last_two = lastsep.join(sequence[-2:])
86 return sep.join(sequence[:-2] + [last_two])
93 return '[ %s ]' %
' | '.join(
safe_str(item)
for item
in sequence)
109 upper = [c.isupper()
for c
in test]
110 return ''.join(c.upper()
if up
else c
for c, up
in zip(
'task', upper))
111 if text.upper() ==
'TEST':
113 return re.sub(
'{(test)}',
lambda m: replace(m.group(1)), text, flags=re.IGNORECASE)
118 if hasattr(stream,
'buffer')
and stream.buffer
is None:
120 if not hasattr(stream,
'isatty'):
123 return stream.isatty()
132 for flag
in flags.split(
'|'):
134 re_flag = getattr(re, flag.upper().strip())
135 except AttributeError:
136 raise ValueError(f
'Unknown regexp flag: {flag}')
138 if isinstance(re_flag, re.RegexFlag):
141 raise ValueError(f
'Unknown regexp flag: {flag}')
153 def __init__(self, fget, fset=None, fdel=None, doc=None):
163 return self.fget(owner)
166 raise TypeError(
'Setters are not supported.')
169 raise TypeError(
'Deleters are not supported.')
Property that works with classes in addition to instances.
def __init__(self, fget, fset=None, fdel=None, doc=None)
def __get__(self, instance, owner)
def seq2str(sequence, quote="'", sep=', ', lastsep=' and ')
Returns sequence in format ‘'item 1’, 'item 2' and 'item 3'`.
def printable_name(string, code_style=False)
Generates and returns printable name from the given string.
def test_or_task(str text, bool rpa)
Replace 'test' with 'task' in the given text depending on rpa.
def parse_re_flags(flags=None)
def _split_camel_case(string)
def seq2str2(sequence)
Returns sequence in format [ item 1 | item 2 | ...
def _is_camel_case_boundary(prev, char, next)