Esempio n. 1
0
def generate(seed):
    """
    Makes a batch of 3 publication pages.
    """

    reseed(seed)
    home_page = get_homepage()
    """
    Create a couple scenarios that will be best for testing:
    * A PublicationPage with several child ArticlePages
    * A PublicationPage with child PublicationPages, each of which has their own ArticlePages
        * future: perhaps nested at random levels of depth?
    """

    pub_page_with_child_articles = PublicationPageFactory.create(
        parent=home_page, title='Publication Page with child Article Pages')
    pub_page_with_chapters = PublicationPageFactory.create(
        parent=home_page, title='Publication Page with chapter pages')

    ArticlePageFactory.create_batch(parent=pub_page_with_child_articles,
                                    size=8)

    PublicationPageFactory.create_batch(parent=pub_page_with_chapters, size=3)

    for chapter in pub_page_with_chapters.get_children():
        ArticlePageFactory.create_batch(parent=chapter, size=8)

    article_pages = ArticlePage.objects.all()
    for post in article_pages:
        add_authors(post)
    def handle(self, *args, **options):

        if options['delete']:
            call_command('flush_models')

        faker = factory.faker.Faker._get_faker(locale='en-US')

        # Seed Faker with the provided seed value or a pseudorandom int between 0 and five million
        if options['seed']:
            seed = options['seed']
        elif settings.RANDOM_SEED is not None:
            seed = settings.RANDOM_SEED
        else:
            seed = random.randint(0, 5000000)

        print(f'Seeding random numbers with: {seed}')

        reseed(seed)

        print('Generating Images')
        [
            ImageFactory.create(file__width=1080,
                                file__height=720,
                                file__color=faker.safe_color_name())
            for i in range(20)
        ]

        [
            app_factory.generate(seed) for app_factory in [
                news_factory, highlights_factory, wagtailpages_factory,
                buyersguide_factory, mozfest_factory
            ]
        ]

        print(self.style.SUCCESS('Done!'))
def generate(seed):
    participate_page = None

    try:
        participate_page = ParticipatePage2.objects.get(
            title='What you can do')
    except WagtailPage.DoesNotExist:
        print(
            'Participate page must exist. Ensure that ' +
            'networkapi.wagtailpages.factory.participage_page is executing first'
        )

    reseed(seed)

    print('Generating Participate Highlights')
    if participate_page is not None:
        featured_highlights = [HighlightFactory.create() for i in range(3)]
        participate_page.featured_highlights = [
            ParticipatePage2FeaturedHighlightsFactory.build(
                highlight=featured_highlights[i]) for i in range(3)
        ]
        featured_highlights2 = [HighlightFactory.create() for i in range(6)]
        participate_page.featured_highlights2 = [
            ParticipatePage2FeaturedHighlights2Factory.build(
                highlight=featured_highlights2[i]) for i in range(6)
        ]
        participate_page.save()
