def _build_basic_properties(self, properties): """ Get the pika.BasicProperties from a pikachewie.data.Properties object. :param pikachewie.data.Properties properties: properties to convert :rtype: pika.spec.BasicProperties """ basic_properties = BasicProperties() attrs = ''' app_id content_encoding content_type correlation_id delivery_mode priority reply_to message_id type user_id '''.split() for attr in attrs: value = getattr(properties, attr) if value is not None: setattr(basic_properties, attr, value) basic_properties.timestamp = properties.timestamp or int(time.time()) if properties.expiration is not None: basic_properties.expiration = str(properties.expiration) if properties.headers is not None and \ len(properties.headers.keys()): basic_properties.headers = dict(properties.headers) return basic_properties