RkBlog

Hardware, programming and astronomy tutorials and reviews.

wordpresslib

Opis biblioteki wordpresslib do operowania na danych zapisanych w bazie przez skrypt bloga Wordpress. Biblioteka ta umożliwia pobierania i modyfikowanie danych - wpisów, komentarzy itp.

wordpress-library (również na google code) to Pythonowy moduł-nakładka na API XML-RPC oferowane przez wordpress. Moduł ten pozwala w łatwy sposób pobierać jak i dodawać czy edytować dane bloga. Instalacja standardowa (python setup.py install)

Cały kod modułu znajduje się w pliku wordpresslib.py i warto mieć go pod ręką jako że to jedyne źródło "dokumentacji". Prace z wordpresslib zaczynamy od bazowego kodu:
import wordpresslib
wordpress = 'http://www.jakiśwordpress.org/xmlrpc.php'
user = 'LOGIN'
password = 'HASLO'

# stworzenie obiektu klienta WP
wp = wordpresslib.WordPressClient(wordpress, user, password)
# Wybieramy ID bloga (zazwyczaj 0)
wp.selectBlog(0)
Zmienna wordpress przechowuje odnośnik do instalacji bloga, a dokładnie do pliku xmlrpc.php. Zmienne user i password to dane naszego konta na tym blogu. Przeglądając wordpresslib.py znajdziemy m.in. metodę getRecentPosts() - pobierającą najnowsze wpisy:
import wordpresslib
wordpress = 'http://www.jakiśwordpress.org/xmlrpc.php'
user = 'LOGIN'
password = 'HASLO'

wp = wordpresslib.WordPressClient(wordpress, user, password)
wp.selectBlog(0)

for i in wp.getRecentPosts():
	print i.title
getRecentPosts() zwraca tuplę obiektów WordPressPost. Właściwości obiektu WordPressPost znajdziemy w pliku modułu:
class WordPressPost:
	"""Represents post item
	"""	
	def __init__(self):
		self.id = 0
		self.title = ''
		self.date = None
		self.permaLink = ''
		self.description = ''
		self.textMore = ''
		self.excerpt = ''
		self.link = ''
		self.categories = []
		self.user = ''
		self.allowPings	= False
		self.allowComments = False

Dodanie wpisu to też nie problem, oto kod:
import wordpresslib

print 'Dodawanie newsa.'
print

wordpress = 'http://www.jakiśwordpress.org/xmlrpc.php'
user = 'LOGIN'
password = 'HASLO'

# stworzenie obiektu klienta WP
wp = wordpresslib.WordPressClient(wordpress, user, password)

# Wybieramy ID bloga (zazwyczaj 0)
wp.selectBlog(0)

# dla przykladu dodamy grafike
imageSrc = wp.newMediaObject('grafika.png')

if imageSrc:
	# tworzymy news
	post = wordpresslib.WordPressPost()
	post.title = 'Test post'
	post.description = '''
	Python is the best programming language in the earth !
	
	<img src="%s" />
	
	''' % imageSrc
	
	# publikujemy
	idNewPost = wp.newPost(post, True)
	
	print
	print 'news dodany!'
RkBlog

14 July 2008;

Comment article