def generate(seed):
    reseed(seed)

    print('Generating PNI Homepage')
    pni_homepage = BuyersGuidePageFactory.create(
        parent=Homepage.objects.first(),
        title='* Privacy not included',
        slug='privacynotincluded',
        header='Be Smart. Shop Safe.',
        intro_text=
        ('How creepy is that smart speaker, that fitness tracker'
         ', those wireless headphones? We created this guide to help you shop for safe'
         ', secure connected products.'),
    )

    print('Generating visual regression test products')
    create_general_product_visual_regression_product(seed, pni_homepage)
    create_software_product_visual_regression_product(seed, pni_homepage)

    print('Generating 52 ProductPages')
    for i in range(26):
        # General products
        general_page = GeneralProductPageFactory.create(parent=pni_homepage, )
        fake_privacy_policy = ProductPagePrivacyPolicyLinkFactory(
            page=general_page)
        general_page.privacy_policy_links.add(fake_privacy_policy)
        general_page.save_revision().publish()

        # Software products
        software_page = SoftwareProductPageFactory.create(
            parent=pni_homepage, )
        software_page.save_revision().publish()
        fake_privacy_policy = ProductPagePrivacyPolicyLinkFactory(
            page=software_page)
        software_page.privacy_policy_links.add(fake_privacy_policy)
        software_page.save_revision().publish()

    print('Crosslinking related products')
    product_pages = ProductPage.objects.all()
    total_product_pages = product_pages.count()
    for product_page in product_pages:
        # Create a new orderable 3 times.
        # Each page will be randomly selected from an existing factory page.
        for i in range(3):
            random_number = randint(1, total_product_pages) - 1
            random_page = product_pages[random_number]
            related_product = RelatedProducts(
                page=product_page,
                related_product=random_page,
            )
            related_product.save()
            product_page.related_product_pages.add(related_product)

    reseed(seed)

    print('Generating Buyer\'s Guide product updates')
    generate_fake_data(ProductUpdateFactory, 15)

    # TODO: link updates into products
    """
def generate(seed):
    print('Generating Homepage Focus Areas and Spotlights')

    home_page = get_homepage()

    reseed(seed)

    # These are "guaranteed" to exist as they are created as
    # part of the wagtailpages migrations:
    HomepageFocusAreas.objects.create(
        page=home_page, area=FocusArea.objects.get(name='Empower Action'))

    HomepageFocusAreas.objects.create(
        page=home_page, area=FocusArea.objects.get(name='Connect Leaders'))

    HomepageFocusAreas.objects.create(
        page=home_page,
        area=FocusArea.objects.get(name='Investigate & Research'))

    NUM_SPOTLIGHT_POSTS = 3

    all_blogs = list(BlogPage.objects.all())

    home_page.spotlight_posts = [
        HomepageSpotlightPosts.objects.create(page=home_page,
                                              blog=choice(all_blogs))
        for i in range(NUM_SPOTLIGHT_POSTS)
    ]

    home_page.save()
def generate(seed):
    home_page = get_homepage()
    reseed(seed)

    try:
        WagtailPage.objects.get(title='participate')
        print('participate page exists')
    except WagtailPage.DoesNotExist:
        print('Generating an empty Participate Page')
        ParticipatePage2Factory.create(parent=home_page)
def generate(seed):
    home_page = get_homepage()
    reseed(seed)

    try:
        WagtailPage.objects.get(title='news')
        print('news page exists')
    except WagtailPage.DoesNotExist:
        print('Generating an empty News Page')
        NewsPageFactory.create(parent=home_page, show_in_menus=False)
def generate(seed):
    home_page = get_homepage()
    reseed(seed)

    try:
        WagtailPage.objects.get(title='initiatives')
        print('initiatives page exists')
    except WagtailPage.DoesNotExist:
        print('Generating an empty Initiatives Page')
        InitiativesPageFactory.create(parent=home_page)
Esempio n. 9
0
def generate(seed):
    home_page = get_homepage()
    reseed(seed)

    try:
        WagtailPage.objects.get(title='style-guide')
        print('styleguide page exists')
    except WagtailPage.DoesNotExist:
        print('Generating a Styleguide Page')
        StyleguideFactory.create(parent=home_page)
Esempio n. 10
0
def generate(seed):
    reseed(seed)

    print('Generating PNI Homepage')
    pni_homepage = BuyersGuidePageFactory.create(
        parent=Homepage.objects.first(),
        title='* Privacy not included',
        slug='privacynotincluded',
    )

    print('Generating visual regression test products')
    create_general_product_visual_regression_product(seed, pni_homepage)
    create_software_product_visual_regression_product(seed, pni_homepage)

    print('Generating 52 ProductPages')
    for i in range(26):
        # General products
        general_page = GeneralProductPageFactory.create(parent=pni_homepage,)
        fake_privacy_policy = ProductPagePrivacyPolicyLinkFactory(page=general_page)
        general_page.privacy_policy_links.add(fake_privacy_policy)
        general_page.save_revision().publish()

        # Software products
        software_page = SoftwareProductPageFactory.create(parent=pni_homepage,)
        software_page.save_revision().publish()
        fake_privacy_policy = ProductPagePrivacyPolicyLinkFactory(page=software_page)
        software_page.privacy_policy_links.add(fake_privacy_policy)
        software_page.save_revision().publish()

    print('Crosslinking related products')
    product_pages = ProductPage.objects.all()
    total_product_pages = product_pages.count()
    for product_page in product_pages:
        # Create a new orderable 3 times.
        # Each page will be randomly selected from an existing factory page.
        for i in range(3):
            random_number = randint(1, total_product_pages) - 1
            random_page = product_pages[random_number]
            related_product = RelatedProducts(
                page=product_page,
                related_product=random_page,
            )
            related_product.save()
            product_page.related_product_pages.add(related_product)

    reseed(seed)

    print('Generating Buyer\'s Guide product updates')
    generate_fake_data(ProductUpdateFactory, 15)

    # TODO: link updates into products

    """
