<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def report_line(zipfilename: str, contentsfilename: str, line: str, show_inner_file: bool) -> None: """ Prints a line from a file, with the ``.zip`` filename and optionally also the inner filename. Args: zipfilename: filename of the ``.zip`` file contentsfilename: filename of the inner file line: the line from the inner file show_inner_file: if ``True``, show both filenames; if ``False``, show just the ``.zip`` filename """

    if show_inner_file:
        print("{} [{}]: {}".format(zipfilename, contentsfilename, line))
    else:
        print("{}: {}".format(zipfilename, line))