posting from python to WP

misc — Panayotis @ 14:09

For the last couple of days, I’ve been experimenting with a new format for my podcast. During the day I record little “audionotes” on my mobile phone. At the end of the day I move these .wav files to my MacBook Pro and use a bunch of scripts to automatically paste them together, generate the MP3 file, upload it to Amazon S3, and post a new entry to my greek blog.

To do this, I’ve written a couple of quick’n'dirty scripts in python and bash. Most of the code is ugly, and amy things are hardcoded in there. But I think someone may find them useful.

Here is one of them, post2wordpress.py. It is called from the command line like python post2wordpress.py mymp3file.mp3. It uses eyeD3 to extract some basic info from the MP3 file, and python-blogger to post a new entry to my wordpress blog.

post2wordpress.py

# coding=utf-8

import pyblog
import eyeD3
import fnmatch
import os
import datetime
import sys

blog = pyblog.WordPress('http://vrypan.net/weblog/xmlrpc.php',
        'username', 'password')

tag = eyeD3.Tag()
if len(sys.argv)>2:
        directory = sys.argv[2]
else:
        directory = './mp3'

f = sys.argv[1]
filename = os.path.join(directory,f)
filesize = float(os.stat(filename).st_size) / 1048576.0;
tag.link(filename,eyeD3.ID3_V2)

size = str(os.stat(filename).st_size)

title = tag.getTitle()
body = 'duration: '+eyeD3.Mp3AudioFile(filename).getPlayTimeString() + '\n'
body = body + 'download: '+f+''
body = body + " [%.2f MB] \n" % filesize
body = body + 'more info...'

data = {
                'title':title,
                'description': body,
                'categories': ['audionotes'],
                'post_status': 'private',
                'custom_fields': [{'value': 'http://audionotes.vrypan.net/'+f+'\n'+size+
                        '\naudio/mpeg', 'key': 'enclosure'}]
                }
blog.new_post(data)

1 Comment »

  1. [...] posting from python to WP (ένα από τα scripts που χρησιμοποιώ στο audionotes) — asides — Tags: howto — Panayotis @ 24|Sep|2008 15:21 [...]

RSS feed for comments on this post. TrackBack URI

Leave a comment

This work is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License.
(c) 2008 vrypan|net|log | powered by WordPress with Barecity