Esempio n. 11
0
def generate(seed):
    reseed(seed)
    home_page = get_homepage()

    try:
        opportunity_namespace = WagtailPage.objects.get(title='opportunity')
        print('opportunity namespace exists')
    except WagtailPage.DoesNotExist:
        print('Generating an opportunity namespace')
        opportunity_namespace = MiniSiteNamespaceFactory.create(
            parent=home_page, title='opportunity', live=False)

    reseed(seed)

    print('Generating Opportunity Pages under namespace')
    [
        OpportunityPageFactory.create(parent=opportunity_namespace)
        for i in range(5)
    ]

    reseed(seed)

    try:
        OpportunityPage.objects.get(title='Global Sprint')
        print('Global Sprint OpportunityPage exists')
    except OpportunityPage.DoesNotExist:
        print('Generating Global Sprint OpportunityPage')
        OpportunityPageFactory.create(parent=opportunity_namespace,
                                      title='Global Sprint')

    reseed(seed)

    try:
        OpportunityPage.objects.get(title='single-page')
        print('single-page OpportunityPage exists')
    except OpportunityPage.DoesNotExist:
        print('Generating single-page OpportunityPage')
        OpportunityPageFactory.create(parent=opportunity_namespace,
                                      title='single-page')

    reseed(seed)

    try:
        OpportunityPage.objects.get(title='multi-page')
        print('multi-page OpportunityPage exists')
    except OpportunityPage.DoesNotExist:
        print('Generating multi-page OpportunityPage')
        multi_page_opportunity = OpportunityPageFactory(
            parent=opportunity_namespace, title='multi-page')
        [
            OpportunityPageFactory(parent=multi_page_opportunity)
            for k in range(3)
        ]
def generate(seed):
    print('Generating Homepage Cause Statement Link')

    home_page = get_homepage()

    reseed(seed)

    home_page.cause_statement_link_text = faker.text(max_nb_chars=80)

    all_children = list(home_page.get_descendants())

    home_page.cause_statement_link_page = choice(all_children)
    home_page.save()
Esempio n. 13
0
def generate(seed):
    print('Generating Homepage Blogs and Highlights')

    home_page = get_homepage()

    reseed(seed)

    home_page.news_you_can_use = [
        HomepageNewsYouCanUseFactory.build(blog=BlogPage.objects.all()[i])
        for i in range(4)
    ]

    home_page.save()
