Я пытаюсь получить номер версии /id меркурийной версии (это хэш не число) программно в python.
Причина в том, что я хочу добавить его в файлы css/js на нашем веб-сайте так:
<link rel="stylesheet" href="example.css?{% mercurial_revision "example.css" %}" />
Итак, всякий раз, когда в таблицу стилей делается изменение, он получит новый url и больше не будет использовать старую кешированную версию.
ИЛИ, если вы знаете, где найти хорошую документацию для модуля python , это также было бы полезно. Кажется, я ничего не могу найти.
Мое решение
Я закончил использование подпроцесса, чтобы просто запустить команду, которая получает hg node. Я выбрал это решение, потому что 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'