Load Tweets, load more tweets finished

This commit is contained in:
Manuel Hude
2021-05-04 14:10:43 +02:00
parent e252e07179
commit 0f2d27d5c3
8 changed files with 110 additions and 36 deletions
+21 -3
View File
@@ -1,5 +1,6 @@
import logging
from app_be.views.twitter_api import twitter_api
from django.http import JsonResponse, HttpRequest
from py_jwt_validator import PyJwtValidator, PyJwtException
@@ -9,6 +10,7 @@ from rest_framework.viewsets import ModelViewSet
from app_be.models import Feed
from app_be.serializers import FeedSerializer
from twitter import Status
logger = logging.getLogger(__name__)
@@ -60,9 +62,25 @@ class LoginClass:
class TwitterClass:
@staticmethod
@api_view(['GET'])
def getLastSixTweets():
return JsonResponse({[{"asdf", "asdf", "sdfasdf", "asdf"}, {"asdf", "asdf", "sdfasdf", "asdf"}]}, safe=False,
status=200)
def getLastSixTweets(request):
#TODO: Bearer Token im FE einfügen
'''user_sub = authorize(request)
if not user_sub:
return JsonResponse({}, status=401)'''
return JsonResponse(status=200,data=twitter_api.get_last_six_tweets(),safe=False)
@staticmethod
@api_view(['GET'])
def getMoreTweets(request,twitter_id):
#TODO: Bearer Token im FE einfügen
'''user_sub = authorize(request)
if not user_sub:
return JsonResponse({}, status=401)'''
return JsonResponse(status=200,data=twitter_api.get_more_tweets(twitter_id),safe=False)
class FeedViewSet(ModelViewSet):
+44 -10
View File
@@ -1,6 +1,7 @@
from datetime import datetime
import twitter
import os
from app_be.models import Tweet
from dotenv import load_dotenv
load_dotenv()
@@ -19,18 +20,51 @@ class twitter_api:
@staticmethod
def get_last_six_tweets():
last_six = api.GetUserTimeline('waecmg4',count=6)
print(last_six)
last_six = api.GetUserTimeline(screen_name='waecmg4',count=6,exclude_replies=True,include_rts=False)
print(type(last_six))
response = []
for tweet in last_six:
print(tweet)
parsed_date = datetime.strptime(tweet.created_at,"%a %b %d %H:%M:%S +0000 %Y")
tweet_date = datetime.strftime(parsed_date,"%d.%m.%y %H:%M")
if tweet.urls:
twitter_url = tweet.urls[0].expanded_url
else:
twitter_url = "No url for tweet found"
response.append({'icon': None,'text':tweet.text,'url':twitter_url,'created_date':tweet_date, 'tweet_id':tweet.id})
return response
@staticmethod
def get_last_twelve_tweets():
last_twelve = api.GetUserTimeline('waecmg4',count=12)
print(last_twelve)
def get_more_tweets(twitter_id):
@staticmethod
def get_last_n_tweets(n):
last_twelve = api.GetUserTimeline('waecmg4',count=n)
print(last_twelve)
last_six = api.GetUserTimeline(screen_name='waecmg4', count=6, exclude_replies=True, include_rts=False, max_id=twitter_id)
response = []
for tweet in last_six:
print(tweet)
parsed_date = datetime.strptime(tweet.created_at, "%a %b %d %H:%M:%S +0000 %Y")
tweet_date = datetime.strftime(parsed_date, "%d.%m.%y %H:%M")
if tweet.urls:
twitter_url = tweet.urls[0].expanded_url
else:
twitter_url = "No url for tweet found"
response.append(
{'icon': None, 'text': tweet.text, 'url': twitter_url, 'created_date': tweet_date,
'tweet_id': tweet.id})
return response
@staticmethod
def post_update(text, url):