def generate(seed):
    reseed(seed)

    print('Generating blank Homepage')
    try:
        home_page = get_homepage()
        print('Homepage already exists')
    except Homepage.DoesNotExist:
        print('Generating a Homepage')
        site_root = WagtailPage.objects.get(id=1)
        home_page = WagtailHomepageFactory.create(parent=site_root,
                                                  title='Homepage',
                                                  slug=None,
                                                  hero_image__file__width=1080,
                                                  hero_image__file__height=720)

    reseed(seed)

    try:
        default_site = WagtailSite.objects.get(is_default_site=True)
        default_site.root_page = home_page
        if settings.HEROKU_APP_NAME:
            hostname = REVIEW_APP_HOSTNAME
            port = 80
        else:
            hostname = 'localhost'
            port = 8000
        default_site.hostname = hostname
        default_site.port = port
        default_site.save()
        print('Updated the default Site')
    except WagtailSite.DoesNotExist:
        print('Generating a default Site')
        if settings.HEROKU_APP_NAME:
            hostname = REVIEW_APP_HOSTNAME
            port = 80
        else:
            hostname = 'localhost'
            port = 8000
        WagtailSite.objects.create(hostname=hostname,
                                   port=port,
                                   root_page=home_page,
                                   site_name='Foundation Home Page',
                                   is_default_site=True)

    reseed(seed)

    try:
        about_page = WagtailPage.objects.get(title='Who we are')
        print('about page exists')
    except WagtailPage.DoesNotExist:
        print('Generating an about Page (PrimaryPage)')
        about_page = PrimaryPageFactory.create(parent=home_page,
                                               title='Who we are')

    reseed(seed)

    print('Generating child pages for about page')
    [PrimaryPageFactory.create(parent=about_page) for i in range(5)]
Esempio n. 15
0
    def handle(self, *args, **options):

        if options['delete']:
            call_command('flush_models')

        faker = factory.faker.Faker._get_faker(locale='en-US')

        # Seed Faker with the provided seed value or a pseudorandom int between 0 and five million
        if options['seed']:
            seed = options['seed']
        elif settings.RANDOM_SEED is not None:
            seed = settings.RANDOM_SEED
        else:
            seed = random.randint(0, 5000000)

        print(f'Seeding random numbers with: {seed}')

        reseed(seed)

        print('Generating Images')
        images = [
            ImageFactory.create(file__width=1080,
                                file__height=720,
                                file__color=faker.safe_color_name())
            for i in range(20)
        ]
        social_share_tag, created = Tag.objects.get_or_create(
            name='social share image')
        images[0].tags.add(social_share_tag)

        # Create one PNI product for every image we have in our media folder
        product_images = [
            'babymonitor.jpg', 'drone.jpg', 'nest.jpg', 'teddy.jpg', 'echo.jpg'
        ]

        for image in product_images:
            image_path = abspath(
                join(dirname(__file__),
                     f'../../../media/images/placeholders/products/{image}'))
            create_wagtail_image(image_path, collection_name='pni products')

        [
            app_factory.generate(seed) for app_factory in [
                news_factory, highlights_factory, wagtailpages_factory,
                buyersguide_factory, mozfest_factory
            ]
        ]

        print(self.style.SUCCESS('Done!'))
Esempio n. 16
0
def generate(seed):
    reseed(seed)

    print('Generating Mozfest Homepage')
    try:
        home_page = MozfestHomepage.objects.get(title='Mozilla Festival')
        print('Homepage already exists')
    except MozfestHomepage.DoesNotExist:
        print('Generating a Homepage')
        # If this is a review app, make the root of the mozfest site a child of the main site
        if is_review_app:
            site_root = WagtailPage.objects.get(title='Homepage')
        else:
            site_root = WagtailPage.objects.get(id=1)

        home_page = MozfestHomepageFactory.create(
            parent=site_root,
            title='Mozilla Festival',
            slug=None
        )

    reseed(seed)

    if not is_review_app:
        print('Creating MozFest Site record in Wagtail')
        tds = settings.TARGET_DOMAINS
        if tds and len(tds) > 1:
            # Assume that tds[0] is the main mofo domain, and tds[1] is the Mozfest domain
            hostname = tds[1]
            port = 80
        else:
            # use a localhost domain (must be set in /etc/hosts)
            hostname = 'mozfest.localhost'
            port = 8000

        WagtailSite.objects.create(
            hostname=hostname,
            port=port,
            root_page=home_page,
            site_name='Mozilla Festival',
            is_default_site=False
        )

    print('Generating Mozfest sub-pages')
    [MozfestPrimaryPageFactory.create(
        parent=home_page,
        title=title
    ) for title in ['Spaces', 'Tickets', 'Team', 'Sponsors']]
