一个简单的个人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。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
Java中ArrayList的超简单问题   Java 8在一段时间后过期   java如何创建具有用户定义维度的矩阵,并使用从上到下、从左到右的递增值填充它?   java从JDBC重启mysql   带有sqlite的java LiveData未更新UI   带有JDialog的java小程序在Mac OSX中未正确隐藏   java ActionListener无法从公共类引用数组?   java Apache Digester:NoSuchMethodException:没有这样的可访问方法   安卓中数据库中的java数据没有以正确的格式检索   java快速排序实现:使用random pivot时几乎排序   安卓 Java:高效的ArrayList过滤?   java如何在单独的文件中制作GUI程序   jasper报告如何从JSP或Java代码在JasperReport中传递参数值?