עדכוני RSS
MetaWeblog API בלהק
תגים:
להק
בעקבות בקשת גיא לאפשרות למשוך את תוכן המסמכים דרך API חיצוני, הוחלט ליישם פונקציונליות שכזו.
היו שני מועמדים:
החלטתי ללכת על MetaWeblog API מאחר והוא מתאים יותר לסכימת ה-url של להק ... סתם, העדפתי אותו כי הוא מממש XMLRPC שקל יחסית לממש במגוון שפות תוך שימוש בספריות מובנות ו/או חיצוניות ויותר מערכות משתמשות בו .
ממשק ה-XMLRPC זמין בכתובת http://www.zulo.org.il/doc/meta/weblogapi/. כרגע מיושמת רק פונקציית ה-getPost שמאפשרת לקבל מידע על מסמך. בהתאם להגדרות היא מקבלת שלושה פרמטרים:
- postid : מזהה המסמך, בעצם ה-slug שלו המשמש לקישור ה-url
- username: שם המשתמש בזולו/להק
- password: הסיסמה בזולו/להק
בהתאם להגדרה יוחזר מבנה (struct. בפייתון יהיה dict, ב-php מערך אסוסיאטיבי) המכיל את השדות הבאים:
- postid: ה-slug של המסמך
- dateCreated: תאריך יצירת המסמך
- title: כותרת המסמך
- description: תוכן המסמך המעובד ל-html
- categories: התגים של המסמך (מערך של מחרוזות)
- publish: צריך להיות שם, במקרה של התיעוד תמיד יהיה True
הנה דוגמא ללקוח בפייתון ב-shell האינטראקטיבי אשר מחזיר את המסמך שידור חי מכנס איגוד האינטרנט :
>>> import sys
>>> import xmlrpclib
>>> rpc_srv = xmlrpclib.ServerProxy("http://www.zulo.org.il/doc/meta/weblogapi/")
>>> doc = rpc_srv.getPost('live', 'username', 'password')
>>> print doc['title']
שידור חי מכנס איגוד האינטרנט
>>> print doc['description']
<div class="document">
<p><strong>שלום!</strong></p>
<p><strong>תם השידור החי</strong></p>
...(נחתך למען הבהירות)
>>> for tag in doc['categories']:
... print tag
...
כנס
שידור חי
איגוד האינטרנט הישראלי
יכול להיות שיהיו בעיות עם קידודים (יוניקוד/utf-8) במקרה כזה אשמח למשוב.
תוכן הדיון
תגובה: MetaWeblog API בלהק
guysoft
תגובה: MetaWeblog API בלהק
guysoft
תגובה: MetaWeblog API בלהק
guysoft
תגובה: MetaWeblog API בלהק
guysoft
תגובה: MetaWeblog API בלהק
אנונימוס
תגובה: MetaWeblog API בלהק
guysoft
סה"כ תגובות: 6 |
הוספת תגובה

לפני
תגובה: MetaWeblog API בלהק
היי, המשימה שלי היא לבצע עכשיו קשר בין דפים שלנו לתיאור בפודקאסט. הקוד שלי כתוב ב-PHP. ונראה שיש בעיה בהתקנה של xmlrpc בדביין. אני לא יודע למה, אבל גם כאשר מתקינים את החבילה php5-xmlrpc היא לא קיימת שמבצעים include:
תגובה: MetaWeblog API בלהק
אוקי, פתרתי את הבעיה תודות ל-
העדכון כבר החל להיכנס לפודקאסט
אבל עכשיו מצאתי בעיה בלינקים שה-RPC מייצר שקשורים למדייה. תמונה שנמצאת במסד מתקבלת כך:
הלינקים לא מלאים
תגובה: MetaWeblog API בלהק
יש כרגע בעיית יוניקוד:
תגובה: MetaWeblog API בלהק
הנה הקוד שעובד לי:
#!/usr/bin/python import sys import xmlrpclib import codecs rpc_srv = xmlrpclib.ServerProxy("http://www.zulo.org.il/doc/meta/weblogapi/") doc = rpc_srv.getPost('podcast', 'user', 'pass') print codecs.encode(doc['title'],"utf8") print codecs.encode(doc['description'],"utf8") for tag in doc['categories']: print codecs.encode(tag,"utf8")תגובה: MetaWeblog API בלהק
יכול להיות שהסביבה שלך אינה מוגדרת בתור utf-8
תגובה: MetaWeblog API בלהק
האמת שזה כן מוגדר, נראה לי זו בעיה של יוניקוד.
בכל מקרה, יש לי עכשיו שאלה חדשה - האם אפשר למשוך כ-API את השמות האנגלים של המחרוזות? כי אני צריך את התאגים באנגלית למשהו.