Esempio n. 1
0
def main(target_file=None, keep_alive='False'):
    """ language tool based grammar checker """
    keep_alive = keep_alive.lower() == 'true'
    pages = convert_pdf_to_text(target_file)
    rez = []
    with LanguagetoolServer(LT_PATH, keep_alive) as grammar_checker:
        for num, page in enumerate(pages):
            for paragraph in page:
                # fixing new-lines and spaces for languagetool
                for error in grammar_checker(new_lines_replaser(paragraph)):
                    rule_id = error.get('ruleId')
                    cur_msg = MESSAGES_BY_RULES.get(
                        rule_id, MESSAGES_BY_RULES['language-tool'])
                    rez.append({
                        'id':
                        cur_msg['id'],
                        'page':
                        'Slide %s' % (num + 1),
                        'msg_name':
                        rule_id,
                        'msg':
                        '%s - %s' %
                        (error.get('locqualityissuetype'), error.get('msg')),
                        'help':
                        error.get('context')
                    })
    return rez
Esempio n. 2
0
def main(target_file=None, ):
    """ No text found checker """
    for page in convert_pdf_to_text(target_file):
        for paragraph in page:
            if paragraph:
                return []
    return [dict(id='W1001',
                 msg_name='no-text-found',
                 msg='No text found',
                 page='',
                 help="No text found: No text found in presentation file"), ]
Esempio n. 3
0
def main(target_file=None, ):
    """ No text found checker """
    for page in convert_pdf_to_text(target_file):
        for paragraph in page:
            if paragraph:
                return []
    return [
        dict(id='W1001',
             msg_name='no-text-found',
             msg='No text found',
             page='',
             help="No text found: No text found in presentation file"),
    ]
Esempio n. 4
0
def main(target_file=None, keep_alive='False'):
    """ language tool based grammar checker """
    keep_alive = keep_alive.lower() == 'true'
    pages = convert_pdf_to_text(target_file)
    rez = []
    with LanguagetoolServer(LT_PATH, keep_alive) as grammar_checker:
        for num, page in enumerate(pages):
            for paragraph in page:
                # fixing new-lines and spaces for languagetool
                for error in grammar_checker(new_lines_replaser(paragraph)):
                    rule_id = error.get('ruleId')
                    cur_msg = MESSAGES_BY_RULES.get(
                        rule_id,
                        MESSAGES_BY_RULES['language-tool'])
                    rez.append({
                        'id': cur_msg['id'],
                        'page': 'Slide %s' % (num + 1),
                        'msg_name': rule_id,
                        'msg': '%s - %s' % (error.get('locqualityissuetype'),
                                            error.get('msg')),
                        'help': error.get('context')})
    return rez
def main(target_file=None, source_file=None, re_options=None, msg_id=None,
         msg_name=None, msg=None, msg_help=None, msg_info=None):
    """ Runner for regexp config files. Takes rules_source file """
    pattern = open(get_file_path(source_file), 'rb').read()
    options = [getattr(re, o) for o in re_options.split('\n') if o]
    regexp = re.compile(pattern, *options)
    if msg_info:
        message = dict(id=msg_id, msg_name=msg_name, msg=msg, help=msg_help)
        return help_msg_formatter((message,), msg_info)
    pages = convert_pdf_to_text(target_file)
    rez = []
    for num, page in enumerate(pages):
        for paragraph in page:
            match = regexp.search(paragraph)
            if match:
                rez.append({
                    'id': msg_id,
                    'page': 'Slide %s' % (num + 1),
                    'msg_name': msg_name,
                    'msg': '%s: "%s" mentioned in "%s"' % (
                        msg, str(match.group()), paragraph),
                    'help': msg_help})
    return rez