skeletonz - The simple Python CMS system
Informacion del Blog
Etiquetas:
Archivo:
RSS blog feed

Romantic love poem in Python

Escrito el 25. Jun · Comentarios [1]
Muy geek y no de mi autoria, pero me gusto.

El autor es Damian Parniewicz.

Machete mode ON: http://aspn.activestate.com/ASPN/Python tiene un repo muy grande de librerias y codigo python, lejos lo mejor dando vuelta... aunque de momento no encontre un buen editor para python.

¿Alquien me podra recomendar uno que sea "Multi Plataforma"? Puede ser libre o comercial, que tenga soporte para FTP, SVN o sea extendible mediante SDK, ya que me aburri de la vieja consola y mi computadora da para algo mas que un vim o emacs ;).

...

if you in (depressed, sadness, resignation):
    print 'me, my sweetheart'
if feel(you) is 'lonely' or feel(you) is 'neglected':
    talk_me(this)
while always:
    I.take_care(you)
    if you.love() is not me:
        # I will follow in the madness
        # I will 
        break # down...
for emotion in my.heart:
    try:
        your.lover = me
    except:
        your.best_friend = me
if you.hate(me):
    love(me)
elif I.annoying():
    love(me)
else:
    love(me, how='deeply', when='now') 

...
Labels: Etiquetas: Python

Contact form para Skeletonz - Parte 1

Escrito el 17. Jun · Comentarios [0]
Este es mi primer plugin, el cual publico en el estado que lo dejo a las 6:20 AM, mi intencion es crear un formulario de contacto, puesto que Skeletonz no trae alguno... que raro es, ya que casi todos los CMS's crear en primera instancia un formulario de contacto.

Debo confezar que me llevo algo de tiempo entender la estructura de todo este CMS, aunque pequeño carece de algunas cosas basicas, como documentacion. Esta seria la primera parte del formulario, todabia no estoy desplegando ningun tipo de formulario, solo preparo el camino hacia el mismo, ya que Skeletonz soporta templates debo leer el: como cuando donde.

Esta seria la primera etapa de mi humilde formulario asi que no esperen muuucho de momento, con el tiempo aprendere python, entre el trabajo y el poco tiempo cuesta un poco dedicarle horas a esto.

Mi siguiente paso sera el poder cargar templates para el formulario.. pero eso sera en mi proximo post.

from skeletonz.modules.plugin import GenericPlugin
from skeletonz.server import getFormatManager

PLUGINS_FOR_EXPORT = ['ContactForm']

class ContactForm(GenericPlugin):

    NAME = "Contact Form"
    DESCRIPTION = "Add a contact form to a page."
    SYNTAX = [
        {'handler': 'contactform',
         'required_arguments': {'email': 'The contact email'},
         'optional_arguments': {'subject': 'The email subject'}
        }
      ]    
      
    def __init__(self):    
        getFormatManager().registerSLPlugin('contactform', self.handle)

    def handle(self, args, edit_mode, page_id):
	    if args.has_key('email'):
	        email = args['email']
	        return True, """Envio email a %s""" % (email)
Labels: Etiquetas: Python Skeletonz

Enviando plurks...

Escrito el 16. Jun · Comentarios [0]
Macheteando dijo un amigo, esto va a ser la base para el plugin de Skel que estoy haciendo, el cual debe permtirme enviar lo que estoy haciendo a plurk en el momento.

Aunque tendria que hacer algun plugin tambien para enviar remotamente desde mi dekstop, lo cual terminaria siendo una app y no un plugin, pero en un futuro ya veremos...

La idea general seria que se envie un post con el titlo de lo que escribi en mi blog, acompañado de la direccion permanente del mismo. PERO tambien deberia poder enviar un mensaje cualquiera sin tener que escribir una entrada en mi blog, asi que vamos a tener que armar 2 modos distintos para el plugin.

Este es la base original y sin tocar. Quien no alla probado Plurk esta invitado, es una buena alternativa a twitter el cual deje de usar hace algun tiempo.

import urllib
import urllib2
import cookielib

# Based on Charl VN's PHP Code

PLURK_LOGIN_URL = 'http://www.plurk.com/Users/login'
PLURK_ADD_URL = 'http://www.plurk.com/TimeLine/addPlurk'
NICKNAME = ''
PASSWORD = ''

if __name__ == '__main__':
    # Set up
    jar = cookielib.CookieJar()
    handler = urllib2.HTTPCookieProcessor(jar)
    opener = urllib2.build_opener(handler)

    # Login phase ...
    url = PLURK_LOGIN_URL
    values = { 'nick_name': NICKNAME, 'password': PASSWORD }
    data = urllib.urlencode(values)
    req = urllib2.Request(url, data)
    response = opener.open(req)

    # Now plurk something!
    values = {'content': 'Skeletonz remote Plurk posting!!', 'lang':'en', 'no_comments':'0'}
    data = urllib.urlencode(values)
    data+='&qualifier=%3A'  # Dont know if this is needed
    url = PLURK_ADD_URL
    req = urllib2.Request(url, data)
    response = opener.open(req)
    print response.read()

Labels: Etiquetas: Plurk Python

Traduciendo Skeletonz

Escrito el 15. Jun · Comentarios [0]
Estoy comenzando a traducir los primeros scripts de Skeletonz, diria que Amir Salihefendic se olvido de agregar el factor multilingue asi que me toca modear esa parte.

Asi tambien como armarme algunos plugins con los cuales no cuento porque directamente no existen, un search interno, ya que usa Google Custom search para efectuar las busquedas.

El diseño de un plugin es bastante facil de entender, el modelo planeado por Amir Salihefendic para desarrollar un CMS es muy entendible, ya que su base, reescrita ya 3 veces por el autor tiene mucho de MVC.

Un plugin simple, el cual acompaña a Skeletonz se llama testadmin, el cual contiene el siguiente codigo:

from skeletonz.modules.plugin import GenericPlugin
from skeletonz.user_plugins import ListOption, TextOption

PLUGINS_FOR_EXPORT = ['testadmin']

class testadmin(GenericPlugin):
    NAME = "Test admin"
    DESCRIPTION = "Dummy plugin that shows how plugin configuration work."

    PLUGIN_OPTIONS = [TextOption(scope='testadmin',name="Text1",text="Your text value", default=""),
                      ListOption(scope='testadmin',name="list1", text="Your list choice",list_values=(1,2,3,4), default=2)
                    ]

Y como veran es muy simple de entender. Ahora como la base de Skeletonz es UNICODE tambien seria simple construir un sistema de idiomas para el mismo, de todas formas no me quiero emocionar traduciendolo puesto que en cualquier momento sale una version nueva tal y como señala en su blog.

Labels: Etiquetas: Python Skeletonz

Hola PYTHON, chau PHP!

Escrito el 14. Jun · Comentarios [0]
Como veran estoy migrando a Skel mi antiguo website.. esto va a demorar algunos dias mientras copio todo el contenido anterior. Entre poemas, articulos y codigo el cual tenia funcionando antes en mi CMS propio y luego en LifeType.

Me decidi por python ya que es hora de aprender algo mas fuerte y mas potente que php.

Hasta ahora el modelo de desarrollo bajo python es mucho mas atractivo y mas simple todabia que en php, si bien no tengo un DSO pegado a apache sel corre perfectamente con un micro webserver el cual trae integrado, unas pequeñas lineas en apache, mod_proxy y voila.

Labels: Etiquetas: Python Skeletonz
Powered by Skeletonz