def run_task(self, result_id, runjob_id, *args, **kwargs): runjob = RunJob.objects.get(pk=runjob_id) if runjob.needs_input: if runjob.status == RunJobStatus.RUN_ONCE_WAITING: self.retry(args=[result_id, runjob_id], *args, countdown=10, **kwargs) else: # This is the first time the job is running. taskutil.set_running(runjob) page_path = runjob.page.compat_file_path self._create_temp_neon_directory(runjob) mei_path = taskutil.get_input_path(runjob, result_id) shutil.copy(mei_path, live_mei_path(runjob)) shutil.copy(live_mei_path(runjob), backup_mei_path(runjob)) page_image = Image.open(page_path) page_image.save(compressed_image_path(runjob), quality=40) taskutil.set_run_once_waiting(runjob) self.retry(args=[result_id, runjob_id], *args, countdown=10, **kwargs) else: taskutil.set_running(runjob) result = taskutil.init_result(runjob) taskutil.save_result(result, live_mei_path(runjob)) return str(result.uuid)
def move_neume(request, runjob_id): if request.method == 'POST': data = json.loads(request.POST['data']) id = str(data.get("id")) before_id = str(data.get("beforeid")) try: ulx = str(data["ulx"]) uly = str(data["uly"]) lrx = str(data["lrx"]) lry = str(data["lry"]) except KeyError: ulx = uly = lrx = lry = None pitch_info = data.get("pitchInfo") runjob = get_object_or_404(RunJob, pk=runjob_id) fname = live_mei_path(runjob) md = ModifyDocument(fname) md.move_neume(id, before_id, pitch_info, ulx, uly, lrx, lry) md.write_doc() return {}
def revert_file(request, runjob_id): if request.method == 'POST': runjob = get_object_or_404(RunJob, pk=runjob_id) print backup_mei_path(runjob) print os.path.exists(backup_mei_path(runjob)) if os.path.exists(backup_mei_path(runjob)): shutil.copy(backup_mei_path(runjob), live_mei_path(runjob)) else: raise Http404
def delete_clef(request, runjob_id): if request.method == 'POST': clefs_to_delete = json.loads(request.POST['data']) runjob = get_object_or_404(RunJob, pk=runjob_id) fname = live_mei_path(runjob) md = ModifyDocument(fname) md.delete_clef(clefs_to_delete) md.write_doc() return {}
def delete_neume(request, runjob_id): if request.method == 'POST': ids = str(request.POST.get('ids')) runjob = get_object_or_404(RunJob, pk=runjob_id) fname = live_mei_path(runjob) md = ModifyDocument(fname) md.delete_neume(ids.split(",")) md.write_doc() return {}
def delete_custos(request, runjob_id): if request.method == 'POST': custos_id = str(request.POST.get('id')) runjob = get_object_or_404(RunJob, pk=runjob_id) fname = live_mei_path(runjob) md = ModifyDocument(fname) md.delete_custos(custos_id) md.write_doc() return {}
def ungroup(request, runjob_id): if request.method == 'POST': data = json.loads(request.POST['data']) nids = str(data.get("nids")) bboxes = data.get("bbs") runjob = get_object_or_404(RunJob, pk=runjob_id) fname = live_mei_path(runjob) md = ModifyDocument(fname) result = md.ungroup(nids.split(','), bboxes) md.write_doc() return result
def delete_dot(request, runjob_id): if request.method == 'POST': id = str(request.POST.get('id')) try: ulx = str(request.POST['ulx']) uly = str(request.POST['uly']) lrx = str(request.POST['lrx']) lry = str(request.POST['lry']) except KeyError: ulx = uly = lrx = lry = None runjob = get_object_or_404(RunJob, pk=runjob_id) fname = live_mei_path(runjob) md = ModifyDocument(fname) md.delete_dot(id, ulx, uly, lrx, lry) md.write_doc() return {}
def move_division(request, runjob_id): if request.method == 'POST': id = str(request.POST.get('id')) before_id = str(request.POST.get('beforeid')) try: ulx = str(data["ulx"]) uly = str(data["uly"]) lrx = str(data["lrx"]) lry = str(data["lry"]) except KeyError: ulx = uly = lrx = lry = None runjob = get_object_or_404(RunJob, pk=runjob_id) fname = live_mei_path(runjob) md = ModifyDocument(fname) md.move_division(id, before_id, ulx, uly, lrx, lry) md.write_doc() return {}
def move_custos(request, runjob_id): if request.method == 'POST': custos_id = str(request.POST.get('id')) pname = str(request.POST.get('pname')) oct = str(request.POST.get('oct')) try: ulx = str(request.POST['ulx']) uly = str(request.POST['uly']) lrx = str(request.POST['lrx']) lry = str(request.POST['lry']) except KeyError: ulx = uly = lrx = lry = None runjob = get_object_or_404(RunJob, pk=runjob_id) fname = live_mei_path(runjob) md = ModifyDocument(fname) md.move_custos(custos_id, pname, oct, ulx, uly, lrx, lry) md.write_doc() return {}
def insert_custos(request, runjob_id): if request.method == 'POST': pname = str(request.POST.get('pname')) oct = str(request.POST.get('oct')) before_id = str(request.POST.get('beforeid')) try: ulx = str(request.POST['ulx']) uly = str(request.POST['uly']) lrx = str(request.POST['lrx']) lry = str(request.POST['lry']) except KeyError: ulx = uly = lrx = lry = None runjob = get_object_or_404(RunJob, pk=runjob_id) fname = live_mei_path(runjob) md = ModifyDocument(fname) result = md.insert_custos(pname, oct, before_id, ulx, uly, lrx, lry) md.write_doc() return result
def neumify(request, runjob_id): if request.method == 'POST': data = json.loads(request.POST['data']) nids = str(data.get("nids")).split(",") type_id = str(data.get("typeid")) head_shapes = data.get("headShapes") try: lrx = str(data["lrx"]) lry = str(data["lry"]) ulx = str(data["ulx"]) uly = str(data["uly"]) except KeyError: ulx = uly = lrx = lry = None runjob = get_object_or_404(RunJob, pk=runjob_id) fname = live_mei_path(runjob) md = ModifyDocument(fname) result = md.neumify(nids, type_id, head_shapes, ulx, uly, lrx, lry) md.write_doc() return result
def move_clef(request, runjob_id): if request.method == 'POST': data = json.loads(request.POST['data']) clef_id = str(data.get("id")) try: ulx = str(data["ulx"]) uly = str(data["uly"]) lrx = str(data["lrx"]) lry = str(data["lry"]) except KeyError: ulx = uly = lrx = lry = None line = str(data.get("line")) runjob = get_object_or_404(RunJob, pk=runjob_id) fname = live_mei_path(runjob) md = ModifyDocument(fname) md.move_clef(clef_id, line, data["pitchInfo"], ulx, uly, lrx, lry) md.write_doc() return {}
def insert_clef(request, runjob_id): if request.method == 'POST': data = json.loads(request.POST['data']) shape = str(data.get("shape")).upper() line = str(data.get("line")) before_id = str(data.get("beforeid")) try: ulx = str(data["ulx"]) uly = str(data["uly"]) lrx = str(data["lrx"]) lry = str(data["lry"]) except KeyError: ulx = uly = lrx = lry = None runjob = get_object_or_404(RunJob, pk=runjob_id) fname = live_mei_path(runjob) md = ModifyDocument(fname) result = md.insert_clef(line, shape, data["pitchInfo"], before_id, ulx, uly, lrx, lry) md.write_doc() return result
def update_clef_shape(request, runjob_id): if request.method == 'POST': data = json.loads(request.POST['data']) clef_id = str(data.get("id")) try: ulx = str(data["ulx"]) uly = str(data["uly"]) lrx = str(data["lrx"]) lry = str(data["lry"]) except KeyError: ulx = uly = lrx = lry = None shape = str(data.get("shape")) runjob = get_object_or_404(RunJob, pk=runjob_id) fname = live_mei_path(runjob) md = ModifyDocument(fname) md.update_clef_shape(clef_id, shape, data["pitchInfo"], ulx, uly, lrx, lry) md.write_doc() return {}