Example #1
0
    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)
Example #2
0
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 {}
Example #3
0
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 {}
Example #4
0
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
Example #5
0
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
Example #6
0
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 {}
Example #7
0
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 {}
Example #8
0
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 {}
Example #9
0
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 {}
Example #10
0
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 {}
Example #11
0
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 {}
Example #12
0
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
Example #13
0
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
Example #14
0
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 {}
Example #15
0
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 {}
Example #16
0
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 {}
Example #17
0
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 {}
Example #18
0
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 {}
Example #19
0
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
Example #20
0
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 {}
Example #21
0
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
Example #22
0
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
Example #23
0
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 {}
Example #24
0
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
Example #25
0
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
Example #26
0
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 {}
Example #27
0
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