import requests # learn more: https://python.org/pypi/requests
import json
import re
from lxml import html, etree
from urllib.parse import urlparse
from time import sleep

def clean_price(price) :
	price = price.strip()
	price = price.replace("Spedizione gratuita da", "")
	price = price.replace("Spedizioni gratuite per ordini superiori a ", "")
	price = price.replace("Spedizione gratuita per ordini superiori a ", "")
	price = price.replace("SPEDIZIONE GRATIS OLTRE I ", "")
	price = price.replace("€ ","")
	price = price.replace("€","")
	price = price.replace(",",".")
	price = price.strip()
	return price
	
def get_shipping(itemRemoteHtml, htmlXpath, htmlRegex = None, listIndex = 0) :
	itemRemoteFreeShipping = False
	itemRemoteTagFreeShipping = itemRemoteHtml.xpath( htmlXpath )
	print(itemRemoteTagFreeShipping)
	if len(itemRemoteTagFreeShipping) > 0 :
		itemRemoteFreeShipping = itemRemoteTagFreeShipping[listIndex]
		if htmlRegex is not None:
			itemRemoteFreeShipping = re.findall( htmlRegex, itemRemoteFreeShipping)[0]
		itemRemoteFreeShipping = clean_price(itemRemoteFreeShipping)
		
	return itemRemoteFreeShipping

#suppress warnings
from requests.packages.urllib3.exceptions import InsecureRequestWarning
requests.packages.urllib3.disable_warnings(InsecureRequestWarning)

#urls
urlApiGetList = "https://shop1.yesweweb.com/beauty/api/data/shops/details"
urlApiPut = "https://shop1.yesweweb.com/beauty/api/fixes/update-freeshipping"

itemsList = requests.get(urlApiGetList, verify=False)
#print(itemsList.status_code, itemsList.reason)

