Posting in a blog with an external program needs support by an API. One of these is MetaWeblog API, implemented for Django by Greg Abbas. I adapted his implementation for my needs and extended it so my blog can handle multimedia content in posts.

Now I could post with images to the blog if not the blog tools I found for Linux were so horribly bad. With Gnome-Blog I can upload images from the desktop, but cannot mark a post as unpublished, which is a little bit dangerous for me. BloGTK has it the other way round, Drivel does not support the MetaWeblog API. I don't want to install the KDE panel applet KBlogger on my Gnome system. Are there any alternatives? Well, I'm doing this to be able to blog via my smartphone, so it doesn't matter anyway. Here comes the code.

I added a table Attachment to my model, that take care about content attached to blog posts:

class Attachment(models.Model):
    """
    A Attachment to a blog post
    """
    filename= models.CharField(max_length=100)
    contenttype= models.CharField(max_length=255)
    content= models.FileField(upload_to='blog-attach/%Y/%m')
    class Admin:
        pass
    def delete(self):
        import os
        filename=self.get_content_filename()
        try:
            os.remove(filename)
        except OSError:
            pass
        models.Model.delete(self)

Then I added the RPC function metaWeblog_newMediaObject that is missing in Greg's code:

@public
@authenticated()
def metaWeblog_newMediaObject(user, blogid, struct):        
    bits = b64decode(struct['bits'])
    name = struct['name']
    mime = struct['type']

    attachment= Attachment(content= bits,
                   filename= name,
                   contenttype= mime)
    attachment.save_content_file(name, bits)
    attachment.save()

    return {'url': attachment.get_content_url()}

19 Kommentare:

#1 rgergerger schrieb am 4. November 2008:

Thank for making this valuable information available to the public..


#2 rgergerger schrieb am 6. November 2008:

Check out my new site:)L


#3 rgergerger schrieb am 7. November 2008:

I have your site for its useful and funny content and simple design.


#4 rgergerger schrieb am 9. November 2008:

Check out my new site:)S


#5 rgergerger schrieb am 11. November 2008:

I\'l be back... :)o


#6 rgergerger schrieb am 12. November 2008:

Hello people! Nice site!a


#7 rgergerger schrieb am 12. November 2008:

Hi, all. Nice site...I really like your site ! Good job man.


#8 rgergerger schrieb am 13. November 2008:

Great site. I will bookmark for my sons to view as well!!!


#9 rgergerger schrieb am 13. November 2008:

Great+site.+I+will+bookmark+for+my+sons+to+view+as+well%21%21%21


#10 rgergerger schrieb am 13. November 2008:

You have built a good websitea


#11 rgergerger schrieb am 15. November 2008:

Hi, good morning to all of you... Nice Guestbook ;-) !!!t


#12 rgergerger schrieb am 16. November 2008:

This is very interesting site...


#13 rgergerger schrieb am 25. November 2008:

I enjoy your site very much! THANK YOUo


#14 rgergerger schrieb am 28. November 2008:

Wonderful+and+informative+web+site.I+used+information+from+that+site+its+great.i


#15 rgergerger schrieb am 4. Dezember 2008:

I thank the Lord for giving us the gift of brilliant preachers!


#16 rgergerger schrieb am 6. Dezember 2008:

I have always wanted a compendium of novena prayers. Thank you for sharing all these prayers with us. It brings joy and happiness to everyone. I know, I do feel that way.


#17 rgergerger schrieb am 10. Dezember 2008:

Sentimental and nostalgic. Great.e


#18 rgergerger schrieb am 11. Dezember 2008:

Cool!.. Nice work...


#19 rgergerger schrieb am 14. Dezember 2008:

Very good site! I like it! Thanks!o


Kommentar schreiben