diff --git a/social_posts.py b/social_posts.py index 1b1f007..7b88cbc 100644 --- a/social_posts.py +++ b/social_posts.py @@ -1,10 +1,20 @@ -import urllib.request, json, pymysql +import json +import os +import random + +import pymysql +import urllib.request from datetime import datetime +from io import BytesIO + +import requests import twitter +from PIL import Image db = pymysql.connect('localhost', 'kingofdog', 'XrE#513*IOC&tA*B', 'kingofdog') cur = db.cursor() + def insertIntoDatabase(platform, title, url, author, authorUrl, published, image, originalID): print(platform, title, url, author, authorUrl, published, image, originalID) try: @@ -18,6 +28,30 @@ def insertIntoDatabase(platform, title, url, author, authorUrl, published, image db.rollback() +def generateImageName(): + return random.getrandbits(128) + + +def uploadImage(imageUrl, originalName): + response = requests.get(imageUrl) + img = Image.open(BytesIO(response.content)) + + name = '%032x' % generateImageName() + path = 'files/userContent/%s.jpg' % name + img.save(path) + + fileSize = os.path.getsize(path) + try: + cur.execute( + "INSERT INTO files (name, original_name, type, size, path, isUserData) VALUES (%s, %s, 'image/jpeg', %s, %s, 1)", + (name, originalName, fileSize, path)) + db.commit() + except: + print('it didnt work') + db.rollback() + + return '/f/' + name + def getYouTubeVideos(): apiUrl = 'https://www.googleapis.com/youtube/v3/playlistItems?part=snippet%2CcontentDetails&maxResults=20&playlistId=UUEDHiXaIhm2VFu-hi6CcOWw&key=AIzaSyDAZ_TwVMZeiKDQxgWM2OYRq3YskEpY9yw' with urllib.request.urlopen(apiUrl) as url: @@ -56,8 +90,11 @@ def getTwitterPosts(): image = '' if tweet.media: image = tweet.media[0].media_url + uploadImage(image, tweet.id_str) insertIntoDatabase('Twitter', content, url, author, authorUrl, published, image, originalID) + +getYouTubeVideos() getTwitterPosts() -db.close() \ No newline at end of file +db.close()