Script mercurial com python

Estou tentando obter o número / identificação da revisão mercurial (é um hash, não um número) programaticamente em pytho

A razão é que eu quero adicioná-lo aos arquivos css / js em nosso site da seguinte forma:

<link rel="stylesheet" href="example.css?{% mercurial_revision "example.css" %}" />

Assim, sempre que uma alteração for feita na folha de estilo, ela receberá um novo URL e não usará mais a versão antiga em cach

O se você souber onde encontrar uma boa documentação para o mercurialpython module, isso também seria útil. Não consigo encontrá-lo em lugar nenhum.

My Solution

Acabei usando o subprocesso para executar apenas um comando que obtém o nó hg. Eu escolhi essa solução porque não é garantido que a API permaneça a mesma, mas a interface do bash provavelmente será:

import subprocess

def get_hg_rev(file_path):
    pipe = subprocess.Popen(
        ["hg", "log", "-l", "1", "--template", "{node}", file_path],
        stdout=subprocess.PIPE
        )
    return pipe.stdout.read()

exemplo de uso:

> path_to_file = "/home/jim/workspace/lgr/pinax/projects/lgr/site_media/base.css"
> get_hg_rev(path_to_file)
'0ed525cf38a7b7f4f1321763d964a39327db97c4'

questionAnswers(7)

yourAnswerToTheQuestion