pulseapi/utility/factories_utility.py (23 lines of code) (raw):

from random import choices, randint from faker.providers import BaseProvider # Used to return a random number of tags, issues or helptypes to associate with fake pulse entries or profile def get_random_items(model): items = model.objects.all() return choices(items, k=randint(0, len(items))) class ImageProvider(BaseProvider): """ A custom Faker Provider for relative image urls, for use with factory_boy >>> from factory import Faker >>> from pulseapi.utility.factories_utility import ImageProvider >>> fake - Faker() >>> Faker.add_provider(ImageProvider) """ base_path = 'images/placeholders/' generic_images = ( 'generic/tigerparrot.jpg', 'generic/photographer.jpg', 'generic/windfarm.jpg', 'generic/hotair.jpg', 'generic/computerandcoffee.jpg', ) headshot_images = ( 'people/woman.jpg', 'people/man.jpg', 'people/dino.jpg', ) def generic_image(self): """ returns a path to one of the predefined generic placeholder images """ return '{}{}'.format(self.base_path, self.random_element(self.generic_images)) def people_image(self): """ returns a path to one of the predefined people placeholder images """ return '{}{}'.format(self.base_path, self.random_element(self.headshot_images))