Mercurial скриптинг с питоном

Я пытаюсь получить ртутный номер / идентификатор версии (это хэш, а не номер) программно в Python.

Причина в том, что я хочу добавить его в файлы css / js на нашем сайте следующим образом:

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

Так что всякий раз, когда в таблицу стилей вносятся изменения, она получает новый URL и больше не использует старую кэшированную версию.

ИЛ если ты знаешь, где найти хорошую документацию для ртутиpython module, это тоже было бы полезно. Кажется, я нигде не могу его найти.

Моё решение

Я использовал подпроцесс, чтобы просто запустить команду, которая получает узел hg. Я выбрал это решение, потому что API не гарантированно останется прежним, но интерфейс bash, вероятно, будет:

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()

пример использования:

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

Ответы на вопрос(7)

Ваш ответ на вопрос