def api(request): if request.REQUEST.has_key('key') and request.REQUEST.has_key('url') : url=UrlForm(request.REQUEST) success=201 elif request.REQUEST.has_key('url'): url=UrlForm(MergeDict(request.REQUEST,{'key':safeNewKey()})) success=201 elif request.REQUEST.has_key('key'): # pure lookup, no new redirection urlinst=get_object_or_404(URL,key=request.REQUEST['key']) url=UrlForm({'key':urlinst.key,'url':urlinst.url},instance=urlinst) success=200 else: url=UrlForm() if url.is_valid(): #url.save() retdict=getRetDict(url.instance.key,url.instance.url) response = HttpResponse(mimetype="application/json",status=success) json(retdict,response) else: response = HttpResponse(mimetype="application/json",status=409) json({'error':'Something went wrong, most probably, the short key you wanted was already taken or invalid.'},response) return response
def post(request, username, year, month, slug, template_name="features/post.html"): ''' The main Project and Feature view''' post = Feature.objects.filter( slug = slug, publish__year = int(year), publish__month = int(month), author__username = username, #feature_of__isnull=True, ) if not post: raise Http404 if post[0].status == 1 and post[0].author != request.user: raise Http404 features = post[0].feature_set.all() features = post | features featureList=[f.json for f in features] for i,f in enumerate(features): html = render_to_response("features/infowindow.html",{"feature":f}).content featureList[i]["html"]=html return render_to_response(template_name, { "post": post[0], "features":json(featureList), "free_threaded_comments": FreeThreadedComment.objects.filter(name='Android',object_id=post[0].id) }, context_instance=RequestContext(request))
def list(request): features = Feature.objects.filter(feature_of__isnull=True) out = [{'title':f.title, 'fid':f.id} for f in features] if 'apk' in request.GET: out = ['title: %s fid: %s'%(f.title, f.id) for f in features] if 'callback' in request.GET: out = request.GET['callback']+"("+json+")" else: out=json(out) return HttpResponse(out)
def edit(request, id, form_class=FeatureForm, template_name="features/edit.html"): post = get_object_or_404(Feature, id=id) if request.method == "POST": if post.author != request.user: messages.add_message(request, messages.ERROR, ugettext("You can't edit posts that aren't yours") ) return HttpResponseRedirect(reverse("feature_list_yours")) if request.POST["action"] == "update": blog_form = form_class(request.user, request.POST, instance=post) if blog_form.is_valid(): blog = blog_form.save(commit=False) blog.save() messages.add_message(request, messages.SUCCESS, ugettext("Successfully updated project '%s'") % blog.title ) if notification: if blog.status == 2: # published if friends: # @@@ might be worth having a shortcut for sending to all friends notification.send((x['friend'] for x in Friendship.objects.friends_for_user(blog.author)), "blog_friend_post", {"post": blog}) return HttpResponseRedirect(reverse("feature_list_yours")) else: blog_form = form_class(instance=post) else: blog_form = form_class(instance=post) features = Feature.objects.get(pk=id) #features = post | features featureList=[features.json] return render_to_response(template_name, { "blog_form": blog_form, "post": post, "features":json(featureList), 'featureType':FeatureType.objects.all(), }, context_instance=RequestContext(request))
import os, sys, re try: from simplejson import load as json from simplejson import dumps as dump except: from json import load as json from json import dumps as dump from glob import glob VERSION = 0.1 all = [] for p in glob("../plugins/*.json"): fp = open(p, "r") x = json(fp, "utf-8") x['date'] = int(os.path.getmtime(p) * 1000) fp.close() all += x, fp = open("../modules/plugins.json", "w") fp.write(dump(all))