Load Tweets, load more tweets finished
This commit is contained in:
@@ -26,7 +26,7 @@ urlpatterns = [
|
||||
path('admin/', admin.site.urls),
|
||||
url(r'^api/login', LoginClass.login),
|
||||
url(r'^getSixTweets', TwitterClass.getLastSixTweets),
|
||||
url(r'^getTwelveTweets', TwitterClass.getLastSixTweets),
|
||||
url(r'^getMoreTweets/(?P<twitter_id>\w{0,50})', TwitterClass.getMoreTweets),
|
||||
url(r'feeds/<int:feed_id>', FeedViewSet.update_feed)
|
||||
]
|
||||
urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
|
||||
|
||||
@@ -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):
|
||||
|
||||
@@ -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):
|
||||
|
||||
+2
-1
@@ -20,7 +20,8 @@ setup(name='waecm-2021-group-04',
|
||||
'python-twitter==3.5',
|
||||
'python-dotenv==0.17.1',
|
||||
'feedsearch==1.0.12',
|
||||
'Pillow==8.2.0'
|
||||
'Pillow==8.2.0',
|
||||
'python-dateutil==2.8.1'
|
||||
],
|
||||
license='BSD License', # example license
|
||||
description='DESCRIPTION')
|
||||
|
||||
Reference in New Issue
Block a user