def read_appdata():
    appdata = {}
    filepaths = define_filepaths()
    appdata["http_params"] = get_json_data(filepaths.get("http_params"))
    appdata["handler_params"] = get_json_data(filepaths.get("handler_params"))
    appdata["member_data"] = get_json_data(filepaths.get("member_data"))
    appdata["response"] = get_json_data(filepaths.get("response"))
    objects = bind_data_to_objects(appdata)
    return objects
def write_mention_to_logfile(mention):
    filepaths = define_filepaths()
    now = datetime.datetime.now()
    logheader = "LOG EVENT | TIME: " + str(now)
    logtype = "LOG TYPE: MENTION"
    logbody = ""
    logfooter = ""
    logmessage = logheader + '\n' + logbody + '\n' + logfooter + '\n'
    with open(filepaths.get("logfile"), 'a') as f:
        f.write(logmessage)
    return True
def write_report_json(report, member_data):
    filepaths = define_filepaths()
    member = add_report(report, member_data)
    #reports['reports'] = member.reports
    #updated_member = Member(member.user_id, member.nickname, reports)
    member_dict = object_to_dict(member)
    members = []
    members.append(member_dict)
    if len(member_dict) > 0:
        is_report_written = write_to_member_json(filepaths, members)
        return True
    else:
        print("Report already exists and will not be written to json...")
        return False
def write_error_to_logfile(error):
    filepaths = define_filepaths()
    now = datetime.datetime.now()
    border = "*****************************************************"
    logheader = "LOG EVENT | TIME: " + str(now)
    # is exception
    if isinstance(error, tuple):
        logbody = "ERROR | EXCEPTION THROWN"
        errormessage = str(error[0]) + '\n' + \
            str(error[1]) + " Line: " + str(error[2])
    # non critical error
    else:
        logbody = "ERROR | NON CRITICAL ERROR"
        errormessage = error
    logmessage = '\n' + border + '\n' + logheader + '\n' + \
        logbody + '\n' + errormessage + '\n' + border + '\n'
    with open(filepaths.get("logfile"), 'a') as f:
        f.write(logmessage)
    print(logmessage)
    return False
def read_member_data():
    appdata = {}
    filepaths = define_filepaths()
    appdata["member_data"] = get_json_data(filepaths.get("member_data"))
    member_data = bind_member_to_object(appdata)
    return member_data
def log_messages(since_id, messages, is_new_messages):
    is_report_written = False
    filepaths = define_filepaths()
    write_to_handler_json(filepaths, since_id)
    return write_to_logfile(filepaths, since_id, messages, is_new_messages)