def set_playback_data(request): comment = None if 'uuid' not in request.POST: try: comment_id = request.POST['comment_id'] except KeyError: raise ServiceError("Missing comment ID.") comment = get_object_or_404(QuestComment, id=comment_id) if request.user.id != comment.author.id: raise ServiceError("Can't upload playback data to a drawing you didn't create.") if 'playback_plist_data' in request.FILES: #plist = readPlistFromBytes(b''.join(request.FILES.get('playback_plist_data').chunks())) plist = readPlist(request.FILES['playback_plist_data']) playback_data = json.backend_dumps(plist) elif 'playback_data' in request.FILES: playback_data = u''.join(request.FILES.get('playback_data').chunks()) else: playback_data = request.POST['playback_data'] if comment is not None: save_playback_data(playback_data, comment=comment) else: save_playback_data(playback_data, uuid=request.POST['uuid'])
def test_set_plist_playback_data(self): user = create_user() cmt = self._post(user=user) playback = '{1: 2}' p = dict( aString="Doodah", aList=["A", "B", 12, 32.1, [1, 2, 3]], aFloat = 0.1, anInt = 728, ) s = StringIO() pl = writePlist(p, s) s.seek(0) resp = self.post('/api/playback/set_playback_data', data={ 'comment_id': cmt['id'], 'playback_plist_data': File(s, 'whatever.xml'), }, user=user) self._check(cmt['id'], json.backend_dumps(p))
def test_set_plist_playback_data(self): user = create_user() cmt = self._post(user=user) playback = '{1: 2}' p = dict( aString="Doodah", aList=["A", "B", 12, 32.1, [1, 2, 3]], aFloat=0.1, anInt=728, ) s = StringIO() pl = writePlist(p, s) s.seek(0) resp = self.post('/api/playback/set_playback_data', data={ 'comment_id': cmt['id'], 'playback_plist_data': File(s, 'whatever.xml'), }, user=user) self._check(cmt['id'], json.backend_dumps(p))
def enable_auto_curate(): redis.set('dq:auto_curate', backend_dumps(True))