# Path: KPC/classes.py
# class Error:
#     '''An individual error from a check against an entry. One check
#     usually returns list of errors or empty list if there's no error.
#     '''
#     SUCCESS = 0
#     DEPRECATED = 1
#     WARNING = 2
#     ERROR = 3
# 
#     def __init__(self, message):
#         self.pos = 0
#         self.level = Error.ERROR
#         self.message = message
# 
# class BaseCheck:
#     '''Base class to check an entry from PO files. Subclasses should
#     implement check() function. check() returns list of errors if any.
#     '''
#     def _get_context(self, entry):
#         if not hasattr(self, 'get_context'):
#             return {}
#         fields = {}
#         # parse msgstr
#         for line in entry.msgstr.split('\n'):
#             try:
#                 k, v = line.split(': ', 1)
#                 fields[k] = v
#             except ValueError:
#                 pass
#         return self.get_context(entry, fields)
# 
#     def _check(self, entry, context):
#         return self.check(entry, context)


import re
from KPC.classes import Error, BaseCheck
        'error': '%s: 어색한 표현. "...합니다"와 같이 간결히 쓰십시오.',
        # 과거형인 "-했을 것입니다"는 예외
        'except': R('\S+' + SYLLABLE_WITH_T_SSANGSIOS + '을 것입니다'),
    },

    # ...하시기 바랍니다 것입니다
    {
        're': R('\S+시기 바랍니다'),
        'error': '%s: 어색한 표현. "...하십시오"와 같이 간결히 쓰십시오.',
    },

    # "N개의 아무개"
    {
        're': R('%\S*[du]개의 \S+'),
        'error': '%s: 어색한 표현. "몇개의 아무개" 대신 "아무개 몇개"와 같이 쓰십시오.',
    },

    # ...을 포함
    {
        're': R('\S+[를을이가] 포함\S+'),
        'error': '%s: 어색한 표현. "..이 들어 있다"와 같이 바꿔 쓰십시오.',
    },
]


class BadStyleCheck(BaseCheck):
    def check(self, entry, context):
        msgstr = entry.msgstr
        errors = []
        for entry in data:

# Path: KPC/classes.py
# class Error:
#     '''An individual error from a check against an entry. One check
#     usually returns list of errors or empty list if there's no error.
#     '''
#     SUCCESS = 0
#     DEPRECATED = 1
#     WARNING = 2
#     ERROR = 3
# 
#     def __init__(self, message):
#         self.pos = 0
#         self.level = Error.ERROR
#         self.message = message
# 
# class BaseCheck:
#     '''Base class to check an entry from PO files. Subclasses should
#     implement check() function. check() returns list of errors if any.
#     '''
#     def _get_context(self, entry):
#         if not hasattr(self, 'get_context'):
#             return {}
#         fields = {}
#         # parse msgstr
#         for line in entry.msgstr.split('\n'):
#             try:
#                 k, v = line.split(': ', 1)
#                 fields[k] = v
#             except ValueError:
#                 pass
#         return self.get_context(entry, fields)
# 
#     def _check(self, entry, context):
#         return self.check(entry, context)


# Path: KPC/checks/language/badstyle.py
import re
from KPC.classes import Error, BaseCheck

        'error': '%s: 어색한 표현. "...합니다"와 같이 간결히 쓰십시오.',
        # 과거형인 "-했을 것입니다"는 예외
        'except': R('\S+' + SYLLABLE_WITH_T_SSANGSIOS + '을 것입니다'),
    },

    # ...하시기 바랍니다 것입니다
    {
        're': R('\S+시기 바랍니다'),
        'error': '%s: 어색한 표현. "...하십시오"와 같이 간결히 쓰십시오.',
    },

    # "N개의 아무개"
    {
        're': R('%\S*[du]개의 \S+'),
        'error': '%s: 어색한 표현. "몇개의 아무개" 대신 "아무개 몇개"와 같이 쓰십시오.',
    },

    # ...을 포함
    {
        're': R('\S+[를을이가] 포함\S+'),
        'error': '%s: 어색한 표현. "..이 들어 있다"와 같이 바꿔 쓰십시오.',
    },
]


class BadStyleCheck(BaseCheck):
    def check(self, entry, context):
        msgstr = entry.msgstr
        errors = []
        for entry in data:

            r = entry['re']