一个简单的个人pshb集线器,用于自己博客的django项目。不作为发布者的公共中心,因此只是“subsub”。
SubHub的Python项目详细描述
===
subsubub
==
subub是一个实现“pubsububbub”集线器的django应用程序。把它看作是一种推送机制,你的个人网站用它来通知订阅者关于你的网站发布的订阅源的更改。注意:subsub只适用于atom提要。因为现在已经没有更多的理由使用实际的rss格式作为feed了。
但是,它确实需要cron作业来处理挂起的订阅
和失败的通知。
。_ pubsububbub:http://code.google.com/p/pubsububbub/
安装
==
>1。使用您喜爱的包管理器或简单地使用“python
setup.py install`.
2安装subsubub。将其“subsub”包含到Django设置中已安装的应用程序中,然后运行
`./manage.py syncdb``以创建新表。
3。在项目的urlconf中以合理的名称包含子ub url::
…
(r'^hub/',include('subub.url'),
)
4。设置一个cron作业,该作业将处理挂起的订阅并分发失败的通知:
subsub-u维护--分发
宣布您的中心
==
它看起来有点重,但不要让它吓跑你!
首先要做的是对django的内置atom提要生成器进行子类划分,并教它查找在特定提要定义中定义的集线器链接:
处理程序:
super(hubatom1feed,self).add_root_元素(处理程序)
hub_link=self.feed.get('hub_link')
如果hub_link不是none:
handler.addquickelement(u'link','',{
u'rel':u'hub',
u'ref':hub链接,
}
然后在要使用通知的每个提要中定义一个链接:
obj):
返回{
“hub-link”:绝对url(reverse('subhub-hub'),
}
它应该使添加方案和域的url成为绝对的。
在
-一个post的条目id,在大多数情况下,它是它的绝对url
示例::
import subsubub
class post(models.model):
def save(self,**kwargs):
super(post,self).save(**kwargs)
如果self.published:
如果transaction.is嫒managed():
transaction.commit()
topics=['/blog/feed/']\绝对url(self.get_absolute_url()),
)
只要确保在调用之前提交一个db事务(如果您使用它)。这是必需的,因为subsubub将向您自己的服务器发出一个单独的http请求,以获取一个更新的feed。
subsubub
==
subub是一个实现“pubsububbub”集线器的django应用程序。把它看作是一种推送机制,你的个人网站用它来通知订阅者关于你的网站发布的订阅源的更改。注意:subsub只适用于atom提要。因为现在已经没有更多的理由使用实际的rss格式作为feed了。
但是,它确实需要cron作业来处理挂起的订阅
和失败的通知。
。_ pubsububbub:http://code.google.com/p/pubsububbub/
安装
==
>1。使用您喜爱的包管理器或简单地使用“python
setup.py install`.
2安装subsubub。将其“subsub”包含到Django设置中已安装的应用程序中,然后运行
`./manage.py syncdb``以创建新表。
3。在项目的urlconf中以合理的名称包含子ub url::
(r'^hub/',include('subub.url'),
)
4。设置一个cron作业,该作业将处理挂起的订阅并分发失败的通知:
subsub-u维护--分发
宣布您的中心
==
它看起来有点重,但不要让它吓跑你!
首先要做的是对django的内置atom提要生成器进行子类划分,并教它查找在特定提要定义中定义的集线器链接:
处理程序:
super(hubatom1feed,self).add_root_元素(处理程序)
hub_link=self.feed.get('hub_link')
如果hub_link不是none:
handler.addquickelement(u'link','',{
u'rel':u'hub',
u'ref':hub链接,
}
然后在要使用通知的每个提要中定义一个链接:
obj):
返回{
“hub-link”:绝对url(reverse('subhub-hub'),
}
它应该使添加方案和域的url成为绝对的。
在
-一个post的条目id,在大多数情况下,它是它的绝对url
示例::
import subsubub
class post(models.model):
def save(self,**kwargs):
super(post,self).save(**kwargs)
如果self.published:
如果transaction.is嫒managed():
transaction.commit()
topics=['/blog/feed/']\绝对url(self.get_absolute_url()),
)
只要确保在调用之前提交一个db事务(如果您使用它)。这是必需的,因为subsubub将向您自己的服务器发出一个单独的http请求,以获取一个更新的feed。