From the Burrow
Pressly goes live!
And we are up on launchpad, got to say the information provided by the Ubuntu Developer week logs was stellar and really helped me get going.
I’m much more used to writing things either just for work or for my own use so getting code out there in this way feel great.
For those who want to have a tinker, you can find it here.
I’m also beavering away at getting my Active Directory library up on line soon. I’ll keep you posted on that as it develops.
Thats what I'm talking about!
Dammit, sometimes it just all seems to fall into place.
Just 2 minutes ago, I realised I hadn’t tagged the last 4 posts and so I thought I best test the library:
for index,post in list(enumerate(blog[:4])): post["tags"]=["python","wordpress"] blog[index]=post
That’ll do just fine!
Right, next stop.. comments!
Fun with Tags
As I mentioned a few posts back, tags are a bit weird. I had assumed that you would be able to query for a list of posts belonging to a certain tag but apparently not.
What I have gone for instead is to scrape the rss feed for the tag, and from that grab the post ids.
As there could be hundreds the call returns post objects which behave like dicts but can retrieve the data from the server as it is accessed.
So to grab all the posts tagged ‘python’ and print the body text of the first post you can do this:
tagged_posts = blog["python"] print tagged_posts[0]["body"]
Simple!
Editing a post
Here’s what you do to change a post’s title with my library:
# get most recent post
post = blog[0]
# edit the posts title
post.title = "hey a new title!"
# push post back to blog
blog[0] = post
Tags are an interesting beasty with wordpress, I can’t query for all posts with a tag, but I can get the rss feed for a tag, so I’m hoping I can pull the info from there.
Will keep ye posted
API Changes
Hey folks,
Made some changes to keep things a native as possible.
Posts behave as dicts now, to make a post you now just have to write:
post= {"title": "example title", "body": "example body text", "tags": ["wordpress", "api", "python"], "live": True} blog.append(post)
Internally the library uses a dict like object to present posts but that is just so that some data can be retrieved lazily.
I’m close to an beta release now so I’m really going to have to hurry up and get on launchpad!
test post
Test text New line Conclusion…BYE!
anther test
Well this is boring!
The simple Wordpress Library in practice
Ok so here is how you make a simple post using the new python library I’m writing
import wpress blogs = wpress.WP("https://cbaggers.wordpress.com/xmlrpc.php", "username", "password") blog = blogs["Baggers on the Web"] new_post = wpress.WPPost() new_post.title = "First Post Test!" new_post.body = """Hey all! This is my first live test of my python library. In the next post I will show the code used to post this post. Wooo!""" new_post.tags=["wordpress","python"] new_post.live=True blog.append(new_post)
That’s all there is to it! When you connect to wordpress a dict of your blogs is returned, you pull out the one you want and append on a post.
If you want to pull the first 6 posts you do this
import wpress blogs = wpress.WP("https://cbaggers.wordpress.com/xmlrpc.php", "username", "password") blog = blogs["Baggers on the Web"] first_six = blog[:6]
I’m crashing out now but I’m going to post on working with xmlrpc in general soon…there have been some interesting gotchas.
Goodnight!
Need a mapping of SQL Version Numbers to Release and SP?
I did…and I found it here
My reading for tonight
This looks like about the best place to start on my road to Ubuntu development: Getting Started with Ubuntu Development
Cheers to dholbach and everyone in the Ubuntu developer week. I’ll post back how this goes.