from typing import Optional

from . import RossetiParser, split_addresses, concurrent_fetch_builing_ids, preprocess_df


def pipeline(parser: Optional[RossetiParser] = None) -> RossetiParser:
    if parser is None:
        parser = RossetiParser()

    print(parser)

    parser.df = split_addresses(parser.df)

    parser.df = concurrent_fetch_builing_ids(parser.df)

    parser.df = preprocess_df(parser.df)

    return parser