Sync content from a WordPress.com site via the REST API.

        :param purge_first: Should we remove all local content first? Careful, destructive!
        :param full: If True, crawl backwards chronologically through all content, not just recently modified
                     Default is False, only load recently modified content.
        :param modified_after: If None, pick up where we left off last time; otherwise go back to this point in time
                               Default is None, pick up where we left off last time.
        :param type: the type(s) of processing:
            - all: loads all content
            - ref_data: just loads categories, tags, authors, and media
            - post: just loads posts with post_type=post, and related ref data
            - page: just loads posts with post_type=page, and related ref data
            - attachment: just loads posts with post_type=attachment, and related ref data
        :param status: the post statuses to load:
            - publish: loads published posts (default)
            - private: loads private posts
            - draft: loads draft posts
            - pending: loads pending posts
            - future: loads future posts
            - trash: loads posts in the trash
            - any: loads posts with any status
        :param batch_size: The number of posts to request from the WP API for each page
                           Note this doesn't apply to smaller requests such as tags, categories, etc.
        :return: None

def load_site(self, purge_first=False, full=False, modified_after=None, type=None, status=None, batch_size=None):
        """
        Sync content from a WordPress.com site via the REST API.

        :param purge_first: Should we remove all local content first? Careful, destructive!
        :param full: If True, crawl backwards chronologically through all content, not just recently modified
                     Default is False, only load recently modified content.
        :param modified_after: If None, pick up where we left off last time; otherwise go back to this point in time
                               Default is None, pick up where we left off last time.
        :param type: the type(s) of processing:
            - all: loads all content
            - ref_data: just loads categories, tags, authors, and media
            - post: just loads posts with post_type=post, and related ref data
            - page: just loads posts with post_type=page, and related ref data
            - attachment: just loads posts with post_type=attachment, and related ref data
        :param status: the post statuses to load:
            - publish: loads published posts (default)
            - private: loads private posts
            - draft: loads draft posts
            - pending: loads pending posts
            - future: loads future posts
            - trash: loads posts in the trash
            - any: loads posts with any status
        :param batch_size: The number of posts to request from the WP API for each page
                           Note this doesn't apply to smaller requests such as tags, categories, etc.
        :return: None
        """
        # capture loading vars
        self.purge_first = purge_first
        self.full = full
        self.modified_after = modified_after
        self.batch_size = batch_size or 100

        if type is None:
            type = "all"

        if status is None:
            status = "publish"

        if type in ["all", "ref_data"]:
            self.load_categories()
            self.load_tags()
            self.load_authors()
            self.load_media()

        # get ref data into memory for faster lookups
        if type in ["all", "attachment", "post", "page"]:
            self.get_ref_data_map()

        # load posts of each type that we need
        if type == "all":
            for post_type in ["attachment", "post", "page"]:
                self.load_posts(post_type=post_type, status=status)
        elif type in ["attachment", "post", "page"]:
            self.load_posts(post_type=type, status=status)