Пример #1
0
def mark_todo_status():
    server = ShorthandServer(current_app.config['config_path'])

    filename = get_request_argument(request.args, name='filename')
    line_number = get_request_argument(request.args, name='line_number',
                                       arg_type='int')
    status = get_request_argument(request.args, name='status')

    return server.mark_todo(filename, line_number, status)
Пример #2
0
def get_files():
    server = ShorthandServer(current_app.config['config_path'])

    query_string = get_request_argument(request.args, name='query_string')
    prefer_recent = get_request_argument(request.args, name='prefer_recent',
                                         arg_type='bool', default=True)
    case_sensitive = get_request_argument(request.args, name='case_sensitive',
                                          arg_type='bool', default=False)

    files = server.search_filenames(
                prefer_recent=prefer_recent,
                query_string=query_string, case_sensitive=case_sensitive)

    return json.dumps(files)
Пример #3
0
def get_search_results():
    server = ShorthandServer(current_app.config['config_path'])

    query_string = get_request_argument(request.args, name='query_string')
    case_sensitive = get_request_argument(request.args, name='case_sensitive',
                                          arg_type='bool', default=False)
    aggregate_by_file = get_request_argument(request.args,
                                             name='aggregate_by_file',
                                             arg_type='bool', default=False)

    search_results = server.search_full_text(
        query_string=query_string,
        case_sensitive=case_sensitive,
        aggregate_by_file=aggregate_by_file)
    return json.dumps(search_results)
Пример #4
0
def fetch_questions():
    server = ShorthandServer(current_app.config['config_path'])

    status = get_request_argument(request.args, name='status', default='all')
    directory_filter = get_request_argument(request.args,
                                            name='directory_filter')
    if directory_filter == 'ALL':
        directory_filter = None
    current_app.logger.info(f'Getting {status} questions in '
                            f'directory {directory_filter}')

    questions = server.get_questions(
        question_status=status, directory_filter=directory_filter)
    current_app.logger.info(f'Returning {len(questions)} question results')
    return json.dumps(wrap_response_data(questions))
Пример #5
0
def get_note_links():
    server = ShorthandServer(current_app.config['config_path'])

    source = get_request_argument(request.args, name='source')
    target = get_request_argument(request.args, name='target')
    note = get_request_argument(request.args, name='note')
    include_external = get_request_argument(request.args,
                                            name='include_external',
                                            arg_type='bool', default=False)
    include_invalid = get_request_argument(request.args,
                                           name='include_invalid',
                                           arg_type='bool', default=False)

    return json.dumps(server.get_links(source=source, target=target, note=note,
                                       include_external=include_external,
                                       include_invalid=include_invalid))
Пример #6
0
def record_file_view_api():
    server = ShorthandServer(current_app.config['config_path'])

    note_path = get_request_argument(request.args, name='note_path',
                                     required=True)
    server.record_file_view(note_path=note_path)
    return 'ack'
Пример #7
0
def get_current_todos():
    server = ShorthandServer(current_app.config['config_path'])

    status = get_request_argument(request.args, name='status',
                                  default='incomplete')
    directory_filter = get_request_argument(request.args,
                                            name='directory_filter')
    query_string = get_request_argument(request.args, name='query_string')
    sort_by = get_request_argument(request.args, name='sort_by')
    tag = get_request_argument(request.args, name='tag')
    suppress_future = get_request_argument(request.args,
                                           name='suppress_future',
                                           arg_type='bool', default=True)
    case_sensitive = get_request_argument(request.args, name='case_sensitive',
                                          arg_type='bool', default=False)

    if directory_filter == 'ALL':
        directory_filter = None
    if tag == 'ALL':
        tag = None

    todos = server.get_todos(todo_status=status,
                             directory_filter=directory_filter,
                             query_string=query_string,
                             case_sensitive=case_sensitive, sort_by=sort_by,
                             suppress_future=suppress_future, tag=tag)
    current_app.logger.info(f'Returning {len(todos)} todo results')

    wrapped_response = wrap_response_data(todos)
    wrapped_response['meta'] = analyze_todos(todos)
    return json.dumps(wrapped_response)
Пример #8
0
def write_updated_note():
    server = ShorthandServer(current_app.config['config_path'])

    path = get_request_argument(request.args, name='path', required=True)
    request.get_data()
    content = request.data.decode('utf-8')

    server.update_note(path, content)
    return 'Note Updated'
Пример #9
0
def get_gps_locations():
    server = ShorthandServer(current_app.config['config_path'])

    directory_filter = get_request_argument(request.args,
                                            name='directory_filter')

    locations = server.get_locations(directory_filter=directory_filter)
    wrapped_response = wrap_response_data(locations)
    return json.dumps(wrapped_response)
Пример #10
0
def fetch_record_set():
    server = ShorthandServer(current_app.config['config_path'])

    file_path = get_request_argument(request.args, name='file_path')
    line_number = get_request_argument(request.args, name='line_number',
                                       arg_type='int')
    parse = get_request_argument(request.args, name='parse', arg_type='bool',
                                 default=True)
    include_config = get_request_argument(request.args, name='include_config',
                                          arg_type='bool', default=False)
    parse_format = get_request_argument(request.args, name='parse_format',
                                        default='json')

    return server.get_record_set(
        file_path=file_path,
        line_number=line_number,
        parse=parse,
        parse_format=parse_format,
        include_config=include_config)
Пример #11
0
def fetch_record_sets():
    server = ShorthandServer(current_app.config['config_path'])

    directory_filter = get_request_argument(request.args,
                                            name='directory_filter')
    if directory_filter == 'ALL':
        directory_filter = None

    record_sets = server.get_record_sets(directory_filter=None)
    return json.dumps(wrap_response_data(record_sets))
Пример #12
0
def fetch_calendar():
    server = ShorthandServer(current_app.config['config_path'])

    directory_filter = get_request_argument(request.args,
                                            name='directory_filter')
    if directory_filter == 'ALL':
        directory_filter = None

    calendar = server.get_calendar(directory_filter=directory_filter)
    return json.dumps(calendar)
Пример #13
0
def validate_note_links():
    server = ShorthandServer(current_app.config['config_path'])
    source = get_request_argument(request.args, name='source')
    return json.dumps(server.validate_internal_links(source=source))
Пример #14
0
def get_full_note():
    server = ShorthandServer(current_app.config['config_path'])
    path = get_request_argument(request.args, name='path', required=True)
    return server.get_note(path)
Пример #15
0
def get_typeahead():
    server = ShorthandServer(current_app.config['config_path'])
    query_string = get_request_argument(request.args, name='query')
    return json.dumps(server.get_typeahead_suggestions(
        query_string=query_string))