Esempio n. 17
0
def generate(seed):
    reseed(seed)
    home_page = get_homepage()

    try:
        blog_namespace = WagtailPage.objects.get(title='Blog')
        print('blog namespace exists')
    except WagtailPage.DoesNotExist:
        print('Generating a blog namespace')
        blog_namespace = BlogIndexPageFactory.create(parent=home_page,
                                                     title='Blog',
                                                     header='Blog',
                                                     show_in_menus=True,
                                                     live=True)

    print('Generating blog posts under namespace')
    title = 'Initial test blog post with fixed title'
    post = None

    try:
        post = BlogPage.objects.get(title=title)
    except BlogPage.DoesNotExist:
        post = BlogPageFactory.create(parent=blog_namespace, title=title)

    add_tags(post)
    add_category(post)
    add_authors(post)

    for i in range(6):
        title = Faker('sentence', nb_words=6, variable_nb_words=False)
        post = None

        try:
            post = BlogPage.objects.get(title=title)
        except BlogPage.DoesNotExist:
            post = BlogPageFactory.create(parent=blog_namespace, title=title)

        add_tags(post)
        add_category(post)
        add_authors(post)

    for post in BlogPage.objects.all():
        post.ensure_related_posts()
        post.save()
def generate(seed):
    print('Generating Partner Logos')

    home_page = get_homepage()

    reseed(seed)

    all_images = list(Image.objects.all())

    for i in range(3):
        partner_logo_orderable = PartnerLogos.objects.create(
            page=home_page,
            logo=choice(all_images),
            link=Faker('url').generate(),
            name=Faker('text', max_nb_chars=30).generate(),
        )
        home_page.partner_logos.add(partner_logo_orderable)

    home_page.save()
Esempio n. 19
0
def generate(seed):
    reseed(seed)
    home_page = get_homepage()

    try:
        blog_namespace = WagtailPage.objects.get(title='blog')
        print('blog namespace exists')
    except WagtailPage.DoesNotExist:
        print('Generating a blog namespace')
        blog_namespace = MiniSiteNamespaceFactory.create(parent=home_page,
                                                         title='blog',
                                                         live=False)

    try:
        BlogPage.objects.get(title='post')
        print('a post page (BlogPage) exists')
    except BlogPage.DoesNotExist:
        print('Generating a post page (BlogPage) under namespace')
        BlogPageFactory.create(parent=blog_namespace, title='post')
Esempio n. 20
0
def generate(seed):
    reseed(seed)
    home_page = get_homepage()

    try:
        blog_namespace = WagtailPage.objects.get(title='Blog')
        print('blog namespace exists')
    except WagtailPage.DoesNotExist:
        print('Generating a blog namespace')
        blog_namespace = BlogIndexPageFactory.create(parent=home_page,
                                                     title='Blog',
                                                     header='Blog',
                                                     live=True)

    print('Generating Blog Authors')
    generate_fake_data(BlogAuthorFactory, NUM_BLOG_AUTHORS)

    print('Generating blog posts under namespace')
    title = 'Initial test blog post with fixed title'
    post = None

    try:
        post = BlogPage.objects.get(title=title)
    except BlogPage.DoesNotExist:
        post = BlogPageFactory.create(parent=blog_namespace, title=title)

    add_tags(post)
    add_category(post)
    add_authors(post)

    for i in range(6):
        title = Faker('sentence', nb_words=6, variable_nb_words=False)
        post = None

        try:
            post = BlogPage.objects.get(title=title)
        except BlogPage.DoesNotExist:
            post = BlogPageFactory.create(parent=blog_namespace, title=title)

        add_tags(post)
        add_category(post)
        add_authors(post)
