File tree Expand file tree Collapse file tree 1 file changed +17
-3
lines changed
Expand file tree Collapse file tree 1 file changed +17
-3
lines changed Original file line number Diff line number Diff line change 11"""A Collection of Flag Schemes."""
22
3+ from abc import abstractmethod
34from enum import IntEnum
5+ from typing import Protocol
6+
7+
8+ class FlagDefProtocol (Protocol ):
9+ flag : int
10+
11+ @property
12+ @abstractmethod
13+ def _flag_definitions (self ) -> dict [int , str ]: ...
14+
15+ @property
16+ @abstractmethod
17+ def _no_data_flags (self ) -> tuple [int ]: ...
418
519
620class ExchangeFlag (IntEnum ):
7- def __init__ (self , flag ) -> None :
21+ def __init__ (self , flag : int ) -> None :
822 self .flag = flag
923
1024 @property
11- def definition (self ):
25+ def definition (self : FlagDefProtocol ):
1226 return self ._flag_definitions [self .flag ]
1327
1428 @property
1529 def cf_def (self ):
1630 return "_" .join (self .definition .lower ().replace ("." , "" ).split ())
1731
1832 @property
19- def has_value (self ):
33+ def has_value (self : FlagDefProtocol ):
2034 if self .flag in self ._no_data_flags :
2135 return False
2236 return True
You can’t perform that action at this time.
0 commit comments