lpads/locadslib.py
2020-11-04 20:18:01 +07:00

62 lines
2.4 KiB
Python

'''
Library for parsing GMaps Location ads
'''
MAPAD_ADLIST = 0
MAPAD_ADMAPPLACE = MAPAD_ADLIST
MAPAD_ADNAME = 1
MAPAD_ADLOCATION = 2
MAPAD_ADLOCATION_PINLET = MAPAD_ADNAME
MAPAD_ADLOCATIONLAT = MAPAD_ADLOCATION
MAPAD_ADLOCATIONLNG = 3
MAPAD_ADDATA = MAPAD_ADLOCATIONLNG
MAPAD_ADDATA_IMAGE = MAPAD_ADLIST
MAPAD_ADDATA_LINK = 4
MAPAD_ADDATA_BASESITE = 5
MAPAD_ADDATA_PROMO = 7
MAPAD_ADLL = MAPAD_ADLIST
MAPAD_ADLINKS = MAPAD_ADDATA_LINK
MAPAD_ADCLICK = MAPAD_ADNAME
MAPAD_ADSITE = MAPAD_ADDATA_BASESITE
MAPAD_ADSITE_BASESITE = MAPAD_ADLL
MAPAD_ADSITE_WTA = MAPAD_ADNAME
MAPAD_ADSITE_WTAARRAY = MAPAD_ADLOCATIONLNG
class MapAds():
def __init__(self, mapad: list):
self.noads = False
self.mapads = None
listdata = mapad[MAPAD_ADLIST]
if listdata:
self.mapads = []
for ldata in listdata:
adplace = ldata[MAPAD_ADMAPPLACE]
adname = ldata[MAPAD_ADNAME]
adlocdata = (str(ldata[MAPAD_ADLOCATION][MAPAD_ADLL][MAPAD_ADLOCATIONLAT]), str(ldata[MAPAD_ADLOCATION][MAPAD_ADLL][MAPAD_ADLOCATIONLNG]))
adurllink = ldata[MAPAD_ADLINKS][MAPAD_ADCLICK]
adbasesite = ldata[MAPAD_ADSITE][MAPAD_ADSITE_BASESITE]
adwtap = ldata[MAPAD_ADSITE][MAPAD_ADSITE_WTA]
if len(ldata[MAPAD_ADLOCATION]) > 1:
adpinlet = ldata[MAPAD_ADLOCATION][MAPAD_ADLOCATION_PINLET]
else:
adpinlet = None
adwta = adwtap + ". "
adwtaterms = []
for ls in ldata[MAPAD_ADSITE][MAPAD_ADSITE_WTAARRAY]:
adwtaterms.append(ls[0])
adwta += " ".join(adwtaterms)
addata = None
if ldata[MAPAD_ADDATA]:
adimg = ldata[MAPAD_ADDATA][MAPAD_ADDATA_IMAGE]
adurllink = ldata[MAPAD_ADDATA][MAPAD_ADDATA_LINK]
adpromotxt = ldata[MAPAD_ADDATA][MAPAD_ADDATA_PROMO]
adpromolyr = {"promoTitle": adpromotxt[0], "promoDesc": adpromotxt[1], "promoButton": adpromotxt[2]}
addata = {"adImage": adimg, "adPromo": adpromolyr}
self.mapads.append({"adName":adname,"adPlace":adplace,"adLocation":", ".join(adlocdata),"adLink":adurllink,"adSite":adbasesite,"adWhy":adwta,"promoData":addata,"adPinImage":adpinlet})
else:
self.noads = True