blogger_api / api_files /src /middle_api.py
coder160's picture
Add First Commit
61af46f
raw
history blame
1.49 kB
from api_files.src.base_api import Base_Blogger_Api
from api_files.src.models import Base_Blog_Data, Post
class Middle_Blogger_Api:
@staticmethod
def update_blog_data(blog_data:Base_Blog_Data)->Base_Blog_Data:
new_blog_data = Base_Blogger_Api.get_blog_by_id(blog_data.id)
if new_blog_data:
print("Blog Actualizado.")
blog_data.nombre = new_blog_data.json().get('name')
blog_data.descripcion = new_blog_data.json().get('description')
blog_data.url = new_blog_data.json().get('url')
blog_data.posts = Middle_Blogger_Api.update_posts_list(blog_data)
for _posts in blog_data.posts:
for _categoria in _posts.categorias:
if _categoria not in blog_data.categorias:
blog_data.categorias.append(_categoria)
return blog_data
@staticmethod
def update_posts_list(blog_data:Base_Blog_Data)->list:
posts_items = Base_Blogger_Api.get_all_posts(blog_data.id).json().get('items')
posts_list = []
if posts_items:
for post_item in posts_items:
nuevo_post = Post(post_item.get('id'))
nuevo_post.fecha = post_item.get('published')
nuevo_post.titulo = post_item.get('title')
nuevo_post.contenido = post_item.get('content')
nuevo_post.categorias = post_item.get('labels')
posts_list.append(nuevo_post)
return posts_list