diff --git a/hshetl/entities.py b/hshetl/entities.py index 2f912d88fd371da8a824a5119f6b53c5ea5d1891..74f767887fc059b0cd8d51e5f2d4736d924845c0 100644 --- a/hshetl/entities.py +++ b/hshetl/entities.py @@ -263,6 +263,8 @@ class PropertyConverter(object): elif datatype == 'datetime': if type(raw_value) == datetime.datetime: return raw_value + elif datatype == 'binary': + return self._convert_binary(raw_value) # TODO: make datetime conversion possible # datetime_format = self.datetime_format[prop] # return self._convert_datetime(raw_value, datetime_format) @@ -337,6 +339,15 @@ class PropertyConverter(object): if value == '': return None return datetime.datetime.strptime(value, datetime_format) + def _convert_binary(self, value): + '''Converts incoming value to binary''' + if type(value) == buffer: + return value + elif type(value) == int: + return bin(value) + elif type(value) == str and value == '': + return value + class Record(object): '''Records merge and store data from extractions