<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">import dbm
import sys
import re
import os

RED='\033[1;31m'
RED_IT='\033[3;31m'
GREEN='\033[1;32m'
YELLOW='\033[1;33m'
YELLOW_IT='\033[3;33m'
NC='\033[0m'

currDir = os.path.abspath(os.path.dirname(__file__))
fileName = "mapfile_"

prodTypes = ["landing", "storyTelling"]

if len(sys.argv) != 4:
    print RED + '\nInvalid arguments!!!\n'
    print YELLOW + 'Use: python2 saveMap.py ' + RED_IT + '"&lt;prod_type&gt;" "&lt;short_url&gt;" "&lt;campaign_name&gt;"'
    print NC
    exit()

prodType = sys.argv[1].strip()

if prodType not in prodTypes:
    print RED + '\nInvalid arguments ' + RED_IT + '"&lt;prod_type&gt;"\n'
    print YELLOW + 'prodTypes: ' + RED_IT + '"' + '" - "'.join(prodTypes) + '"'
    print NC
    exit()

fileName = fileName + prodType

campName = sys.argv[2].strip()
cleanCampName = re.sub(r"[^a-zA-Z0-9_]","", campName)

if campName != cleanCampName:
    print RED + '\nInvalid arguments ' + RED_IT + '"&lt;short_url&gt;"\n'
    print NC
    exit()

campVal = sys.argv[3].strip()
cleanCampVal = re.sub(r"[^a-zA-Z0-9_]","", campVal)

if campVal != cleanCampVal:
    print RED + '\nInvalid arguments ' + RED_IT + '"&lt;campaign_name&gt;"\n'
    print NC
    exit()

db=dbm.open(currDir + "/" + fileName + ".map","c")

db[cleanCampName] = cleanCampVal
 
db.close()

print 'OK'

</pre></body></html>