<td>{{blog.approved|yesno:"Yes,No"}}</td>
<td>Feed: <a href="{{blog.feedurl}}">{{blog.feedurl}}</a><br/>Blog: <a href="{{blog.blogurl}}">{{blog.blogurl}}</a><br/>
Author Filter: {{blog.authorfilter}}<br/>
-Twitter name: {%if blog.twitteruser%}@<a href="http://twitter.com/{{blog.twitteruser}}">{{blog.twitteruser}}</a>{%endif%}
+Twitter name: {%if blog.twitteruser%}@<a href="http://twitter.com/{{blog.twitteruser}}">{{blog.twitteruser}}</a>{%endif%}<br/>
+Last http get: {{blog.lastget}}<br/>
</td>
<td><a href="log/{{blog.id}}/">View log</a><br/>
{%if user.is_superuser %}
<br/>
<nobr><a href="discover/{{blog.id}}/">Fetch metadata</a></nobr><br/>
+ <nobr><a href="reset/{{blog.id}}/">Reset http time</a></nobr><br/>
</td>
{%endif%}
</tr>
(r'^new/$', 'hamnadmin.register.views.new'),
(r'^discover/(\d+)/$', 'hamnadmin.register.views.discover'),
(r'^delete/(\d+)/$', 'hamnadmin.register.views.delete'),
+ (r'^reset/(\d+)/$', 'hamnadmin.register.views.reset'),
(r'^log/(\d+)/$','hamnadmin.register.views.logview'),
(r'^blogposts/(\d+)/$', 'hamnadmin.register.views.blogposts'),
from hamnadmin.exceptions import pExcept
import socket
+import datetime
import feedparser
def issuperuser(user):
AuditEntry(request.user.username, 'Deleted blog %s' % blog.feedurl).save()
return HttpResponseRedirect('../..')
+@login_required
+@transaction.commit_on_success
+def reset(request, id):
+ blog = get_object_or_404(Blog, id=id)
+ if not blog.userid == request.user.username:
+ raise pExcept("You can only reset your own feeds! Don't try to hack!")
+ blog.lastget = datetime.datetime(2000,01,01)
+ blog.save()
+ AuditEntry(request.user.username, 'Reset blog %s' % blog.feedurl).save()
+ return HttpResponseRedirect('../..')
+
@user_passes_test(issuperuser)
@transaction.commit_on_success
def discover(request, id):