Skip to content

Utils

Here is a list of the static data of enums to be used. Thr idea is to keep all generated data uniformed across all projects.

Example

from visit_generator.utils import AccountDefaults

assert AccountDefaults.TOKEN.value == 'client1'

AccountDefaults

class AccountDefaults(Enum):
    TOKEN = "client1"

Pattern

class Pattern(IntEnum):
    '''
    Ids as built in DB using ansible/groupvars/mysql.yml
    '''
    DIRECT      = 1
    SEO         = 2
    PPC         = 3
    AFFILIATES  = 4
    DISPLAY     = 5
    EMAIL       = 6
    SHOPPING    = 7
    OTHER       = 8

ClientPage

class ClientPage(Enum):
    '''
    Generic paths to be used
    '''
    HOME            = 'https://www.client.com/'
    ABOUTUS         = 'https://www.client.com/about-us'
    SEARCH          = 'https://www.client.com/search-results'
    PRODUCTVIEW     = 'https://www.client.com/product'
    BASKET          = 'https://www.client.com/basket'
    CHECKOUT1       = 'https://www.client.com/checkout-step1'
    CHECKOUT2       = 'https://www.client.com/checkout-step2'
    CONFIRMATION    = 'https://www.client.com/confirmation'

ClientEvent

class ClientEvent(IntEnum):
    '''
    Ids as built in DB using ansible/groupvars/mysql.yml
    '''
    GENERICSALE         = 1
    ECOMMERECESALE      = 2
    SUBSCRIPTIONSALE    = 3
    PROPENSITYSALE      = 4
    SEOKEYWORDTOOLSALE  = 5
    HOMEPAGEVIEW        = 6
    PRODUCTVIEW         = 7
    ADDTOBASKET         = 8

ClientLabel

class ClientLabel(object):
    SOURCE_UNKNOWN           = 0
    SOURCE_PAGE              = 1
    SOURCE_EVENT_ITEM        = 2
    SOURCE_EVENT_ITEM_DETAIL = 3
    TYPE_INT      = 0
    TYPE_FLOAT    = 1
    TYPE_STRING   = 2
    TYPE_DATETIME = 3
    TYPE_BOOL     = 4       

LabelConfig

class LabelConfig(object):
    def __init__(self, name, value, label_type, created=None):
        self.name = name
        self.value = value
        self.created = created
        self.label_type = label_type

Product

class Product(IntEnum):
    '''
    Ids as built in DB using ansible/groupvars/mysql.yml
    '''
    GENERIC         = 1 
    ECOMMERECE      = 2
    SUBSCRIPTION    = 3
    PROPENSITY      = 4
    SEO_KEYWORD_TOOL= 5

VisitDefaults

class VisitDefaults(Enum):
    FIRST_VISIT     = arrow.utcnow().floor('day')
    LAST_VISIT      = arrow.utcnow().floor('day').shift(hours=12)

VisitDetailOS

class VisitDetailOS(Enum):
    WINDOWS         = "Windows"
    ANDROID         = "Android"
    IOS             = "iOS"
    LINUX           = "Linux"
    CHROME_OS       = "Chrome OS"
    FIREFOX_OS      = "Firefox OS"

VisitDetailBrowser

class VisitDetailBrowser(Enum):
    CHROME          = "Chrome"
    CHROME_MOBILE   = "Chrome Mobile"
    SAFARI          = "Safari"
    MOBILE_SAFARI   = "Mobile Safari"
    FIREFOX         = "Firefox"
    FIREFOX_MOBILE  = "Firefox Mobile"

VisitDetailCity

class VisitDetailCity(Enum):
    CARDIFF         = "Cardiff"
    EDINBURGH       = "Edinburgh"
    MANCHESTER      = "Manchester"
    LONDON          = "London"

VisitDetailCountry

class VisitDetailCountry(Enum):
    ENGLAND         = "England"
    WALES           = "Wales"
    SCOTLAND        = "Scotland"

VisitCountryISOCode

class VisitCountryISOCode(Enum):
    GREAT_BRITAIN = "GB"

VisitDetailContinent

class VisitDetailContinent(Enum):
    EUROPE          = "Europe"
    NORTH_AMERICA   = "North America"

VisitDetailContinentCode

class VisitDetailContinentCode(Enum):
    EUROPE        = "EU"
    NORTH_AMERICA = "NA"

VisitDetailsLatitude

class VisitDetailsLatitude(Enum):
    CARDIFF = 51.4816
    LONDON = 51.5074
    MANCHESTER = 53.4808

VisitDetailsLongitude

class VisitDetailsLongitude(Enum):
    CARDIFF = 3.1791
    LONDON = 0.1278 
    MANCHESTER =2.2426

UserAgents

All data taken from https://deviceatlas.com/blog/list-of-user-agent-strings

class UserAgents(Enum):

    SAMSUNG_GALAXY = 'Mozilla/5.0 (Linux; Android 8.0.0; SM-G960F Build/R16NW) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.84 Mobile Safari/537.36'
    SONY_EXPERIA = 'Mozilla/5.0 (Linux; Android 7.1.1; G8231 Build/41.2.A.0.219; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/59.0.3071.125 Mobile Safari/537.36'

    IPHONE_CHROME = 'Mozilla/5.0 (iPhone; CPU iPhone OS 12_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) CriOS/69.0.3497.105 Mobile/15E148 Safari/605.1'
    IPHONE_8 = 'Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.34 (KHTML, like Gecko) Version/11.0 Mobile/15A5341f Safari/604.1'

    MICROSOFT_LUMIA = 'Mozilla/5.0 (Windows Phone 10.0; Android 6.0.1; Microsoft; RM-1152) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.116 Mobile Safari/537.36 Edge/15.15254'

    SAMSUNG_GALAXY_TABLET = 'Mozilla/5.0 (Linux; Android 7.0; SM-T827R4 Build/NRD90M) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.116 Safari/537.36'
    AMAZON_KINDLE_FIRE = 'Mozilla/5.0 (Linux; Android 4.4.3; KFTHWI Build/KTU84M) AppleWebKit/537.36 (KHTML, like Gecko) Silk/47.1.79 like Chrome/47.0.2526.80 Safari/537.36'

    WIN10_EDGE = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.135 Safari/537.36 Edge/12.246'
    WIN10_CHROME = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.121 Safari/537.36'

    WIN7_CHROME = 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.111 Safari/537.36'

    CHROMEBOOK_CHROME = 'Mozilla/5.0 (X11; CrOS x86_64 8172.45.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.64 Safari/537.36'
    MACOSX_SAFARI = 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_2) AppleWebKit/601.3.9 (KHTML, like Gecko) Version/9.0.2 Safari/601.3.9'
    MACOSX_FIREFOX = 'Mozilla/5.0 (Macintosh; Intel Mac OS X 11.6; rv:92.0) Gecko/20100101 Firefox/92.0'
    MACOSX_CHROME = 'Mozilla/5.0 (Macintosh; Intel Mac OS X 11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/93.0.4577.82 Safari/537.36'
    LINUX_FIREFOX = 'Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:15.0) Gecko/20100101 Firefox/15.0.1'

Adwords

class Adwords(Enum):
    CLIENT_CUSTOMER_ID = '123456'

    CAMPAIGN = 'Generic - The Thing'
    ADGROUP  = 'Generic - Sub Thing'
    KEYWORD  = 'lots of things'

    CAMPAIGN_ID = '987654321'
    ADGROUP_ID  = '88664422'
    KEYWORD_ID  = '5967881'