def generate_preview(world_id): """ Not used? """ if not world_id: return jsonify( success=False, message=u'Ingen verden ID mottatt' ) w = World.get_by_id(world_id) world_ref = w.file_ref success = files.generate_world_preview(world_ref) if success: w.preview = True w.store() return 'Genererer forhåndsvisning. Dette kan ta noen minutter.' else: return 'Failure'
def show_preview(world_id): """ Render Minecraft world preview page or generate preview if it doesn't exist """ if not world_id: return jsonify( success=False, message=u'Ingen verden ID mottatt' ) # TODO Check if preview files is present world = World.get_by_id(world_id) preview = tasks.generate_preview_task.AsyncResult(world.file_ref) if preview.status == 'PENDING': print(str(world_id) + " PENDING") # Probably not started. Start it. success = files.generate_world_preview(world.file_ref) if success: return jsonify( status='PENDING', message=u'Ingen forhåndsvisning lagret. Ber om forhåndsvisning...' ) else: return jsonify( status='FAILED', message=u'Noe gikk galt!' ) elif preview.status == 'SENT': print(str(world_id) + " SENT") # Received by the worker, and in queue. Tell user to wait. return jsonify( status='SENT', message=u'Forespørsel om forhåndsvisning er sendt. Hvis det er stor pågang kan dette ta en stund.' ) elif preview.status == 'STARTED': print(str(world_id) + " STARTED") # Generating preview return jsonify( status='STARTED', message=u'Vi lager en forhåndsvisning. Dette kan ta noen minutter.' ) elif preview.status == 'SUCCESS': print(str(world_id) + " SUCCESS") # Finished. Show the preview. print('forhåndsvisningen er ferdig') return render_template( 'preview.html', world_ref=world.file_ref, ), 200