Method: pylint.checkers.stdlib._check_mode_str
Calls: 53, Exceptions: 0, Paths: 7Back
Path 1: 42 calls (0.79)
'w' (13) 'wb' (8) 'w+b' (3) 'wt' (3) 'w+' (3) 'r' (2) 'rb' (1) 'x' (1) 'br' (1) '+r' (1)
True (42)
1def _check_mode_str(mode: Any) -> bool:
2 # check type
3 if not isinstance(mode, str):
4 return False
5 # check syntax
6 modes = set(mode)
7 _mode = "rwatb+Ux"
8 creating = "x" in modes
9 if modes - set(_mode) or len(mode) > len(modes):
10 return False
11 # check logic
12 reading = "r" in modes
13 writing = "w" in modes
14 appending = "a" in modes
15 text = "t" in modes
16 binary = "b" in modes
17 if "U" in modes:
18 if writing or appending or creating:
19 return False
20 reading = True
21 if text and binary:
22 return False
23 total = reading + writing + appending + creating
24 if total > 1:
25 return False
26 if not (reading or writing or appending or creating):
27 return False
28 return True
Path 2: 3 calls (0.06)
'+rUb' (1) 'Ut' (1) 'Ubr' (1)
True (3)
1def _check_mode_str(mode: Any) -> bool:
2 # check type
3 if not isinstance(mode, str):
4 return False
5 # check syntax
6 modes = set(mode)
7 _mode = "rwatb+Ux"
8 creating = "x" in modes
9 if modes - set(_mode) or len(mode) > len(modes):
10 return False
11 # check logic
12 reading = "r" in modes
13 writing = "w" in modes
14 appending = "a" in modes
15 text = "t" in modes
16 binary = "b" in modes
17 if "U" in modes:
18 if writing or appending or creating:
19 return False
20 reading = True
21 if text and binary:
22 return False
23 total = reading + writing + appending + creating
24 if total > 1:
25 return False
26 if not (reading or writing or appending or creating):
27 return False
28 return True
Path 3: 2 calls (0.04)
'rwx' (1) 'xw' (1)
False (2)
1def _check_mode_str(mode: Any) -> bool:
2 # check type
3 if not isinstance(mode, str):
4 return False
5 # check syntax
6 modes = set(mode)
7 _mode = "rwatb+Ux"
8 creating = "x" in modes
9 if modes - set(_mode) or len(mode) > len(modes):
10 return False
11 # check logic
12 reading = "r" in modes
13 writing = "w" in modes
14 appending = "a" in modes
15 text = "t" in modes
16 binary = "b" in modes
17 if "U" in modes:
18 if writing or appending or creating:
19 return False
20 reading = True
21 if text and binary:
22 return False
23 total = reading + writing + appending + creating
24 if total > 1:
25 return False
26 if not (reading or writing or appending or creating):
27 return False
28 return True
Path 4: 2 calls (0.04)
'rr' (1) 'Ur++' (1)
False (2)
1def _check_mode_str(mode: Any) -> bool:
2 # check type
3 if not isinstance(mode, str):
4 return False
5 # check syntax
6 modes = set(mode)
7 _mode = "rwatb+Ux"
8 creating = "x" in modes
9 if modes - set(_mode) or len(mode) > len(modes):
10 return False
11 # check logic
12 reading = "r" in modes
13 writing = "w" in modes
14 appending = "a" in modes
15 text = "t" in modes
16 binary = "b" in modes
17 if "U" in modes:
18 if writing or appending or creating:
19 return False
20 reading = True
21 if text and binary:
22 return False
23 total = reading + writing + appending + creating
24 if total > 1:
25 return False
26 if not (reading or writing or appending or creating):
27 return False
28 return True
Path 5: 2 calls (0.04)
None (1) 2 (1)
False (2)
1def _check_mode_str(mode: Any) -> bool:
2 # check type
3 if not isinstance(mode, str):
4 return False
5 # check syntax
6 modes = set(mode)
7 _mode = "rwatb+Ux"
8 creating = "x" in modes
9 if modes - set(_mode) or len(mode) > len(modes):
10 return False
11 # check logic
12 reading = "r" in modes
13 writing = "w" in modes
14 appending = "a" in modes
15 text = "t" in modes
16 binary = "b" in modes
17 if "U" in modes:
18 if writing or appending or creating:
19 return False
20 reading = True
21 if text and binary:
22 return False
23 total = reading + writing + appending + creating
24 if total > 1:
25 return False
26 if not (reading or writing or appending or creating):
27 return False
28 return True
Path 6: 1 calls (0.02)
'+' (1)
False (1)
1def _check_mode_str(mode: Any) -> bool:
2 # check type
3 if not isinstance(mode, str):
4 return False
5 # check syntax
6 modes = set(mode)
7 _mode = "rwatb+Ux"
8 creating = "x" in modes
9 if modes - set(_mode) or len(mode) > len(modes):
10 return False
11 # check logic
12 reading = "r" in modes
13 writing = "w" in modes
14 appending = "a" in modes
15 text = "t" in modes
16 binary = "b" in modes
17 if "U" in modes:
18 if writing or appending or creating:
19 return False
20 reading = True
21 if text and binary:
22 return False
23 total = reading + writing + appending + creating
24 if total > 1:
25 return False
26 if not (reading or writing or appending or creating):
27 return False
28 return True
Path 7: 1 calls (0.02)
'Ua' (1)
False (1)
1def _check_mode_str(mode: Any) -> bool:
2 # check type
3 if not isinstance(mode, str):
4 return False
5 # check syntax
6 modes = set(mode)
7 _mode = "rwatb+Ux"
8 creating = "x" in modes
9 if modes - set(_mode) or len(mode) > len(modes):
10 return False
11 # check logic
12 reading = "r" in modes
13 writing = "w" in modes
14 appending = "a" in modes
15 text = "t" in modes
16 binary = "b" in modes
17 if "U" in modes:
18 if writing or appending or creating:
19 return False
20 reading = True
21 if text and binary:
22 return False
23 total = reading + writing + appending + creating
24 if total > 1:
25 return False
26 if not (reading or writing or appending or creating):
27 return False
28 return True