import requests
from time import time
from time import sleep
from contextlib import chdir
import copy

headerz = {'Accept' : 'image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5', 'Accept-Encoding' :
	'gzip, deflate, br, zstd', 'Accept-Language' :
	'en-CA,en-US;q=0.9,en;q=0.8', 'Referer' :
	'https://www.portvancouver.com/' }

milliseconds = int(time() * 1000)
x1 = requests.Response()
x2 = requests.Response()
x3 = requests.Response()
x4 = requests.Response()
x5 = requests.Response()
x6 = requests.Response()
x7 = requests.Response()
x8 = requests.Response()
x9 = requests.Response()
x10 = requests.Response()
x11 = requests.Response()
x12 = requests.Response()
x13 = requests.Response()
x14 = requests.Response()
x15 = requests.Response()
x16 = requests.Response()
x17 = requests.Response()
x18 = requests.Response()
x19 = requests.Response()


str1 = "https://ehub.portvancouver.com/Webcams/Photos/CommOver?" 
str2 = "https://ehub.portvancouver.com/webcams/Photos/DPWExitWest?" 
str3 = "https://ehub.portvancouver.com/Webcams/Photos/CentermMainGates?" 
str4 = "https://ehub.portvancouver.com/Webcams/Photos/VantermEntrance?" 
str5 = "https://ehub.portvancouver.com/Webcams/Photos/VantermGates?" 
str6 = "https://ehub.portvancouver.com/Webcams/Photos/ClarkEntrance?" 
str7 = "https://ehub.portvancouver.com/Webcams/Photos/ColumbiaContainerCrossing?" 
str8 = "https://ehub.portvancouver.com/webcams/Photos/TerminalDock?" 
str9 = "https://ehub.portvancouver.com/Webcams/Photos/CommEntrance?" 
str10 = "https://ehub.portvancouver.com/Webcams/Photos/CommOverMcGill?" 
str11 = "https://ehub.portvancouver.com/Webcams/Photos/CameraDP_FS1?" 
str12 = "https://ehub.portvancouver.com/Webcams/Photos/DeltaportGate1?" 
str13 = "https://ehub.portvancouver.com/Webcams/Photos/DMSWest?" 
str14 = "https://ehub.portvancouver.com/Webcams/Photos/FSMainIntersection?" 
str15 = "https://ehub.portvancouver.com/Webcams/Photos/FSTruckInGate?" 
str16 = "https://ehub.portvancouver.com/Webcams/Photos/FSVACSGates?" 
str17 = "https://ehub.portvancouver.com/Webcams/Photos/FS5TrackCrossing?" 
str18 = "https://ehub.portvancouver.com/Webcams/Photos/PortsideNo8?" 
str19 = "https://ehub.portvancouver.com/Webcams/Photos/PortsideCoast2000?" 

i = [-1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]


image_name = "image"

def acquireImage(request_string, folder_name, response):
	global image_check
	image_check = copy.deepcopy(response)
	response = requests.get(request_string, headers=headerz)
	if response.content != image_check.content:
		with chdir(folder_name):
			if response.status_code == 200:
				with open(image_name, 'wb') as f:
					f.write(response.content)
	else:
		print("Copy detected and removed (folder_name)")


def getTimeAndName(index):
	milliseconds = int(time() * 1000)
	global image_name
	image_name = "image" + f"{i[index]:04}" + ".jpg"
	i[index] += 1


while True:
	getTimeAndName(1)
	acquireImage(str1 + str(milliseconds), 'Commissioner entrance', x1)
	getTimeAndName(2)
	acquireImage(str2 + str(milliseconds), 'Waterfront_road Centerm crossing', x2)
	getTimeAndName(3)
	acquireImage(str3 + str(milliseconds), 'Centerm in gate', x3)
	getTimeAndName(4)
	acquireImage(str4 + str(milliseconds), 'Vanterm Alliance Grain Terminal crossing', x4)
	getTimeAndName(5)
	acquireImage(str5 + str(milliseconds), 'Vanterm in gate', x5)
	getTimeAndName(6)
	acquireImage(str6 + str(milliseconds), 'Clark Drive overpass', x6)
	getTimeAndName(7)
	acquireImage(str7 + str(milliseconds), 'Columbia Container - crossing', x7)
	getTimeAndName(8)
	acquireImage(str8 + str(milliseconds), 'Terminal dock', x8)
	getTimeAndName(9)
	acquireImage(str9 + str(milliseconds), 'Commissioner truck staging', x9)
	getTimeAndName(10)
	acquireImage(str10 + str(milliseconds), 'Commissioner street overpass', x10)
	getTimeAndName(11)
	acquireImage(str11 + str(milliseconds), 'Deltaport causeway', x11)
	getTimeAndName(12)
	acquireImage(str12 + str(milliseconds), 'Deltaport gate 1', x12)
	getTimeAndName(13)
	acquireImage(str13 + str(milliseconds), 'Delta truck staging', x13)
	getTimeAndName(14)
	acquireImage(str14 + str(milliseconds), 'Fraser Surrey main intersection', x14)
	getTimeAndName(15)
	acquireImage(str15 + str(milliseconds), 'Fraser Surrey in gate', x15)
	getTimeAndName(16)
	acquireImage(str16 + str(milliseconds), 'Fraser Surrey VACS gates', x16)
	getTimeAndName(17)
	acquireImage(str17 + str(milliseconds), 'Fraser Surrey track crossing', x17)
	getTimeAndName(18)
	acquireImage(str18 + str(milliseconds), 'PortsideBlundellNo.8 road intersection', x18)
	getTimeAndName(19)
	acquireImage(str19 + str(milliseconds), 'Portside road - westbound', x19)


	
	print(i)

	print("Scanned")
