Blogalia. Un web para todos

PyBlogalia: Acceso a Blogalia a través de metaWeblog y blogger API

#!/usr/bin/python

"""

        Blogatex
        (C) 2002 Víctor R. Ruiz <rvr@infoastro.com>
        
        blogalia.py - Programa para editar historias vía metaWeblog API

"""
import xmlrpclib
import re

class blogalia:
        """ Clase para acceder a Blogalia. Utiliza los interfaces
                Blogger y metaWeblog API, tal y como están comentadas
                en desarrollo.blogalia.com
                
                Modelo: Blogger/metaWeblog API
                --> Vista: blogalia.py
                Controlador: -
        """

        def __init__(self, usuario, clave, montaje = 'http://www.blogalia.com/RPC.php'):
                """ Constructor de la clase. No se comprueba si el usuario y la clave son correctos
                """
                self.usuario = usuario
                self.clave = clave
                self.montaje = montaje
                self.servidor = xmlrpclib.Server(self.montaje)
                self.leerBitacoras()

        def leerBitacoras(self):
                """ Devuelve un diccionario con las bitácoras del usuario """
                bitacoras = self.servidor.blogger.getUsersBlogs('APPKEY', self.usuario, self.clave)
                self.bitacoras = bitacoras
                return bitacoras

        def leerHistorias(self, bitacoraId, numHistorias = 20):
                """ Devuelve una lista con las numHistorias de la bitácora bitacoraId """
                historias = self.servidor.blogger.getRecentPosts('APPKEY', bitacoraId, self.usuario, self.clave, numHistorias)
                return historias

        def crearHistoria(self, bitacoraId, historia):
                """ Crea una historia en la bitácora bitacoraId. historia es un
                        diccionario que debe contener al menos las claves "title" y
                        "description"
                """
                params = historia.keys()
                if (("title" in params) and ("description" in params)):
                        return self.servidor.metaWeblog.newPost(bitacoraId, self.usuario, self.clave, historia, 1)
                else:
                        return 0

        def editarHistoria(self, historiaId, historia):
                """ Edita la historia historiaId y cambia los contenidos por los
                        del diccionario historia, que debe contener al menos las claves
                        "title" y "description"
                """
                params = historia.keys()
                if (("title" in params) and ("description" in params)):
                        return self.servidor.metaWeblog.editPost(historiaId, self.usuario, self.clave, historia, 1)
                else:
                        return 0

        def borrarHistoria(self, historiaId):
                """ Borra la historia historiaId """
                return self.servidor.blogger.deletePost('APPKEY', historiaId, self.usuario, self.clave, 1)

        def blogatex(self, texto):
                """ Convierte un blogatex en HTML """
                reg = re.compile("\[\{(.*?) (http\:\/\/.*|ftp\:\/\/.*|mailto\:.*?)\}\]")
                texto = reg.sub("", texto)

                reg = re.compile("/\[\{(http\:\/\/.*?|ftp\:\/\/.*?|mailto\:.*?)\}\]/")
                texto = reg.sub("", texto)

                reg = re.compile("/\[\*(.*?)\*\]/")
                texto = reg.sub("<b></b>", texto)

                reg = re.compile("/\[\/(.*?)\/\]/")
                texto = reg.sub("<i></i>", texto)

                reg = re.compile("/\[\_(.*?)\_\]/")
                texto = reg.sub("<u></u>", texto)

                reg = re.compile("/\[\((.*?)\)\][\s\n\r]*/")
                texto = reg.sub("<h4></h4>", texto)

                reg = re.compile("/\n([\r]{0,1})/U")
                texto = reg.sub("<br />\n", texto)

                return texto


def main():
        blog = blogalia('usuario', 'clave')
        print blog.leerBitacoras()
        print blog.leerHistorias(5, 2)

        historia = {'title' : 'Prueba', 'description': 'Probando, 1, 2, 3'}
        print blog.crearHistoria(2, historia)
        historia = {'title' : 'Prueba', 'description': 'Probando, 1, 2, 3, 4'}
        print blog.editarHistoria(68, historia)
        print blog.borrarHistoria(68)


if __name__ == '__main__':
        main()





    


Noticias sobre el desarrollo de Blogalia

Histórico

<Febrero 2025
Lu Ma Mi Ju Vi Sa Do
          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    
             


Recursos

Proyectos

Otras bitácoras

Canal RDF






 
PostgreSQL

PHP

Python


© 2002-2003 Blogalia.com <blogalia@blogalia.com>


Blogalia