# Path: artman/tasks/task_base.py
# class TaskBase(Task):
# class EmptyTask(TaskBase):
#     def __init__(self, *args, **kwargs):
#     def log(self, msg, logger=artman_logger, level=logging.INFO):
#     def exec_command(self, args):
#     def execute(self):
#     def validate(self):


import os
import re
import pypandoc
from artman.tasks import task_base
from google.protobuf import descriptor_pb2 as desc
    strs = []
    for m in pattern.finditer(comment):
        strs.append(comment[index:m.start()])
        strs.append(repl_fn(m))
        index = m.end()
    strs.append(comment[index:])
    return ''.join(strs)


def _replace_proto_link(comment):
    def _format(m):
        return "`{}`".format(m.group('text'))
    return _replace(comment, _proto_link_re, _format)


def _replace_relative_link(comment):
    def _format(m):
        return "[{}](https://cloud.google.com{})".format(m.group('text'),
                                                         m.group('uri'))
    return _replace(comment, _relative_link_re, _format)


def _insert_spaces(comment):
    def _format(m):
        return "{} {}".format(m.group('newlines'), m.group('followup'))
    # After replacement, add a leading space
    return " " + _replace(comment, _new_lines, _format)


def _add_space(comment):

# Path: artman/tasks/task_base.py
# class TaskBase(Task):
# class EmptyTask(TaskBase):
#     def __init__(self, *args, **kwargs):
#     def log(self, msg, logger=artman_logger, level=logging.INFO):
#     def exec_command(self, args):
#     def execute(self):
#     def validate(self):


# Path: artman/tasks/descriptor_set_tasks.py
import os
import re
import pypandoc
from artman.tasks import task_base
from google.protobuf import descriptor_pb2 as desc

    strs = []
    for m in pattern.finditer(comment):
        strs.append(comment[index:m.start()])
        strs.append(repl_fn(m))
        index = m.end()
    strs.append(comment[index:])
    return ''.join(strs)


def _replace_proto_link(comment):
    def _format(m):
        return "`{}`".format(m.group('text'))
    return _replace(comment, _proto_link_re, _format)


def _replace_relative_link(comment):
    def _format(m):
        return "[{}](https://cloud.google.com{})".format(m.group('text'),
                                                         m.group('uri'))
    return _replace(comment, _relative_link_re, _format)


def _insert_spaces(comment):
    def _format(m):
        return "{} {}".format(m.group('newlines'), m.group('followup'))
    # After replacement, add a leading space
    return " " + _replace(comment, _new_lines, _format)


def _add_space(comment):

    def _format(m):