items = itemsList.json()
for slug, item in items['data'].items() :
	#print(item)
	
	itemId = item['source_id'];
	if len(item['details']) < 1 :
		continue
	if len(item['details']['url']) < 1 :
		continue
	itemUrl = item['details']['url']
	itemDomain = urlparse(itemUrl).netloc
	print('> ID: ' +itemId + '|Site: ' + itemDomain)


	#@to remove - debug avoid calls 
	#if itemId in ['80','77','65','68','38','64','37','61','60','67','24','59','63','43','57','56','36','73','47','49','66','50','34','54','72','33','58','32','71','20','52','40','22','23','25','26','51','53','19','31','28','62','44','41','42','29','45','69','70'] :
	
	## exclude some(?)
	#if itemId in ['26','72','24'] : #to keep
	#	continue
		
	## limit for test once
	if itemId not in ['120'] :
		continue
	#@to remove - debug avoid calls 

	
	itemRemote = requests.get(itemUrl)
	#print(itemRemote.status_code, itemRemote.reason)
	
	if itemRemote.status_code == 200 :
		#print(itemRemote)
		
		itemRemoteHtml = html.fromstring(itemRemote.content)
		#print(itemRemoteHtml)
		
		itemRemoteFreeShipping = False

		if "1000farmacie" in itemDomain : #76
			#not defined, it's an aggregator
			continue

		elif "3cfarma.it" in itemDomain : #90
			itemRemoteFreeShipping = get_shipping(itemRemoteHtml, '//div[@class="top-info-stripe"]/a/text()', "[0-9,\.]{4,5}")
		
		elif "afrodite-profumeriaweb.it" in itemDomain : #114
			itemRemoteFreeShipping = get_shipping(itemRemoteHtml, '(//*[contains(text(),"SPEDIZIONE GRATUITA PER ORDINI SUPERIORI A")]/text())[1]', "[0-9,\.]{2,3}")

		elif "alimentianimalionline.it" in itemDomain : #2 petshopstore
			itemRemoteFreeShipping = get_shipping(itemRemoteHtml, '//*[contains(text(),"Spedizioni gratuite da")]/text()', "[0-9,\.]{4,5}")

		elif "bontempoprofumi.it" in itemDomain : #125
			itemRemoteFreeShipping = get_shipping(itemRemoteHtml, '(//*[contains(text(),"Spedizione gratuita per ordini superiori")]/text())[1]', "[0-9,\.]{2,3}")
		
		elif "cipiacebio.it" in itemDomain : #116
			itemRemoteFreeShipping = get_shipping(itemRemoteHtml, '(//*[contains(text(),"OFFERTA Spedizione gratuita ")]/text())[1]', "[0-9,\.]{2,5}")

		elif "clubfarma.it" in itemDomain : #18
			itemRemoteFreeShipping = get_shipping(itemRemoteHtml, '(//img[@alt="free-delivery-condition"]/parent::span/text())[2]', "[0-9,\.]{4,5}")
		
		elif "croci.net" in itemDomain : #5
			itemRemoteFreeShipping = get_shipping(itemRemoteHtml, '//*[@id="announcement-bar"]/p[2]/text()', "[0-9,\.]{4,5}")

		elif "detommasis" in itemDomain : #44
			itemRemoteTagFreeShipping = itemRemoteHtml.xpath('//div[contains(@class,"headertop")]/a/text()')
			if len(itemRemoteTagFreeShipping) > 0 :
				itemRemoteFreeShipping = itemRemoteTagFreeShipping[0]
				itemRemoteFreeShipping = re.findall("[0-9,\.]{4,5}", itemRemoteFreeShipping)[0]
				itemRemoteFreeShipping = clean_price(itemRemoteFreeShipping)

		elif "dogheroes" in itemDomain : #111
			#unknown
			continue

		elif "dottorconvenienza.it" in itemDomain :
			itemRemoteTagFreeShipping = itemRemoteHtml.xpath('//div[@class="header-shipping-note"]/a/strong[2]/text()')
			if len(itemRemoteTagFreeShipping) > 0 :
				itemRemoteFreeShipping = itemRemoteTagFreeShipping[0]
				itemRemoteFreeShipping = clean_price(itemRemoteFreeShipping)

		elif "drmax.it" in itemDomain : #40
			#@todo protection?
			itemRemoteFreeShipping = get_shipping(itemRemoteHtml, '//p[@class="sub-text"]/text()', "[0-9,\.]{4,5}")

		elif "e-medical.it" in itemDomain : #24
			itemRemoteFreeShipping = get_shipping(itemRemoteHtml, '//*[contains(text(),"Spedizione gratuita per ordini superiori")]/text()', "[0-9,\.]{4,5}")

		elif "econviene.it" in itemDomain : #22
			itemRemoteFreeShipping = get_shipping(itemRemoteHtml, '(//div[@class="free_shipping"]/p/text())[2]', "[0-9,\.]{4,5}")

		elif "effeverde.it" in itemDomain : #23
			itemRemoteTagFreeShipping = itemRemoteHtml.xpath('//div[contains(@class,"top-message")]/p/strong[2]/text()')
			if len(itemRemoteTagFreeShipping) > 0 :
				itemRemoteFreeShipping = itemRemoteTagFreeShipping[0]
				itemRemoteFreeShipping = clean_price(itemRemoteFreeShipping)

		elif "epharmacy.it" in itemDomain : #25
			itemRemoteFreeShipping = get_shipping(itemRemoteHtml, '//*[contains(text(), "spedizione gratuita per ordini")]/text()', "[0-9,\.]{4,5}")
		
		elif "eshopfarmaciabodini" in itemDomain :
			itemRemoteTagFreeShipping = itemRemoteHtml.xpath('//div[contains(@class,"preheader_first_block")]/div[@class="row"]/div[3]/span[last()]/text()')
			if len(itemRemoteTagFreeShipping) > 0 :
				itemRemoteFreeShipping = itemRemoteTagFreeShipping[0]
				itemRemoteFreeShipping = clean_price(itemRemoteFreeShipping)
		
		elif "erbecedario.it" in itemDomain : #26
			#@todo protected?	itemRemoteFreeShipping = get_shipping(itemRemoteHtml, '//*[contains(text(), "24/48 ore GRATIS oltre")]/text()', "[0-9,\.]{2,3}")
			itemRemoteFreeShipping = 60

		elif "eurofarmacia.it" in itemDomain : #92
			#@todo should parse content at https://eurofarmacia.it/spedizioni-e-consegne
			continue

		elif "farmabe.it" in itemDomain : #51
				itemRemoteFreeShipping = get_shipping(itemRemoteHtml, '(//a[@class="link-sped-gratuita"]/text())', "[0-9,\.]{4,5}")

		elif "farmacart.it" in itemDomain : #53
			itemRemoteTagFreeShipping = itemRemoteHtml.xpath('//div[@id="top-info"]/span[@class="desk"]/a/text()')
			if len(itemRemoteTagFreeShipping) > 0 :
				itemRemoteFreeShipping = itemRemoteTagFreeShipping[0]
				itemRemoteFreeShipping = clean_price(itemRemoteFreeShipping)

		elif "farmaciaammirati.it" in itemDomain :
			itemRemoteFreeShipping = 50

		elif "farmaciabagheria.it" in itemDomain : #101
			itemRemoteFreeShipping = get_shipping(itemRemoteHtml, '(//span[@id="toPut"]/strong[2]/text())', "[0-9,\.]{4,5}")
		
		elif "farmaciabolli1833.it" in itemDomain : #86
			itemRemoteFreeShipping = get_shipping(itemRemoteHtml, '(//div[@class="header-details"]/div[@class="header-detail"][1]/div[@class="header-detail-content"]/span/text())', "[0-9,\.€]{3,6}")

		elif "farmaciacassandro.it" in itemDomain : #99
			itemRemoteFreeShipping = get_shipping(itemRemoteHtml, '(//div[@id="top-info"]/div[@class="container"]/a/text())', "[0-9,\.]{4,5}")
		
		elif "farmaciacasteldelmonte" in itemDomain :
			print("qui")
			itemRemoteTagFreeShipping = itemRemoteHtml.xpath('//div[@id="iqithtmlandbanners-block-2"]/div/p/text()')
			print(itemRemoteTagFreeShipping)
			if len(itemRemoteTagFreeShipping) > 0 :
				itemRemoteFreeShipping = itemRemoteTagFreeShipping[0]
				itemRemoteFreeShipping = re.findall("[0-9,\.]{4,5}", itemRemoteFreeShipping)[0]
				itemRemoteFreeShipping = clean_price(itemRemoteFreeShipping)

		elif "farmaciacavalieri" in itemDomain : #28
			itemRemoteTagFreeShipping = itemRemoteHtml.xpath('//div[@class="menu-l"]/ul/li[2]/a/text()')
			if len(itemRemoteTagFreeShipping) > 0 :
				itemRemoteFreeShipping = itemRemoteTagFreeShipping[0]
				itemRemoteFreeShipping = re.findall("[0-9,\.]{4,5}", itemRemoteFreeShipping)[0]
				itemRemoteFreeShipping = clean_price(itemRemoteFreeShipping)
		
		elif "farmaciacicchelli.it" in itemDomain :
			itemRemoteTagFreeShipping = itemRemoteHtml.xpath('//div[contains(@class,"top-shipping-text")]/p/text()')
			if len(itemRemoteTagFreeShipping) > 0 :
				itemRemoteFreeShipping = itemRemoteTagFreeShipping[0]
				itemRemoteFreeShipping = re.findall("[0-9,\.]{2,5}", itemRemoteFreeShipping)[0]
				itemRemoteFreeShipping = clean_price(itemRemoteFreeShipping)

		elif "farmaciacontinua" in itemDomain :
			itemRemoteTagFreeShipping = itemRemoteHtml.xpath('//div[contains(@class,"header-configure-area")]/a/div/text()')
			if len(itemRemoteTagFreeShipping) > 0 :
				itemRemoteFreeShipping = itemRemoteTagFreeShipping[0]
				itemRemoteFreeShipping = re.findall("[0-9,\.]{4,5}", itemRemoteFreeShipping)[0]
				itemRemoteFreeShipping = clean_price(itemRemoteFreeShipping)

		elif "farmaciadelcorso" in itemDomain : #42
			itemRemoteTagFreeShipping = itemRemoteHtml.xpath('//div[contains(@class,"shippingTextTop")]/span/a/text()')
			if len(itemRemoteTagFreeShipping) > 0 :
				itemRemoteFreeShipping = itemRemoteTagFreeShipping[0]
				itemRemoteFreeShipping = re.findall("[0-9,\.]{4,5}", itemRemoteFreeShipping)[0]
				itemRemoteFreeShipping = clean_price(itemRemoteFreeShipping)

		elif "farmaciaeuropaonline" in itemDomain : #29
			itemRemoteTagFreeShipping = itemRemoteHtml.xpath('//div[contains(@class,"topCenterBar")]/div/p/text()')
			if len(itemRemoteTagFreeShipping) > 0 :
				itemRemoteFreeShipping = itemRemoteTagFreeShipping[0]
				itemRemoteFreeShipping = re.findall("[0-9,\.]{4,5}", itemRemoteFreeShipping)[0]
				itemRemoteFreeShipping = clean_price(itemRemoteFreeShipping)

		elif "farmaciaguacci.it" in itemDomain : #45
			itemRemoteFreeShipping = get_shipping(itemRemoteHtml, '(//div[@class="top-header"]/div[@class="item-left"]/p/text())', "[0-9,\.]{4,5}")
		
		elif "farmaciaianni.it" in itemDomain : #105
			itemRemoteFreeShipping = get_shipping(itemRemoteHtml, '(//a[@href="/spedizioni"]/div[@class="text-block"]/div[@class="subtitle"]/strong/text())', "[0-9,\.]{4,5}")

		elif "farmacialoreto" in itemDomain : #69
			itemRemoteTagFreeShipping = itemRemoteHtml.xpath('//div[@id="message"]/div/div/div/p/strong[2]/text()')
			if len(itemRemoteTagFreeShipping) > 0 :
				itemRemoteFreeShipping = itemRemoteTagFreeShipping[0]
				itemRemoteFreeShipping = re.findall("[0-9,\.]{4,5}", itemRemoteFreeShipping)[0]
				itemRemoteFreeShipping = clean_price(itemRemoteFreeShipping)
		
		elif "farmaciamascia.it" in itemDomain : #70
			itemRemoteFreeShipping = get_shipping(itemRemoteHtml, '(//div[contains(@class,"top-shipping")]/p/a/strong/text())', "[0-9,\.]{4,5}")
		
		elif "farmaciapapa.it" in itemDomain : #30
			itemRemoteFreeShipping = get_shipping(itemRemoteHtml, '(//div[@id="header-first-row"]/div[1]/div[2]/span[3]/text())', "[0-9,\.]{4,5}")
		
		elif "petroneonline.com" in itemDomain : #96
			#itemRemoteTagFreeShipping = itemRemoteHtml.xpath('//div[starts-with(@id,"beautify__calloutIcons-")]/div/div[@class="_row"]/div[@class="_col"][4]/div[contains(@class,"_item")]/div[@class="_heading"]/p')
			#print(itemRemoteFreeShipping)
			#@todo failed with get_shipping, data in split in 2 span
			itemRemoteFreeShipping = 60

		elif "farmaciaospedale.com" in itemDomain : #117
			itemRemoteFreeShipping = get_shipping(itemRemoteHtml, '//*[contains(text(), "€ in Italia")]/text()', "[0-9,\.]{4,5}")

		elif "farmaciaprocaccini" in itemDomain : #13
			itemRemoteFreeShipping = get_shipping(itemRemoteHtml, '//*[contains(text(), "Spediamo Gratis")]/text()', "[0-9,\.]{4,5}")

		elif "farmaciarealefirenze" in itemDomain : #71
			itemRemoteTagFreeShipping = itemRemoteHtml.xpath('//span[@id="topbar-shipping"]/text()')
			if len(itemRemoteTagFreeShipping) > 0 :
				itemRemoteFreeShipping = itemRemoteTagFreeShipping[0]
				itemRemoteFreeShipping = re.findall("[0-9,\.]{4,5}", itemRemoteFreeShipping)[0]
				itemRemoteFreeShipping = clean_price(itemRemoteFreeShipping)

		elif "farmaciarossiadduci" in itemDomain : #33
			itemRemoteTagFreeShipping = itemRemoteHtml.xpath('//div[@id="top-info"]/a/text()')
			if len(itemRemoteTagFreeShipping) > 0 :
				itemRemoteFreeShipping = itemRemoteTagFreeShipping[0]
				itemRemoteFreeShipping = re.findall("[0-9,\.]{4,5}", itemRemoteFreeShipping)[0]
				itemRemoteFreeShipping = clean_price(itemRemoteFreeShipping)

		elif "farmaciasalvati.it" in itemDomain : #106
			itemRemoteFreeShipping = get_shipping(itemRemoteHtml, '//div[@id="top-info"]/a/text()', "[0-9,\.]{4,5}")

		elif "farmaciasottocasa.it" in itemDomain : #58
			itemRemoteFreeShipping = get_shipping(itemRemoteHtml, '//div[@class="welcome-top-bar"]/div[@class="welcome-text"]/a/text()', "[0-9,\.]{4,5}", 1)
		
		elif "farmaciauno.it" in itemDomain : #72
			#@todo not reading domain in list
			#itemRemoteFreeShipping = get_shipping(itemRemoteHtml, '//*[contains(text(), "Spedizioni gratuite")]/text()', "[0-9,\.]{4,5}")
			itemRemoteFreeShipping = 49.90

		elif "farmaciedelsorriso.it" in itemDomain :
			itemRemoteFreeShipping = get_shipping(itemRemoteHtml, '//div[contains(@class,"topbarLeftInfoContainer")]/span/a/text()', "[0-9,\.]{4,5}")

		elif "farmacievigorito.it" in itemDomain : #50
			itemRemoteFreeShipping = get_shipping(itemRemoteHtml, '//section[@id="footer-top"]/div/div[2]/div[@class="content"]/p[1]/strong[1]/text()', "[0-9,\.]{4,5}")
		
		elif "farmaermann.it" in itemDomain : #82
			itemRemoteFreeShipping = get_shipping(itemRemoteHtml, '//*[contains(text(),"Spedizione gratis per ordini superiori ai")]/text()', "[0-9,\.]{4,5}")

		elif "farmaeurope.eu" in itemDomain : #34
			itemRemoteTagFreeShipping = itemRemoteHtml.xpath('//div[contains(@class,"icon-custom-free-shipping")]/p[2]/text()')
			if len(itemRemoteTagFreeShipping) > 0 :
				itemRemoteFreeShipping = itemRemoteTagFreeShipping[0]
				itemRemoteFreeShipping = re.findall("[0-9,\.]{4,5}", itemRemoteFreeShipping)[0]
				itemRemoteFreeShipping = clean_price(itemRemoteFreeShipping)

		elif "farmafides.it" in itemDomain : #108
			itemRemoteFreeShipping = get_shipping(itemRemoteHtml, '//*[contains(text(),"Spedizioni gratuite per ordini superiori a")]/text()', "[0-9,\.]{4,5}")

		elif "farmafive.it" in itemDomain : #66
			itemRemoteTagFreeShipping = itemRemoteHtml.xpath('//div[contains(@class,"top-center-bar")]/p/text()')
			if len(itemRemoteTagFreeShipping) > 0 :
				itemRemoteFreeShipping = itemRemoteTagFreeShipping[0]
				itemRemoteFreeShipping = re.findall("[0-9,\.]{2,5}", itemRemoteFreeShipping)[0]
				itemRemoteFreeShipping = clean_price(itemRemoteFreeShipping)

		elif "farmahome.it" in itemDomain :
			itemRemoteTagFreeShipping = itemRemoteHtml.xpath('//a[contains(@class,"shippingtips")]/text()')
			if len(itemRemoteTagFreeShipping) > 0 :
				itemRemoteFreeShipping = itemRemoteTagFreeShipping[2]
				itemRemoteFreeShipping = re.findall("[0-9,\.]{2,5}", itemRemoteFreeShipping)[-1]
				itemRemoteFreeShipping = clean_price(itemRemoteFreeShipping)

		elif "farmamia.net" in itemDomain :
			itemRemoteTagFreeShipping = itemRemoteHtml.xpath('//div[contains(@class,"center_content")]/span/strong/text()')
			if len(itemRemoteTagFreeShipping) > 0 :
				itemRemoteFreeShipping = itemRemoteTagFreeShipping[0]
				itemRemoteFreeShipping = re.findall("[0-9,\.]{2,5}", itemRemoteFreeShipping)[-1]
				itemRemoteFreeShipping = clean_price(itemRemoteFreeShipping)

		elif "farmanika.it" in itemDomain : #109
			itemRemoteFreeShipping = get_shipping(itemRemoteHtml, '//*[contains(text(),"Spedizione gratuita a partire")]/text()', "[0-9,\.]{4,5}")

		elif "farmaspeed.it" in itemDomain : #73
			itemRemoteTagFreeShipping = itemRemoteHtml.xpath('//div[contains(@class,"super-top")]/div/div/div[3]/b/text()')
			if len(itemRemoteTagFreeShipping) > 0 :
				itemRemoteFreeShipping = itemRemoteTagFreeShipping[0]
				itemRemoteFreeShipping = re.findall("[0-9,\.]{2,5}", itemRemoteFreeShipping)[-1]
				itemRemoteFreeShipping = clean_price(itemRemoteFreeShipping)

		elif "farmastar.it" in itemDomain : #36
			#@todo site "Not Found"
			itemRemoteTagFreeShipping = itemRemoteHtml.xpath('//div[contains(@class,"info-1")]/div[@class="text"]/div/b/span/text()')
			if len(itemRemoteTagFreeShipping) > 0 :
				itemRemoteFreeShipping = itemRemoteTagFreeShipping[0]
				itemRemoteFreeShipping = re.findall("[0-9,\.]{2,5}", itemRemoteFreeShipping)[-1]
				itemRemoteFreeShipping = clean_price(itemRemoteFreeShipping)

		elif "farmastrike.it" in itemDomain : #56
			#@todo no free shipping
			continue

		elif "farmavillage.it" in itemDomain : #57
			#itemRemoteFreeShipping = get_shipping(itemRemoteHtml, '//*[contains(text(),"Spedizione gratuita a partire")]/text()', "[0-9,\.]{4,5}")
			#@todo cert fail
			itemRemoteFreeShipping = 79.90

		elif "farma-web.it" in itemDomain : #83
			itemRemoteFreeShipping = get_shipping(itemRemoteHtml, '//*[contains(text(),"E GRATUITE PER ORDINI SUPERIORI A")]/strong/text()', "[0-9,\.]{4,5}")

		elif "farmawow.it" in itemDomain : #43
			itemRemoteTagFreeShipping = itemRemoteHtml.xpath('//div[contains(@class,"topinfo-heading")]/a/strong[2]/text()')
			if len(itemRemoteTagFreeShipping) > 0 :
				itemRemoteFreeShipping = itemRemoteTagFreeShipping[0]
				itemRemoteFreeShipping = re.findall("[0-9,\.]{2,5}", itemRemoteFreeShipping)[-1]
				itemRemoteFreeShipping = clean_price(itemRemoteFreeShipping)

		elif "feelyourlook.com" in itemDomain : #115
			itemRemoteFreeShipping = get_shipping(itemRemoteHtml, '(//*[contains(text(),"Spedizione Gratis sopra ")]/text())[1]', "[0-9,\.]{2,5}")

		elif "gattoconpersonalita.com" in itemDomain : #75
			itemRemoteFreeShipping = get_shipping(itemRemoteHtml, '(//*[contains(text(),"Spedizione Gratis")]/parent::p/text())[2]', "[0-9,\.]{2,3}")

		elif "granfarma.it" in itemDomain :
			itemRemoteTagFreeShipping = itemRemoteHtml.xpath('//div[@class="gf_header_top_bar"]/span[@class="shipping-text"]/text()')
			if len(itemRemoteTagFreeShipping) > 0 :
				itemRemoteFreeShipping = itemRemoteTagFreeShipping[1]
				itemRemoteFreeShipping = re.findall("[0-9,\.]{2,5}", itemRemoteFreeShipping)[-1]
				itemRemoteFreeShipping = clean_price(itemRemoteFreeShipping)
		
		elif "guenda.it" in itemDomain : #122
			itemRemoteFreeShipping = get_shipping(itemRemoteHtml, '(//*[contains(text(),"€ SPEDIZIONE GRATIS")]/text())[1]', "[0-9,\.]{2,5}")
		
		elif "ideabellezza.it" in itemDomain : #112
			itemRemoteFreeShipping = get_shipping(itemRemoteHtml, '(//*[contains(text(),"per ordini superiori a ")]/text())[1]', "[0-9,\.]{2,5}")

		elif "infinityfarma.it" in itemDomain : #104
			itemRemoteFreeShipping = get_shipping(itemRemoteHtml, '//*[contains(text(),"SPEDIZIONI GRATUITE PER ORDINI SUPERIORI A ")]/text()', "[0-9,\.]{4,5}")
		
		elif "isoladeitesori.it" in itemDomain : #3
			itemRemoteFreeShipping = get_shipping(itemRemoteHtml, '(//*[contains(text(),"Spedizione GRATIS")]/text())[2]', "[0-9,\.]{2,3}")
	
		elif "lafarmaciadegliangeli" in itemDomain :
			itemRemoteTagFreeShipping = itemRemoteHtml.xpath('//div[contains(@class,"welcome-text")]/a/text()')
			if len(itemRemoteTagFreeShipping) > 0 :
				itemRemoteFreeShipping = itemRemoteTagFreeShipping[0]
				itemRemoteFreeShipping = re.findall("[0-9,\.]{4,5}", itemRemoteFreeShipping)[0]
				itemRemoteFreeShipping = clean_price(itemRemoteFreeShipping)

		elif "malinkaitalia.com" in itemDomain : #118
			itemRemoteFreeShipping = get_shipping(itemRemoteHtml, '(//*[contains(text(),"a partire da ")]/text())[1]', "[0-9,\.]{2,5}")

		elif "meafarma.it" in itemDomain : #59
			itemRemoteTagFreeShipping = itemRemoteHtml.xpath('//div[@class="shipping-container"]/p/b[last()]/text()')
			if len(itemRemoteTagFreeShipping) > 0 :
				itemRemoteFreeShipping = itemRemoteTagFreeShipping[0]
				itemRemoteFreeShipping = re.findall("[0-9,\.]{2,5}", itemRemoteFreeShipping)[-1]
				itemRemoteFreeShipping = clean_price(itemRemoteFreeShipping)
		
		elif "mypharmaclick.com" in itemDomain : #81
			itemRemoteFreeShipping = get_shipping(itemRemoteHtml, '//*[contains(text(),"Spedizione gratuita")]/parent::p/span[3]/text()', "[0-9,\.]{4,5}")
	
		elif "nocepharm.it" in itemDomain : #67
			itemRemoteTagFreeShipping = itemRemoteHtml.xpath('//div[@class="topHeaderCenter"]/p/a/text()')
			if len(itemRemoteTagFreeShipping) > 0 :
				itemRemoteFreeShipping = itemRemoteTagFreeShipping[0]
				itemRemoteFreeShipping = re.findall("[0-9,\.]{2,5}", itemRemoteFreeShipping)[-1]
				itemRemoteFreeShipping = clean_price(itemRemoteFreeShipping)

		elif "openfarma.it" in itemDomain : #60
			itemRemoteTagFreeShipping = itemRemoteHtml.xpath('//div[@class="shipping-text"]/a/text()')
			if len(itemRemoteTagFreeShipping) > 0 :
				itemRemoteFreeShipping = itemRemoteTagFreeShipping[0]
				itemRemoteFreeShipping = re.findall("[0-9,\.]{2,5}", itemRemoteFreeShipping)[-1]
				itemRemoteFreeShipping = clean_price(itemRemoteFreeShipping)

		elif "pacopetshop.it" in itemDomain : #1
			#@todo shipping page
			itemRemoteFreeShipping = 79

		elif "parafarmaciamarsili.com" in itemDomain : #61
			itemRemoteTagFreeShipping = itemRemoteHtml.xpath('//span[contains(@class,"banner_top_spedizioni")]/div/span[2]/text()')
			if len(itemRemoteTagFreeShipping) > 0 :
				itemRemoteFreeShipping = itemRemoteTagFreeShipping[0]
				itemRemoteFreeShipping = re.findall("[0-9,\.]{2,5}", itemRemoteFreeShipping)[-1]
				itemRemoteFreeShipping = clean_price(itemRemoteFreeShipping)

		elif "robinsonpetshop.it" in itemDomain : #74
			itemRemoteFreeShipping = get_shipping(itemRemoteHtml, '(//*[contains(text(),"Spedizione gratuita")]/text())[2]', "[0-9,\.]{2,3}")

		elif "sabina.com" in itemDomain : #113
			itemRemoteFreeShipping = get_shipping(itemRemoteHtml, '(//*[contains(text(),"Spedizione gratuita da ")]/text())[1]', "[0-9,\.]{2,5}")

		elif "saninfarma.it" in itemDomain : #37
			itemRemoteTagFreeShipping = itemRemoteHtml.xpath('//div[@class="block-reassurance-item"]/div/span/text()')
			if len(itemRemoteTagFreeShipping) > 0 :
				itemRemoteFreeShipping = itemRemoteTagFreeShipping[0]
				itemRemoteFreeShipping = re.findall("[0-9,\.]{2,5}", itemRemoteFreeShipping)[-1]
				itemRemoteFreeShipping = clean_price(itemRemoteFreeShipping)

		elif "saninforma.it" in itemDomain : #64
			#itemRemoteTagFreeShipping = itemRemoteHtml.xpath('//div[contains(@class,"fasciaprimafooter")]/div/div/div/div/div/div[2]/p/text()')
			itemRemoteTagFreeShipping = itemRemoteHtml.xpath('//div[contains(@class,"fasciaprimafooter")]//p/text()')
			if len(itemRemoteTagFreeShipping) > 0 :
				itemRemoteFreeShipping = itemRemoteTagFreeShipping[0]
				itemRemoteFreeShipping = re.findall("[0-9,\.]{2,5}", itemRemoteFreeShipping)[-1]
				itemRemoteFreeShipping = clean_price(itemRemoteFreeShipping)

		elif "sanort.com" in itemDomain : #38
			itemRemoteFreeShipping = get_shipping(itemRemoteHtml, '//*[contains(text(),"per ordini sopra i")]/text()', "[0-9,\.]{4,5}")
		
		elif "scontolo.net" in itemDomain : #97
			itemRemoteFreeShipping = get_shipping(itemRemoteHtml, '//*[contains(text(),"SPEDIZIONE GRATUITA DA ")]/text()', "[0-9,\.]{2,4}")
		
		elif "seiglam.com" in itemDomain : #114
			itemRemoteFreeShipping = get_shipping(itemRemoteHtml, '(//*[contains(text(),"SPEDIZIONE GRATUITA DA ")]/text())[1]', "[0-9,\.]{2,5}")

		elif "sorgentepharma.it" in itemDomain : #110
			itemRemoteFreeShipping = get_shipping(itemRemoteHtml, '//*[contains(text(),"Spedizioni gratuite per ordini")]/text()', "[0-9,\.]{4,5}")
		
		elif "subitofarma.com" in itemDomain : #68
			itemRemoteTagFreeShipping = itemRemoteHtml.xpath('//div[@id="top-message"]/a/text()')
			if len(itemRemoteTagFreeShipping) > 0 :
				itemRemoteFreeShipping = itemRemoteTagFreeShipping[0]
				itemRemoteFreeShipping = re.findall("[0-9,\.]{2,5}", itemRemoteFreeShipping)[-1]
				itemRemoteFreeShipping = clean_price(itemRemoteFreeShipping)

		elif "superfarma.it" in itemDomain : #65
			itemRemoteFreeShipping = get_shipping(itemRemoteHtml, '//*[contains(text(),"Spedizione Gratuita a partire da")]/text()', "[0-9,\.]{4,5}")
				
		elif "upharm.it" in itemDomain :
			itemRemoteTagFreeShipping = itemRemoteHtml.xpath('//div[@id="top-info"]/div/text()')
			if len(itemRemoteTagFreeShipping) > 0 :
				itemRemoteFreeShipping = itemRemoteTagFreeShipping[0]
				itemRemoteFreeShipping = re.findall("[0-9,\.]{2,5}", itemRemoteFreeShipping)[0]
				itemRemoteFreeShipping = clean_price(itemRemoteFreeShipping)

		elif "xberry.it" in itemDomain : #119
			itemRemoteFreeShipping = get_shipping(itemRemoteHtml, '(//*[contains(text(),"SPEDIZIONE GRATUITA A PARTIRE DA ")]/text())[1]', "[0-9,\.]{2,5}")
		
		elif "yougenskincare.com" in itemDomain : #121
			itemRemoteFreeShipping = get_shipping(itemRemoteHtml, '(//*[contains(text(),"Spedizione gratuita")]/parent::span/b[2]/text())[1]', "[0-9,\.]{2,5}")
		
		elif "yuniwa.it" in itemDomain : #120
			itemRemoteFreeShipping = get_shipping(itemRemoteHtml, '//*[contains(text(),"Spedizione gratis ")]/text()', "[0-9,\.]{2,5}€")

		elif "zooplus.it" in itemDomain : #78
			itemRemoteFreeShipping = get_shipping(itemRemoteHtml, '//*[contains(text(),"Consegna gratuita da ")]/text()', "[0-9,\.]{2,3}")

		#PUT
		if itemRemoteFreeShipping :
			print('>> Free Shipping: ' + str(itemRemoteFreeShipping))
			res = requests.put(urlApiPut, params={'id': itemId, 'shipping': itemRemoteFreeShipping}, verify=False)

		sleep(3)
