1 year ago

#363581

test-img

Parikshit Mukherjee

Protobuf timestamp getting auto converted

I am reading timestamp strings of format '2014-11-09T01:00Z' from mongo and storing in a python dict. But while retrieving same from the dict I see some of the strings got automatically converted to proto timestamp like seconds: 1511047800.

I have no clue how could this happen. Any insights appreciated.

class SomeInfo:

__school_id_info = defaultdict(
    lambda: {'banned': -1,
             'school_boy': False,
             'teacher': False})

def __init__(self):
    mongo_connection_str = os.environ['MONGO_CONNECTION_STRING']
    mongo_db_name = os.environ.get('MONGO_DB_NAME', 'coll')
    mongo_dao = MongoDao(mongo_connection_str, mongo_db_name)
    mongo_collection_name = 'school'
    school_records = mongo_dao.find_records(mongo_collection_name)

    for school_details in school_records:
        self.__school_id_info['date'] = school_details['date']
    #If I print the __school_id_info here I see date as '2014-11-09T01:00Z' string format which is same as how it is in Mongo.
    self.__dict__ = self.__school_id_info

def get_info_for_both_students(self) -> dict:
    #while returning from here I see some as seconds: 1235192400  protobuff timestamp format and some still as it is
    # .I am  not doing any conversion to protobuf timestamp
    return self.__school_id_info

python

mongodb

timestamp

protocol-buffers

proto

0 Answers

Your Answer

Accepted video resources