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()
x20 = requests.Response()

astr = ["Hi!"] * 21

astr[0] = "Hi!"
astr[1] = "https://ehub.portvancouver.com/Webcams/Photos/CommOver?" 
astr[2] = "https://ehub.portvancouver.com/webcams/Photos/DPWExitWest?" 
astr[3] = "https://ehub.portvancouver.com/Webcams/Photos/CentermMainGates?" 
astr[4] = "https://ehub.portvancouver.com/Webcams/Photos/VantermEntrance?" 
astr[5] = "https://ehub.portvancouver.com/Webcams/Photos/VantermGates?" 
astr[6] = "https://ehub.portvancouver.com/Webcams/Photos/ClarkEntrance?" 
astr[7] = "https://ehub.portvancouver.com/Webcams/Photos/ColumbiaContainerCrossing?" 
astr[8] = "https://ehub.portvancouver.com/webcams/Photos/TerminalDock?" 
astr[9] = "https://ehub.portvancouver.com/Webcams/Photos/CommEntrance?" 
astr[10] = "https://ehub.portvancouver.com/Webcams/Photos/CommOverMcGill?" 
astr[11] = "https://ehub.portvancouver.com/Webcams/Photos/CameraDP_FS1?" 
astr[12] = "https://ehub.portvancouver.com/Webcams/Photos/DeltaportGate1?" 
astr[13] = "https://ehub.portvancouver.com/Webcams/Photos/DMSWest?" 
astr[14] = "https://ehub.portvancouver.com/Webcams/Photos/FSMainIntersection?" 
astr[15] = "https://ehub.portvancouver.com/Webcams/Photos/FSTruckInGate?" 
astr[16] = "https://ehub.portvancouver.com/Webcams/Photos/FSVACSGates?" 
astr[17] = "https://ehub.portvancouver.com/Webcams/Photos/FS5TrackCrossing?" 
astr[18] = "https://ehub.portvancouver.com/Webcams/Photos/PortsideNo8?" 
astr[19] = "https://ehub.portvancouver.com/Webcams/Photos/PortsideCoast2000?" 
astr[20] = "https://ehub.portvancouver.com/Webcams/Photos/CPCTruckRoute?"

i = [-1,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(astr[1] + str(milliseconds), 'Commissioner entrance', x1)
	getTimeAndName(2)
	acquireImage(astr[2] + str(milliseconds), 'Waterfront_road Centerm crossing', x2)
	getTimeAndName(3)
	acquireImage(astr[3] + str(milliseconds), 'Centerm in gate', x3)
	getTimeAndName(4)
	acquireImage(astr[4] + str(milliseconds), 'Vanterm Alliance Grain Terminal crossing', x4)
	getTimeAndName(5)
	acquireImage(astr[5] + str(milliseconds), 'Vanterm in gate', x5)
	getTimeAndName(6)
	acquireImage(astr[6] + str(milliseconds), 'Clark Drive overpass', x6)
	getTimeAndName(7)
	acquireImage(astr[7] + str(milliseconds), 'Columbia Container - crossing', x7)
	getTimeAndName(8)
	acquireImage(astr[8] + str(milliseconds), 'Terminal dock', x8)
	getTimeAndName(9)
	acquireImage(astr[9] + str(milliseconds), 'Commissioner truck staging', x9)
	getTimeAndName(10)
	acquireImage(astr[10] + str(milliseconds), 'Commissioner street overpass', x10)
	getTimeAndName(11)
	acquireImage(astr[11] + str(milliseconds), 'Deltaport causeway', x11)
	getTimeAndName(12)
	acquireImage(astr[12] + str(milliseconds), 'Deltaport gate 1', x12)
	getTimeAndName(13)
	acquireImage(astr[13] + str(milliseconds), 'Delta truck staging', x13)
	getTimeAndName(14)
	acquireImage(astr[14] + str(milliseconds), 'Fraser Surrey main intersection', x14)
	getTimeAndName(15)
	acquireImage(astr[15] + str(milliseconds), 'Fraser Surrey in gate', x15)
	getTimeAndName(16)
	acquireImage(astr[16] + str(milliseconds), 'Fraser Surrey VACS gates', x16)
	getTimeAndName(17)
	acquireImage(astr[17] + str(milliseconds), 'Fraser Surrey track crossing', x17)
	getTimeAndName(18)
	acquireImage(astr[18] + str(milliseconds), 'PortsideBlundellNo.8 road intersection', x18)
	getTimeAndName(19)
	acquireImage(astr[19] + str(milliseconds), 'Portside road - westbound', x19)
	getTimeAndName(20)
	acquireImage(astr[20] + str(milliseconds), 'Convention Centre East', x20)


	
	print(i)

	print("Scanned")
