a helper method to compile keypad buttons to telegram api format

        :param keypad_type: string with type of keypad to emulate
        :param persist_buttons: boolean to keep buttons around after exiting
        :return: string in json serial format

def _compile_keypad(self, keypad_type, persist_buttons):
        
        ''' a helper method to compile keypad buttons to telegram api format

        :param keypad_type: string with type of keypad to emulate
        :param persist_buttons: boolean to keep buttons around after exiting
        :return: string in json serial format
        '''

        import json
        keyboard_list = []
        if keypad_type == 'phone':
            row_list = [ {'text': '1'}, {'text': '2'}, {'text': '3'} ]
            keyboard_list.append(row_list)
            row_list = [ {'text': '4'}, {'text': '5'}, {'text': '6'} ]
            keyboard_list.append(row_list)
            row_list = [ {'text': '7'}, {'text': '8'}, {'text': '9'} ]
            keyboard_list.append(row_list)
            row_list = [ {'text': '*'}, {'text': '0'}, {'text': '#'} ]
            keyboard_list.append(row_list)
        elif keypad_type == 'calculator':
            row_list = [ {'text': '7'}, {'text': '8'}, {'text': '9'}, {'text': '/'} ]
            keyboard_list.append(row_list)
            row_list = [ {'text': '4'}, {'text': '5'}, {'text': '6'}, {'text': '*'} ]
            keyboard_list.append(row_list)
            row_list = [ {'text': '1'}, {'text': '2'}, {'text': '3'}, {'text': '-'} ]
            keyboard_list.append(row_list)
            row_list = [ {'text': '0'}, {'text': '.'}, {'text': '='}, {'text': '+'} ]
            keyboard_list.append(row_list)
        keyboard_kwargs = {
            'keyboard': keyboard_list,
            'one_time_keyboard': not persist_buttons,
            'resize_keyboard': True
        }
        json_data = json.dumps(keyboard_kwargs)
        return json_data