--- Revision None +++ Revision 303139326565 @@ -0,0 +1,88 @@ +# -*- coding: utf-8 -*- +#!/usr/bin/env python +import json +from datetime import datetime + +from tumblr import Api + +from django.conf import settings +from django.core.management.base import BaseCommand + +from blog.models import Post +from people.models import Staff + +class Command(BaseCommand): + sites = [] + + def handle(self, *args, **options): + author = Staff.objects.get(username='goulwen') + try: + self.sites = getattr(settings, 'TUMBLR') + except: + print 'Unable to find the TUMBLR sites to import in the settings' + + for site in self.sites: + api = Api(site) + post = api.read() + + for post in api.read(): + type = post['type'] + print 'Add %(slug)s with type %(type)s' % {'slug': post['slug'], + 'type': type } + if type == 'link': + p = Post(title = post['link-text'], + slug = post['slug'], + author = author, + body = post['link-description'], + tease = post['link-url'], + allow_comments = False, + created_at = datetime.fromtimestamp(post['unix-timestamp']), + updated_at = datetime.fromtimestamp(post['unix-timestamp']), + published_at = datetime.fromtimestamp(post['unix-timestamp']) + ) + p.save() + elif type == 'quote': + p = Post(title = post['quote-text'], + slug = post['slug'], + author = author, + body = post['quote-source'], + allow_comments = False, + created_at = datetime.fromtimestamp(post['unix-timestamp']), + updated_at = datetime.fromtimestamp(post['unix-timestamp']), + published_at = datetime.fromtimestamp(post['unix-timestamp']) + ) + p.save() + elif type == 'photo': + p = Post(title = 'Photo', + slug = post['slug'], + author = author, + body = post['photo-caption'], + allow_comments = False, + created_at = datetime.fromtimestamp(post['unix-timestamp']), + updated_at = datetime.fromtimestamp(post['unix-timestamp']), + published_at = datetime.fromtimestamp(post['unix-timestamp']) + ) + p.save() + elif type == 'regular': + p = Post(title = post['regular-title'], + slug = post['slug'], + author = author, + body = post['regular-body'], + allow_comments = False, + created_at = datetime.fromtimestamp(post['unix-timestamp']), + updated_at = datetime.fromtimestamp(post['unix-timestamp']), + published_at = datetime.fromtimestamp(post['unix-timestamp']) + ) + p.save() + elif type == 'video': + p = Post(title = 'Vidéo', + slug = post['slug'], + author = author, + body = post['video-player'], + tease = post['video-source'], + allow_comments = False, + created_at = datetime.fromtimestamp(post['unix-timestamp']), + updated_at = datetime.fromtimestamp(post['unix-timestamp']), + published_at = datetime.fromtimestamp(post['unix-timestamp']) + ) + p.save()