File size: 1,490 Bytes
61af46f
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
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