##// END OF EJS Templates
Search for image for every domain level starting from the lowest one. Cache this into memcached
Search for image for every domain level starting from the lowest one. Cache this into memcached

File last commit:

r1574:cc931fea default
r1772:1342675d default
Show More
sync.py
55 lines | 1.4 KiB | text/x-python | PythonLexer
import xml.etree.ElementTree as et
from django.http import HttpResponse, Http404
from boards.models import GlobalId, Post
from boards.models.post.sync import SyncManager
def response_list(request):
request_xml = request.body
if request_xml is None or len(request_xml) == 0:
return HttpResponse(content='Use the API')
response_xml = SyncManager.generate_response_list()
return HttpResponse(content=response_xml)
def response_get(request):
"""
Processes a GET request with post ID list and returns the posts XML list.
Request should contain an 'xml' post attribute with the actual request XML.
"""
request_xml = request.body
if request_xml is None or len(request_xml) == 0:
return HttpResponse(content='Use the API')
posts = []
root_tag = et.fromstring(request_xml)
model_tag = root_tag[0]
for id_tag in model_tag:
global_id, exists = GlobalId.from_xml_element(id_tag)
if exists:
posts.append(Post.objects.get(global_id=global_id))
response_xml = SyncManager.generate_response_get(posts)
return HttpResponse(content=response_xml)
def get_post_sync_data(request, post_id):
try:
post = Post.objects.get(id=post_id)
except Post.DoesNotExist:
raise Http404()
xml_str = SyncManager.generate_response_get([post])
return HttpResponse(
content_type='text/xml; charset=utf-8',
content=xml_str,
)