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