34 lines
		
	
	
	
		
			1.1 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
		
		
			
		
	
	
			34 lines
		
	
	
	
		
			1.1 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| 
								 | 
							
								#!/env/python
							 | 
						||
| 
								 | 
							
								import pymysql.cursors
							 | 
						||
| 
								 | 
							
								connection = pymysql.connect(host='localhost',
							 | 
						||
| 
								 | 
							
								                             port=3307,
							 | 
						||
| 
								 | 
							
								                             user='web',
							 | 
						||
| 
								 | 
							
								                             password='secret',
							 | 
						||
| 
								 | 
							
								                             database='movienight',
							 | 
						||
| 
								 | 
							
								                             cursorclass=pymysql.cursors.DictCursor)
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								with connection:
							 | 
						||
| 
								 | 
							
								    with connection.cursor() as cursor:
							 | 
						||
| 
								 | 
							
								        sql = "SELECT id, title, last_watched FROM movies"
							 | 
						||
| 
								 | 
							
								        cursor.execute(sql)
							 | 
						||
| 
								 | 
							
								        movies = cursor.fetchall()
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								for movie in movies:
							 | 
						||
| 
								 | 
							
								    # Keep the connection alive in case it takes too long
							 | 
						||
| 
								 | 
							
								    connection.ping()
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    with connection.cursor() as cursor:
							 | 
						||
| 
								 | 
							
								        # Get latest showing for movie
							 | 
						||
| 
								 | 
							
								        sql = "SELECT id, showtime FROM showings WHERE movie_id =%s ORDER BY showtime DESC LIMIT 1"
							 | 
						||
| 
								 | 
							
								        cursor.execute(sql, (movie["id"],))
							 | 
						||
| 
								 | 
							
								        last_watched = cursor.fetchone()
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        if last_watched:
							 | 
						||
| 
								 | 
							
								            # Update last watched to most recent showing
							 | 
						||
| 
								 | 
							
								            sql = "UPDATE movies SET last_watched =%s WHERE id =%s"
							 | 
						||
| 
								 | 
							
								            cursor.execute(sql,(last_watched["showtime"], movie["id"]))
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    connection.commit()
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 |