python-awips/dynamicserialize/adapters/__init__.py

72 lines
2.3 KiB
Python
Raw Permalink Normal View History

2015-06-18 10:25:33 -06:00
##
##
#
# __init__.py for Dynamic Serialize adapters.
2017-01-06 12:00:14 -07:00
#
#
2015-06-18 10:25:33 -06:00
# SOFTWARE HISTORY
2017-01-06 12:00:14 -07:00
#
2015-06-18 10:25:33 -06:00
# Date Ticket# Engineer Description
# ------------ ---------- ----------- --------------------------
# 08/31/10 njensen Initial Creation.
# 03/20/13 #1774 randerso Added TimeConstraintsAdapter
# 04/22/13 #1949 rjpeter Added LockTableAdapter
# 02/06/14 #2672 bsteffen Added JTSEnvelopeAdapter
# 06/22/2015 #4573 randerso Added JobProgressAdapter
# 09/21/2015 #4486 rjpeter Added FormattedDateAdapter
2017-01-06 12:00:14 -07:00
# 06/23/2016 #5696 rjpeter Added CommutativeTimestampAdapter
2015-06-18 10:25:33 -06:00
#
__all__ = [
'PointAdapter',
'StackTraceElementAdapter',
'WsIdAdapter',
'CalendarAdapter',
'GregorianCalendarAdapter',
'ActiveTableModeAdapter',
'DateAdapter',
'FormattedDateAdapter',
2015-06-18 10:25:33 -06:00
'LocalizationLevelSerializationAdapter',
'LocalizationTypeSerializationAdapter',
'GeometryTypeAdapter',
'CoordAdapter',
'TimeRangeTypeAdapter',
'ParmIDAdapter',
'DatabaseIDAdapter',
'TimestampAdapter',
2017-01-06 12:00:14 -07:00
'CommutativeTimestampAdapter',
2015-06-18 10:25:33 -06:00
'EnumSetAdapter',
'FloatBufferAdapter',
'ByteBufferAdapter',
'TimeConstraintsAdapter',
'LockTableAdapter',
'JTSEnvelopeAdapter',
'JobProgressAdapter',
2015-06-18 10:25:33 -06:00
]
2017-01-06 12:00:14 -07:00
2015-06-18 10:25:33 -06:00
classAdapterRegistry = {}
2017-01-06 12:00:14 -07:00
2015-06-18 10:25:33 -06:00
def getAdapterRegistry():
2017-01-06 12:00:14 -07:00
import sys
2015-06-18 10:25:33 -06:00
for x in __all__:
2016-04-17 18:22:20 -06:00
exec('import dynamicserialize.adapters.' + x )
2015-06-18 10:25:33 -06:00
m = sys.modules['dynamicserialize.adapters.' + x]
d = m.__dict__
2016-04-16 17:00:50 -06:00
if 'ClassAdapter' in d:
2015-06-18 10:25:33 -06:00
if isinstance(m.ClassAdapter, list):
for clz in m.ClassAdapter:
classAdapterRegistry[clz] = m
else:
clzName = m.ClassAdapter
classAdapterRegistry[clzName] = m
else:
raise LookupError('Adapter class ' + x + ' has no ClassAdapter field ' + \
'and cannot be registered.')
2017-01-06 12:00:14 -07:00
2015-06-18 10:25:33 -06:00
getAdapterRegistry()