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'