MCPcopy Create free account
hub / github.com/chronoxor/FastBinaryEncoding / FlagsSimple

Class FlagsSimple

projects/Python/proto/test.py:326–404  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

324
325
326class FlagsSimple(enum.IntFlag, metaclass=fbe.DefaultEnumMeta):
327 FLAG_VALUE_0 = int(0x0)
328 FLAG_VALUE_1 = int(0x1)
329 FLAG_VALUE_2 = int(0x2)
330 FLAG_VALUE_3 = int(0x4)
331 FLAG_VALUE_4 = FLAG_VALUE_3
332 FLAG_VALUE_5 = FLAG_VALUE_1 | FLAG_VALUE_3
333
334 __slots__ = ()
335
336 # Is flags set?
337 def has_flags(self, flags):
338 return ((self.value & flags.value) != 0) and ((self.value & flags.value) == flags.value)
339
340 # Set flags
341 def set_flags(self, flags):
342 self.value |= flags.value
343 return self
344
345 # Remove flags
346 def remove_flags(self, flags):
347 self.value &= ~flags.value
348 return self
349
350 def __format__(self, format_spec):
351 return self.__str__()
352
353 def __str__(self):
354 sb = list()
355 first = True
356 if (self.value & FlagsSimple.FLAG_VALUE_0.value) and ((self.value & FlagsSimple.FLAG_VALUE_0.value) == FlagsSimple.FLAG_VALUE_0.value):
357 if first:
358 # noinspection PyUnusedLocal
359 first = False
360 else:
361 sb.append("|")
362 sb.append("FLAG_VALUE_0")
363 if (self.value & FlagsSimple.FLAG_VALUE_1.value) and ((self.value & FlagsSimple.FLAG_VALUE_1.value) == FlagsSimple.FLAG_VALUE_1.value):
364 if first:
365 # noinspection PyUnusedLocal
366 first = False
367 else:
368 sb.append("|")
369 sb.append("FLAG_VALUE_1")
370 if (self.value & FlagsSimple.FLAG_VALUE_2.value) and ((self.value & FlagsSimple.FLAG_VALUE_2.value) == FlagsSimple.FLAG_VALUE_2.value):
371 if first:
372 # noinspection PyUnusedLocal
373 first = False
374 else:
375 sb.append("|")
376 sb.append("FLAG_VALUE_2")
377 if (self.value & FlagsSimple.FLAG_VALUE_3.value) and ((self.value & FlagsSimple.FLAG_VALUE_3.value) == FlagsSimple.FLAG_VALUE_3.value):
378 if first:
379 # noinspection PyUnusedLocal
380 first = False
381 else:
382 sb.append("|")
383 sb.append("FLAG_VALUE_3")

Callers 6

__from_json__Method · 0.70
getMethod · 0.70
getMethod · 0.70
__init__Method · 0.70
get_fieldsMethod · 0.70
__init__Method · 0.70

Calls

no outgoing calls

Tested by 6

__from_json__Method · 0.56
getMethod · 0.56
getMethod · 0.56
__init__Method · 0.56
get_fieldsMethod · 0.56
__init__Method · 0.56