Exemple #1
0
def command(config, old_name, new_name):
    root_folder = os.path.expanduser(config.get("folders", "root"))

    forbidden_char = utils.forbidden_chars(new_name)

    if forbidden_char is not None:
        print >>sys.stderr, "New paper name cannot contain %s" % (
            forbidden_char)
        return 1

    old_folder = utils.paper_folder(old_name, config)
    new_folder = utils.paper_folder(new_name, config)

    old_paper_path = utils.paper_path(old_name, config)
    new_paper_path = utils.paper_path(new_name, config,
                                      allow_nonexistent = True)

    if not os.path.exists(old_folder):
        return 1

    if os.path.exists(new_folder):
        print >>sys.stderr, "Paper '%s' already exists" % (new_name)
        return 1

    if old_paper_path is None:
        print >>sys.stderr, "Can't find a paper PDF within '%s'" % (old_folder)
        return 1

    shutil.move(old_folder, new_folder)
    shutil.move(os.path.join(new_folder, old_name + ".pdf"), new_paper_path)

    return 0
Exemple #2
0
def command(config, paper_name):
    """
    Open a paper in the user's configured viewer
    """

    paper_path = utils.paper_path(paper_name, config)

    if paper_path is None:
        return 1

    open_command = config.get("general", "viewer") + " %s" % (
        paper_path)

    subproc = subprocess.Popen(shlex.split(open_command))
    subproc.communicate()