midgard.collections
midgard.collections.enums
Framework for working with enumerations
Description:
Custom enumerations used for structured names. You can add your own enumerations in your own application by importing
register_enum and using that to register your own enums.
Example:
Create your own enumeration:
from midgard.collections.enums import register_enum
@register_enum("reference_ellipsoid")
class ReferenceEllipsoid(enum.IntEnum):
wgs84 = 1
grs80 = 2
wgs72 = 3
Use enumerations in your code:
from midgard.collections import enums
enums.get_value("gnss_freq_G", "L1")
enums.get_value("gnss_freq_G", "L1") + 1
enums.get_enum("gnss_freq_G")
enums.get_enum("gnss_freq_G").L1
enums.get_enum("gnss_freq_G").L1 + 1
enums.gnss_freq_G.L1
enums.gnss_freq_G.L1 * 2
GPSFrequency
Full name: midgard.collections.enums.GPSFrequency
Signature: (value, names=None, *, module=None, qualname=None, type=None, start=1)
GPS frequencies
GPSFrequency.L1 (GPSFrequency)
L1 = <GPSFrequency.L1: 1575420000.0>
GPSFrequency.L2 (GPSFrequency)
L2 = <GPSFrequency.L2: 1227600000.0>
GPSFrequency.L5 (GPSFrequency)
L5 = <GPSFrequency.L5: 1176450000.0>
LogColor
Full name: midgard.collections.enums.LogColor
Signature: (value, names=None, *, module=None, qualname=None, type=None, start=1)
Colors used when logging
LogColor.error (LogColor)
error = <LogColor.error: '\x1b[31m'>
LogColor.fatal (LogColor)
fatal = <LogColor.fatal: '\x1b[1m\x1b[31m'>
LogColor.warn (LogColor)
warn = <LogColor.warn: '\x1b[33m'>
LogLevel
Full name: midgard.collections.enums.LogLevel
Signature: (value, names=None, *, module=None, qualname=None, type=None, start=1)
Levels used when deciding how much log output to show
LogLevel.all (LogLevel)
all = <LogLevel.all: 1>
LogLevel.debug (LogLevel)
debug = <LogLevel.debug: 2>
LogLevel.error (LogLevel)
error = <LogLevel.error: 5>
LogLevel.fatal (LogLevel)
fatal = <LogLevel.fatal: 6>
LogLevel.info (LogLevel)
info = <LogLevel.info: 3>
LogLevel.none (LogLevel)
none = <LogLevel.none: 7>
LogLevel.warn (LogLevel)
warn = <LogLevel.warn: 4>
NotGiven
Full name: midgard.collections.enums.NotGiven
Signature: ()
Dummy class used as a marker for a argument not given, used instead of None because None is valid value
WriteLevel
Full name: midgard.collections.enums.WriteLevel
Signature: (value, names=None, *, module=None, qualname=None, type=None, start=1)
Levels used when deciding which fields of a dataset and other information to write to disk
WriteLevel.analysis (WriteLevel)
analysis = <WriteLevel.analysis: 2>
WriteLevel.detail (WriteLevel)
detail = <WriteLevel.detail: 1>
WriteLevel.operational (WriteLevel)
operational = <WriteLevel.operational: 3>
enums()
Full name: midgard.collections.enums.enums
Signature: () -> List[str]
Return a list of available enums
Returns:
Names of available enums.
get_enum()
Full name: midgard.collections.enums.get_enum
Signature: (name:str) -> enum.EnumMeta
Return a named Enumeration
Names are defined by the @register_enum-decorator. If the name-parameter is not a valid enum, the function will raise an UnknownEnumError and list the available enumerations.
Args:
name: Name used for Enumeration.
Returns:
Enumeration with the given name.
get_value()
Full name: midgard.collections.enums.get_value
Signature: (name:str, value:str, default:Any=<class 'midgard.collections.enums.NotGiven'>) -> enum.Enum
Return the value of a named Enumeration
Names are defined by the @register_enum-decorator.
Args:
name: Name used for Enumeration.value: Value of Enumeration.default: Optional object returned if enumeration does not contain value
Returns:
Value of enumeration with the given name.
gnss_freq_G
Full name: midgard.collections.enums.gnss_freq_G
Signature: (value, names=None, *, module=None, qualname=None, type=None, start=1)
GPS frequencies
gnss_freq_G.L1 (GPSFrequency)
L1 = <GPSFrequency.L1: 1575420000.0>
gnss_freq_G.L2 (GPSFrequency)
L2 = <GPSFrequency.L2: 1227600000.0>
gnss_freq_G.L5 (GPSFrequency)
L5 = <GPSFrequency.L5: 1176450000.0>
has_value()
Full name: midgard.collections.enums.has_value
Signature: (name:str, value:str) -> bool
Check whether a named Enumeration defines a given value
Args:
name: Name used for Enumeration.value: Value of Enumeration.
Returns:
True if Enumeration defines value, False otherwise
log_color
Full name: midgard.collections.enums.log_color
Signature: (value, names=None, *, module=None, qualname=None, type=None, start=1)
Colors used when logging
log_color.error (LogColor)
error = <LogColor.error: '\x1b[31m'>
log_color.fatal (LogColor)
fatal = <LogColor.fatal: '\x1b[1m\x1b[31m'>
log_color.warn (LogColor)
warn = <LogColor.warn: '\x1b[33m'>
log_level
Full name: midgard.collections.enums.log_level
Signature: (value, names=None, *, module=None, qualname=None, type=None, start=1)
Levels used when deciding how much log output to show
log_level.all (LogLevel)
all = <LogLevel.all: 1>
log_level.debug (LogLevel)
debug = <LogLevel.debug: 2>
log_level.error (LogLevel)
error = <LogLevel.error: 5>
log_level.fatal (LogLevel)
fatal = <LogLevel.fatal: 6>
log_level.info (LogLevel)
info = <LogLevel.info: 3>
log_level.none (LogLevel)
none = <LogLevel.none: 7>
log_level.warn (LogLevel)
warn = <LogLevel.warn: 4>
register_enum()
Full name: midgard.collections.enums.register_enum
Signature: (name:str) -> Callable[[enum.EnumMeta], enum.EnumMeta]
Register a named Enumeration
This allows for getting Enumerations with the get_enum-function.
Args:
name: Name used for Enumeration.
Returns:
Decorator that registers an Enumeration.
write_level
Full name: midgard.collections.enums.write_level
Signature: (value, names=None, *, module=None, qualname=None, type=None, start=1)
Levels used when deciding which fields of a dataset and other information to write to disk
write_level.analysis (WriteLevel)
analysis = <WriteLevel.analysis: 2>
write_level.detail (WriteLevel)
detail = <WriteLevel.detail: 1>
write_level.operational (WriteLevel)
operational = <WriteLevel.operational: 3>