Private
Public Access
1
0
Files
rowsandall/rowers/management/commands/getblogposts.py
Sander Roosendaal a325b98ac3 fix fetchblogposts
2022-05-12 07:46:04 +02:00

55 lines
1.4 KiB
Python

import sys
import os
import requests
import datetime
import arrow
import json
from simplejson.errors import JSONDecodeError
from django.core.management.base import BaseCommand
from rowers.models import BlogPost
from django.utils import timezone
PY3K = sys.version_info >= (3, 0)
class Command(BaseCommand):
def handle(self, *args, **options):
blogs_json = []
try:
response = requests.get(
'https://analytics.rowsandall.com/wp-json/wp/v2/posts?per_page=3')
if response.status_code == 200:
try:
blogs_json = response.json()
except JSONDecodeError:
try:
blogs_json = json.loads(response.text)
except JSONDecodeError:
blogs_json = []
else:
blogs_json = []
except ConnectionError:
pass
if blogs_json:
_ = BlogPost.objects.all().delete()
for postdata in blogs_json[0:3]:
title = postdata['title']['rendered']
link = postdata['link']
date = timezone.now()
blogpost = BlogPost(
link=link,
date=date,
title=title
)
blogpost.save()
self.stdout.write(self.style.SUCCESS(
'Successfully processed blog posts'))