def generate(seed):
    print('Generating Homepage Take Actions')

    home_page = get_homepage()

    reseed(seed)

    all_images = list(Image.objects.all())
    all_pages = list(Page.objects.all())

    for i in range(4):
        take_action_orderable = HomepageTakeActionCards.objects.create(
            page=home_page,
            image=choice(all_images),
            text=faker.text(max_nb_chars=255),
            internal_link=choice(all_pages),
        )
        home_page.take_action_cards.add(take_action_orderable)

    home_page.save()
def generate(seed):
    print('Generating Homepage Highlights and News')

    home_page = get_homepage()

    reseed(seed)

    featured_highlights = [HighlightFactory.create() for i in range(6)]
    featured_news = [NewsFactory.create() for i in range(6)]

    home_page.featured_highlights = [
        HomepageFeaturedHighlightsFactory.build(
            highlight=featured_highlights[i]) for i in range(6)
    ]
    home_page.featured_news = [
        HomepageFeaturedNewsFactory.build(news=featured_news[i])
        for i in range(6)
    ]

    home_page.save()
Esempio n. 23
0
def generate(seed):
    home_page = get_homepage()
    reseed(seed)

    try:
        campaign_index_page = WagtailPage.objects.get(title='campaigns')
        print('campaign index page exists')
    except WagtailPage.DoesNotExist:
        print('Generating a campaign index page')
        campaign_index_page = CampaignIndexPageFactory.create(
            parent=home_page,
            title='campaigns',
            live=True
        )

    reseed(seed)

    print('Generating Bannered Campaign Pages under namespace')
    title = 'Initial test Bannered Campaign with fixed title'
    post = None

    try:
        post = BanneredCampaignPage.objects.get(title=title)
    except BanneredCampaignPage.DoesNotExist:
        post = BanneredCampaignPageFactory.create(parent=campaign_index_page, title=title)

    add_tags(post)

    for i in range(6):
        title = Faker('sentence', nb_words=6, variable_nb_words=False)
        post = None

        try:
            post = BanneredCampaignPage.objects.get(title=title)
        except BanneredCampaignPage.DoesNotExist:
            post = BanneredCampaignPageFactory.create(parent=campaign_index_page, title=title)

        add_tags(post)

    for post in BanneredCampaignPage.objects.all():
        post.save()
Esempio n. 24
0
def create_software_product_visual_regression_product(seed, pni_homepage):
    reseed(seed)
    SoftwareProductPageFactory.create(
        # page fields
        title='Software Percy Product',
        first_published_at=datetime(2025, 1, 1, tzinfo=timezone.utc),
        last_published_at=datetime(2025, 1, 1, tzinfo=timezone.utc),
        parent=pni_homepage,
        # product fields
        privacy_ding=True,
        adult_content=True,
        uses_wifi=True,
        uses_bluetooth=True,
        review_date=date(2025, 1, 1),
        company='Percy Corp',
        blurb='This is a general product specifically created for visual regression testing',
        product_url='http://example.com/general-percy',
        price=999,
        worst_case='Visual regression fails',
        # software product fields
    )
def generate(seed):
    print('Generating Homepage Blogs and Highlights')

    home_page = get_homepage()

    reseed(seed)

    NUM_BLOGS = 4
    NUM_HIGHLIGHTS = 5

    home_page.featured_blogs = [
        HomepageFeaturedBlogsFactory.build(blog=BlogPage.objects.all()[i])
        for i in range(NUM_BLOGS)
    ]

    home_page.featured_highlights = [
        HomepageFeaturedHighlightsFactory.build(
            highlight=HighlightFactory.create()) for i in range(NUM_HIGHLIGHTS)
    ]

    home_page.save()
