# Path: legacy_codes/app/myLogger.py
# def viewLog(mode, data=None):
#     """
#     전달된 mode에 따라 로깅 내용이 달라진다.
#     message : 유저키, 타입, 내용을 기록한다. json형태의 data
#     add : 유저키를 기록한다. json형태의 data
#     block, exit : 유저키를 기록한다. string형태의 data
#     fail : 기본 request 처리 실패 로그
#     """
#     if mode is "message":
#         app.logger.info("[message] user_key : {}, type : {}, content : {}".format(
#             data["user_key"],
#             data["type"],
#             data["content"]))
#     elif mode is "scheduler":
#         app.logger.info("[parsing] data: {}".format(data))
#     elif mode is "query":
#         app.logger.info("[query] hakusiku {}".format(data))
#     elif mode is "review":
#         app.logger.info("[review] user_key: {}, review: {}".format(
#             data['user_key'],
#             data['content'],
#         ))
#     elif mode is "keyboard":
#         app.logger.info("[keyboard] call home keyboard")
#     elif mode is "add":
#         app.logger.info("[join] user_key : {}".format(data["user_key"]))
#     elif mode is "block":
#         app.logger.info("[block] user_key : {}".format(data))
#     elif mode is "exit":
#         app.logger.info("[exit] user_key : {}".format(data))
#     elif mode is "fail":
#         app.logger.info("[fail] request process fail log: {}".format(data))


import datetime
from .myLogger import viewLog
        from .managers import DBAdmin
        from .managers import DBAdmin
        from .managers import DBAdmin
class Review:
    def __init__(self):
        pass

    @staticmethod
    def get_string():
        """
        get today's reviews which contains converted user_key and review string
        :return: string
        example: "dreNXN: 솰라솰라\nkkp02n: 뭐라뭐라뭐라"
        """
        reviews = DBAdmin.get_review()['리뷰']
        ret = '{}\n'.format(datetime.date.today().__str__())

        if not reviews:
            ret = '오늘은 리뷰가 아직 없습니다.' + \
                  '\n리뷰를 처음으로 남겨 보세요'

        for review in reviews:
            user_key = review['user_key']
            msg = review['content']
            shorten_user_key = user_key[:3] + user_key[-3:]
            ret += "\n{}: {}".format(shorten_user_key, msg)

        return ret

    @staticmethod
    def new_review(user_key, new_review):
        if DBAdmin.is_banned_user(user_key):
            raise Exception('Banned User')

# Path: legacy_codes/app/myLogger.py
# def viewLog(mode, data=None):
#     """
#     전달된 mode에 따라 로깅 내용이 달라진다.
#     message : 유저키, 타입, 내용을 기록한다. json형태의 data
#     add : 유저키를 기록한다. json형태의 data
#     block, exit : 유저키를 기록한다. string형태의 data
#     fail : 기본 request 처리 실패 로그
#     """
#     if mode is "message":
#         app.logger.info("[message] user_key : {}, type : {}, content : {}".format(
#             data["user_key"],
#             data["type"],
#             data["content"]))
#     elif mode is "scheduler":
#         app.logger.info("[parsing] data: {}".format(data))
#     elif mode is "query":
#         app.logger.info("[query] hakusiku {}".format(data))
#     elif mode is "review":
#         app.logger.info("[review] user_key: {}, review: {}".format(
#             data['user_key'],
#             data['content'],
#         ))
#     elif mode is "keyboard":
#         app.logger.info("[keyboard] call home keyboard")
#     elif mode is "add":
#         app.logger.info("[join] user_key : {}".format(data["user_key"]))
#     elif mode is "block":
#         app.logger.info("[block] user_key : {}".format(data))
#     elif mode is "exit":
#         app.logger.info("[exit] user_key : {}".format(data))
#     elif mode is "fail":
#         app.logger.info("[fail] request process fail log: {}".format(data))


# Path: legacy_codes/app/review.py
import datetime
from .myLogger import viewLog
        from .managers import DBAdmin
        from .managers import DBAdmin
        from .managers import DBAdmin

class Review:
    def __init__(self):
        pass

    @staticmethod
    def get_string():
        """
        get today's reviews which contains converted user_key and review string
        :return: string
        example: "dreNXN: 솰라솰라\nkkp02n: 뭐라뭐라뭐라"
        """
        reviews = DBAdmin.get_review()['리뷰']
        ret = '{}\n'.format(datetime.date.today().__str__())

        if not reviews:
            ret = '오늘은 리뷰가 아직 없습니다.' + \
                  '\n리뷰를 처음으로 남겨 보세요'

        for review in reviews:
            user_key = review['user_key']
            msg = review['content']
            shorten_user_key = user_key[:3] + user_key[-3:]
            ret += "\n{}: {}".format(shorten_user_key, msg)

        return ret

    @staticmethod
    def new_review(user_key, new_review):
        if DBAdmin.is_banned_user(user_key):
            raise Exception('Banned User')

        viewLog("review", {'user_key': user_key, 'content': new_review})