1 2def bool_list(list obj): 3 """ 4 >>> bool_list( [] ) 5 False 6 >>> bool_list( [1] ) 7 True 8 >>> bool_list(None) 9 False 10 """ 11 return bool(obj) 12 13 14def if_list(list obj): 15 """ 16 >>> if_list( [] ) 17 False 18 >>> if_list( [1] ) 19 True 20 >>> if_list(None) 21 False 22 """ 23 if obj: 24 return True 25 else: 26 return False 27 28 29def if_list_nogil(list obj): 30 """ 31 >>> if_list_nogil( [] ) 32 False 33 >>> if_list_nogil( [1] ) 34 True 35 >>> if_list_nogil(None) 36 False 37 """ 38 cdef bint result 39 with nogil: 40 if obj: 41 result = True 42 else: 43 result = False 44 return result 45 46 47def if_list_literal(t): 48 """ 49 >>> if_list_literal(True) 50 True 51 >>> if_list_literal(False) 52 False 53 """ 54 if t: 55 if [1,2,3]: 56 return True 57 else: 58 return False 59 else: 60 if []: 61 return True 62 else: 63 return False 64 65 66def bool_tuple(tuple obj): 67 """ 68 >>> bool_tuple( () ) 69 False 70 >>> bool_tuple( (1,) ) 71 True 72 >>> bool_tuple(None) 73 False 74 """ 75 return bool(obj) 76 77 78def if_tuple(tuple obj): 79 """ 80 >>> if_tuple( () ) 81 False 82 >>> if_tuple( (1,) ) 83 True 84 >>> if_tuple(None) 85 False 86 """ 87 if obj: 88 return True 89 else: 90 return False 91 92 93def if_tuple_literal(t): 94 """ 95 >>> if_tuple_literal(True) 96 True 97 >>> if_tuple_literal(False) 98 False 99 """ 100 if t: 101 if (1,2,3): 102 return True 103 else: 104 return False 105 else: 106 if (): 107 return True 108 else: 109 return False 110 111 112def bool_set(set obj): 113 """ 114 >>> bool_set( set() ) 115 False 116 >>> bool_set( set([1]) ) 117 True 118 >>> bool_set(None) 119 False 120 """ 121 return bool(obj) 122 123 124def if_set(set obj): 125 """ 126 >>> if_set( set() ) 127 False 128 >>> if_set( set([1]) ) 129 True 130 >>> if_set(None) 131 False 132 """ 133 if obj: 134 return True 135 else: 136 return False 137 138 139def if_set_nogil(set obj): 140 """ 141 >>> if_set_nogil( set() ) 142 False 143 >>> if_set_nogil( set([1]) ) 144 True 145 >>> if_set_nogil(None) 146 False 147 """ 148 cdef bint result 149 with nogil: 150 if obj: 151 result = True 152 else: 153 result = False 154 return result 155 156 157def if_set_literal(t): 158 """ 159 >>> if_set_literal(True) 160 True 161 >>> if_set_literal(False) 162 False 163 """ 164 if t: 165 if {1,2,3}: 166 return True 167 else: 168 return False 169 else: 170 if set(): 171 return True 172 else: 173 return False 174 175 176def bool_frozenset(frozenset obj): 177 """ 178 >>> bool_frozenset( frozenset() ) 179 False 180 >>> bool_frozenset( frozenset([1]) ) 181 True 182 >>> bool_frozenset(None) 183 False 184 """ 185 return bool(obj) 186 187 188def if_frozenset(frozenset obj): 189 """ 190 >>> if_frozenset( frozenset() ) 191 False 192 >>> if_frozenset( frozenset([1]) ) 193 True 194 >>> if_frozenset(None) 195 False 196 """ 197 if obj: 198 return True 199 else: 200 return False 201 202 203b0 = b'' 204b1 = b'abc' 205 206def bool_bytes(bytes obj): 207 """ 208 >>> bool_bytes(b0) 209 False 210 >>> bool_bytes(b1) 211 True 212 >>> bool_bytes(None) 213 False 214 """ 215 return bool(obj) 216 217def if_bytes(bytes obj): 218 """ 219 >>> if_bytes(b0) 220 False 221 >>> if_bytes(b1) 222 True 223 >>> if_bytes(None) 224 False 225 """ 226 if obj: 227 return True 228 else: 229 return False 230 231def if_bytes_literal(t): 232 """ 233 >>> if_bytes_literal(True) 234 True 235 >>> if_bytes_literal(False) 236 False 237 """ 238 if t: 239 if b'abc': 240 return True 241 else: 242 return False 243 else: 244 if b'': 245 return True 246 else: 247 return False 248 249 250u0 = u'' 251u1 = u'abc' 252 253def bool_unicode(unicode obj): 254 """ 255 >>> bool_unicode(u0) 256 False 257 >>> bool_unicode(u1) 258 True 259 >>> bool_unicode(None) 260 False 261 """ 262 return bool(obj) 263 264def if_unicode(unicode obj): 265 """ 266 >>> if_unicode(u0) 267 False 268 >>> if_unicode(u1) 269 True 270 >>> if_unicode(None) 271 False 272 """ 273 if obj: 274 return True 275 else: 276 return False 277 278def if_unicode_literal(t): 279 """ 280 >>> if_unicode_literal(True) 281 True 282 >>> if_unicode_literal(False) 283 False 284 """ 285 if t: 286 if u'abc': 287 return True 288 else: 289 return False 290 else: 291 if u'': 292 return True 293 else: 294 return False 295