def generate(seed):
    home_page = get_homepage()
    reseed(seed)

    try:
        campaign_index_page = WagtailPage.objects.get(title='campaigns')
        print('campaign index page exists')
    except WagtailPage.DoesNotExist:
        print('Generating a campaign index page')
        campaign_index_page = CampaignIndexPageFactory.create(
            parent=home_page, title='campaigns', live=True)

    reseed(seed)

    title = 'YouTube Regrets'

    try:
        YoutubeRegretsPage.objects.get(title=title)
        print('YouTube Regrets page exists')
    except YoutubeRegretsPage.DoesNotExist:
        print('Generating YouTube Regrets Page under campaigns namespace')
        YoutubeRegretsPageFactory.create(parent=campaign_index_page,
                                         title=title)

    reseed(seed)
def generate(seed):
    home_page = get_homepage()
    reseed(seed)

    try:
        bannered_campaign_namespace = WagtailPage.objects.get(
            title='campaigns')
        print('Campaigns namespace exists')
    except WagtailPage.DoesNotExist:
        print('Generating campaigns namespace')
        bannered_campaign_namespace = MiniSiteNamespaceFactory.create(
            parent=home_page, title='campaigns', live=False)

    reseed(seed)

    print('Generating Bannered Campaign Pages under namespace')
    title = 'Initial test Bannered Campaign with fixed title'
    post = None

    try:
        post = BanneredCampaignPage.objects.get(title=title)
    except BanneredCampaignPage.DoesNotExist:
        post = BanneredCampaignPageFactory.create(
            parent=bannered_campaign_namespace, title=title)

    add_tags(post)

    for i in range(6):
        title = Faker('sentence', nb_words=6, variable_nb_words=False)
        post = None

        try:
            post = BanneredCampaignPage.objects.get(title=title)
        except BanneredCampaignPage.DoesNotExist:
            post = BanneredCampaignPageFactory.create(
                parent=bannered_campaign_namespace, title=title)

        add_tags(post)
def generate(seed):
    home_page = get_homepage()
    reseed(seed)

    try:
        initiatives_page = WagtailPage.objects.get(title='initiatives')
        print('initiatives page exists')
    except WagtailPage.DoesNotExist:
        print('Generating an empty Initiatives Page')
        initiatives_page = InitiativesPageFactory.create(parent=home_page)

    reseed(seed)

    print('Generating Opportunity Pages as child pages of an Initiative Page')
    [OpportunityPageFactory.create(parent=initiatives_page) for i in range(3)]

    reseed(seed)

    try:
        OpportunityPage.objects.get(title='single-page-opportunity')
        print('single-page OpportunityPage exists')
    except OpportunityPage.DoesNotExist:
        print('Generating single-page OpportunityPage')
        OpportunityPageFactory.create(parent=initiatives_page,
                                      title='single-page-opportunity')

    reseed(seed)

    try:
        OpportunityPage.objects.get(title='multi-page-opportunity')
        print('multi-page OpportunityPage exists')
    except OpportunityPage.DoesNotExist:
        print('Generating multi-page OpportunityPage')
        multi_page_opportunity = OpportunityPageFactory(
            parent=initiatives_page, title='multi-page-opportunity')
        [
            OpportunityPageFactory(parent=multi_page_opportunity)
            for k in range(3)
        ]
Esempio n. 29
0
def generate(seed):
    home_page = get_homepage()
    reseed(seed)

    try:
        bannered_campaign_namespace = WagtailPage.objects.get(
            title='campaigns')
        print('Campaigns namespace exists')
    except WagtailPage.DoesNotExist:
        print('Generating campaigns namespace')
        bannered_campaign_namespace = MiniSiteNamespaceFactory.create(
            parent=home_page, title='campaigns', live=False)

    reseed(seed)

    print('Generating Bannered Campaign Pages under namespace')
    BanneredCampaignPageFactory.create(parent=bannered_campaign_namespace,
                                       title="Test Bannered Campaign")

    reseed(seed)
def generate(seed):
    reseed(seed)

    print('Generating Highlights')
    generate_fake_data(HighlightFactory, 10)