Пример #1
0
def video_map(r):
    path = r.args['path']
    try:
        return [{'epnum': k, 'path': v} for k, v in
                madmagia.files.input_videos(path, ['mkv']).iteritems()]
    except StandardError, e:
        logger.exception(e)
        return []
Пример #2
0
def get_sections(r):
    path = os.path.join(r.args["path"], "sequence.txt")
    logger.info("Load from %s", path)
    try:
        with open(path, "r") as f:
            sections = madmagia.sequence.parse([unicode(ln, "utf-8") for ln in f.readlines()], False)[0]
        return [_dump_section(s) for s in sections]
    except madmagia.sequence.ParseError, e:
        logger.exception(e)
        logger.error("Error at line %d", e.linenum)
Пример #3
0
def touch_sequence_file(r):
    path = os.path.join(r.form["path"], "sequence.txt")
    if os.path.isfile(path):
        return "ok"
    try:
        with open(path, "a+"):
            return "ok"
    except StandardError, e:
        logger.exception(e)
        return "fail"
Пример #4
0
def audio_slice(r):
    path = app.path(r.form['file'])
    start = float(r.form['start'])
    duration = float(r.form['duration'])
    output_dir = _temp_dir(r.form['output_dir'])
    try:
        return madmagia.audio_slice.slice(path, start, start + duration,
                                          output_dir)
    except StandardError, e:
        logger.exception(e)
        return []
Пример #5
0
        return "fail"


@app.get_async("/seqc/get/")
def get_sections(r):
    path = os.path.join(r.args["path"], "sequence.txt")
    logger.info("Load from %s", path)
    try:
        with open(path, "r") as f:
            sections = madmagia.sequence.parse([unicode(ln, "utf-8") for ln in f.readlines()], False)[0]
        return [_dump_section(s) for s in sections]
    except madmagia.sequence.ParseError, e:
        logger.exception(e)
        logger.error("Error at line %d", e.linenum)
    except StandardError, e:
        logger.exception(e)
    return [_dump_section(madmagia.sequence.Section(0, ":begin"))]


def _write_segment(f, seg):
    print >> f, "   ", seg["epnum"], seg["start"], seg["duration"]
    for fname, fargs in seg["filters"]:
        print >> f, ("    :%s" % fname), fargs or ""


def _write_section(f, sec):
    if sec["name"] != ":begin":
        print >> f, ":section", sec["start"], sec["name"].encode("utf-8"), sec.get("sub", "")
    for s in sec["segments"]:
        _write_segment(f, s)
    print >> f, ""
Пример #6
0
def media_len(r):
    try:
        return madmagia.audio_slice.audio_len(app.path(r.args['path']))
    except StandardError, e:
        logger.exception(e)
        return -1