hashedassets

Скриншот программы:
hashedassets
Детали программы:
Версия: 0.3.1.1
Дата загрузки: 12 May 15
Разработчик: Filip Noetzel
Тип распространения: Бесплатная
Популярность: 6

Rating: 1.0/5 (Total Votes: 1)

hashedassets это инструмент командной строки, копирует файлы в именах файлов на основе их содержимого и NBSP;. Он также пишет о том, что карта была переименована в то, что, так что вы можете найти ваши файлы.
Главная цель этого является то, что вы можете добавить далекое будущее Истекает заголовок компонентов. Использование хэш-основе имен файлов намного лучше, чем с помощью номера версии $ VCS, потому что пользователи должны загрузить файлы, которые не изменяются.
Создание некоторые исходные файлы
Во-первых, мы создаем файл хэширования:
>>> Система ("вход MkDir /")
>>> Система ("вход MkDir / подкаталог /")
>>> Система ("MkDir карты /")
>>> С открытой ("вход / foo.txt", "ж") как файл:
... File.write ("Foo")
>>> С открытой ("вход / подкаталоге / bar.txt", "ж") как файл:
... File.write ("бар")
>>> Система (на ощупь -t200504072213.12 ввода / foo.txt ')
Простое использование
>>> Системы ("hashedassets карты / map.txt ввода / *. TXT ввода / * / *. TXT выход /")
MkDir 'выход'
'ввода / foo.txt "СР" выход / С-7Hteo_D9vJXQ3UfzxbwnXaijM.txt "
СР "вход / подкаталог / bar.txt '' выход / Ys23Ag_5IOWqZCw9QGaVDdHwH00.txt"
>>> Печати открытой ("карты / map.txt"). Прочитал ()
SUBDIR / bar.txt: Ys23Ag_5IOWqZCw9QGaVDdHwH00.txt
foo.txt: С-7Hteo_D9vJXQ3UfzxbwnXaijM.txt

>>> Система ("Выход Ls /")
С-7Hteo_D9vJXQ3UfzxbwnXaijM.txt
Ys23Ag_5IOWqZCw9QGaVDdHwH00.txt
>>> Система ("LS карты /")
map.txt
Уровень ведения журнала
Если мы говорим команду, чтобы быть спокойным, он не печатает, что он делает:
>>> Система ("hashedassets -q ввода карты / map2.txt / *. TXT ввода / * / *. TXT выход /")
Если мы говорим команда, чтобы быть более многословен, он записывает больше информации:
>>> Система ("hashedassets -vvv ввода карты / map3.txt / *. TXT ввода / * / *. TXT выход /")
Уровень отладки установлен в 10
'ввода / foo.txt "СР" выход / С-7Hteo_D9vJXQ3UfzxbwnXaijM.txt "
СР "вход / подкаталог / bar.txt '' выход / Ys23Ag_5IOWqZCw9QGaVDdHwH00.txt"
Время изменения также сохраняется:
>>> Old_stat = os.stat ("вход / foo.txt")
>>> New_stat = os.stat ("выход / С-7Hteo_D9vJXQ3UfzxbwnXaijM.txt")
>>> [(GetAttr (old_stat, проп) == GetAttr (new_stat, проп))
... Для опоры в ('st_mtime', 'st_atime', '', st_ino)]
[Правда, True, False]
Мы можем легко сделать это с несколькими форматами:
JavaScript
>>> Система ("hashedassets -n my_callback карты / map.js ввода / *. TXT ввода / * / *. TXT выход /")
'ввода / foo.txt "СР" выход / С-7Hteo_D9vJXQ3UfzxbwnXaijM.txt "
СР "вход / подкаталог / bar.txt '' выход / Ys23Ag_5IOWqZCw9QGaVDdHwH00.txt"
>>> Печати открытой ("Карты / map.js"). Прочитал ()
вар my_callback = {
& NBSP; "foo.txt": "С-7Hteo_D9vJXQ3UfzxbwnXaijM.txt",
& NBSP; "подкаталог / bar.txt": "Ys23Ag_5IOWqZCw9QGaVDdHwH00.txt"
};
JSON
>>> Система ("hashedassets -n my_callback карты / вход map.json / *. TXT ввода / * / *. TXT выход /")
'ввода / foo.txt "СР" выход / С-7Hteo_D9vJXQ3UfzxbwnXaijM.txt "
СР "вход / подкаталог / bar.txt '' выход / Ys23Ag_5IOWqZCw9QGaVDdHwH00.txt"
>>> Печати открытой ("карты / map.json"). Прочитал ()
{
& NBSP; "foo.txt": "С-7Hteo_D9vJXQ3UfzxbwnXaijM.txt",
& NBSP; "подкаталог / bar.txt": "Ys23Ag_5IOWqZCw9QGaVDdHwH00.txt"
}
JSONP
>>> Система ("hashedassets -n my_callback карты / вход map.jsonp / *. TXT ввода / * / *. TXT выход /")
'ввода / foo.txt "СР" выход / С-7Hteo_D9vJXQ3UfzxbwnXaijM.txt "
СР "вход / подкаталог / bar.txt '' выход / Ys23Ag_5IOWqZCw9QGaVDdHwH00.txt"
>>> Печати открытой ("карты / map.jsonp"). Прочитал ()
my_callback ({
& NBSP; "foo.txt": "С-7Hteo_D9vJXQ3UfzxbwnXaijM.txt",
& NBSP; "подкаталог / bar.txt": "Ys23Ag_5IOWqZCw9QGaVDdHwH00.txt"
});
Пререкаться
Сасс это метаязык на вершине CSS.
>>> Система ("hashedassets -n my_callback карты / map.scss ввода / *. TXT ввода / * / *. TXT выход /")
'ввода / foo.txt "СР" выход / С-7Hteo_D9vJXQ3UfzxbwnXaijM.txt "
СР "вход / подкаталог / bar.txt '' выход / Ys23Ag_5IOWqZCw9QGaVDdHwH00.txt"
>>> Печати открытой ("карты / map.scss"). Прочитал ()
mixin my_callback ($ директива, $ путь) {
& NBSP;if $ путь == "подкаталог / bar.txt" {# {} $ директива: URL ("Ys23Ag_5IOWqZCw9QGaVDdHwH00.txt"); }
& NBSP;else если $ путь == "foo.txt" {# {} $ директива: URL ("С-7Hteo_D9vJXQ3UfzxbwnXaijM.txt"); }
& NBSP;else {
& NBSP;warn "Не нашли" # {$} путь "в списке активов";
& NBSP; # {$ директивы}: URL ($ путь);
& NBSP;}
}
PHP
>>> Система ("hashedassets -n my_callback карты / вход map.php / *. TXT ввода / * / *. TXT выход /")
'ввода / foo.txt "СР" выход / С-7Hteo_D9vJXQ3UfzxbwnXaijM.txt "
СР "вход / подкаталог / bar.txt '' выход / Ys23Ag_5IOWqZCw9QGaVDdHwH00.txt"
>>> Печати открытой ("карты / map.php"). Прочитал ()
$ my_callback = массив (
& NBSP; "подкаталог / bar.txt" => "Ys23Ag_5IOWqZCw9QGaVDdHwH00.txt",
& NBSP; "foo.txt" => "С-7Hteo_D9vJXQ3UfzxbwnXaijM.txt",
)
Sed
Мы также можем создать SED сценарий, который делает замены для нас:
>>> Системы ("hashedassets -n карты my_callback / map.sed ввода / *. TXT ввода / * / *. TXT выход /")
'ввода / foo.txt "СР" выход / С-7Hteo_D9vJXQ3UfzxbwnXaijM.txt "
СР "вход / подкаталог / bar.txt '' выход / Ys23Ag_5IOWqZCw9QGaVDdHwH00.txt"
>>> Печати открытой ("карты / map.sed"). Прочитал ()
S / подкаталог \ / бар \ .txt / Ys23Ag_5IOWqZCw9QGaVDdHwH00 \ .txt / г
S / Foo \ .txt / С-7Hteo_D9vJXQ3UfzxbwnXaijM \ .txt / г

Мы также должны быть в состоянии использовать это непосредственно с СЭД
>>> С открытым ("replaceme.html", "ж") как файл:
... File.write ('<а HREF = foo.txt> бар ')
Сценарий затем применяется так:
>>> Система ("SED -f карты / map.sed replaceme.html")
<А HREF = С-7Hteo_D9vJXQ3UfzxbwnXaijM.txt> бар
Однако, '.' не рассматривается в качестве шаблона, так что следующее не работает
>>> С открытым ("replaceme2.html", "ж") как файл:
... File.write ('<а HREF = fooAtxt> бар ')
>>> Система ("SED -f карты / map.sed replaceme2.html")
<А HREF = fooAtxt> бар
Указание типа с -t
Тип карты угадывается из файла, но вы можете указать его в качестве хорошо:
>>> Система ("hashedassets -t JS cantguessmaptype ввода / *. TXT ввода / * / *. TXT выход /")
'ввода / foo.txt "СР" выход / С-7Hteo_D9vJXQ3UfzxbwnXaijM.txt "
СР "вход / подкаталог / bar.txt '' выход / Ys23Ag_5IOWqZCw9QGaVDdHwH00.txt"
Указание длины файла с -l
>>> Система ("hashedassets -l 10 карт / вход shortmap.json / *. TXT ввода / * / *. TXT выход /")
'ввода / foo.txt "СР" выход / С-7Hteo_D9.txt "
СР "вход / подкаталог / bar.txt '' выход / Ys23Ag_5IO.txt"
>>> Система ("выход RM / вывода С-7Hteo_D9.txt / Ys23Ag_5IO.txt")
Указание дайджест с -d
>>> Системы ("hashedassets -d md5 карты / вход shortmap.json / *. TXT ввода / * / *. TXT выход /")
'ввода / foo.txt "СР" выход / rL0Y20zC-Fzt72VPzMSk2A.txt "
СР "вход / подкаталог / bar.txt '' выход / N7UdGUp1E-RbVvZSTy1R8g.txt"
>>> Система ("выход RM / вывода rL0Y20zC-Fzt72VPzMSk2A.txt / N7UdGUp1E-RbVvZSTy1R8g.txt")
Повторное использование карту
Программа считывает карты, которые он создал в предыдущем периоде только скопировать файлы, которые не изменились с. Таким образом, следующие команды не копировать любые файлы:
>>> Системы ("hashedassets карты / map.scss ввода / *. TXT ввода / * / *. TXT выход /")
>>> Системы ("hashedassets карты / вход map.php / *. TXT ввода / * / *. TXT выход /")
>>> Системы ("hashedassets карты / map.js ввода / *. TXT ввода / * / *. TXT выход /")
>>> Системы ("hashedassets карты / вход map.json / *. TXT ввода / * / *. TXT выход /")
>>> Системы ("hashedassets карты / map.sed ввода / *. TXT ввода / * / *. TXT выход /")
>>> Системы ("hashedassets карты / вход map.jsonp / *. TXT ввода / * / *. TXT выход /")
>>> Системы ("hashedassets карты / map.txt ввода / *. TXT ввода / * / *. TXT выход /")
Если мы касаемся одной из входных файлов между ними, то файл будет читать, но не копируется, потому что hashsum то же самое:
>>> Система (на ощупь -t200504072214.12 ввода / foo.txt ')
>>> Системы ("hashedassets карты / вход map.json / *. TXT ввода / * / *. TXT выход /")
Если мы изменить содержание файла, он будет получать новое имя:
>>> С открытой ("вход / foo.txt", "ж") как файл:
... File.write ("foofoo")
>>> Системы ("hashedassets карты / вход map.json / *. TXT ввода / * / *. TXT выход /")
'выход / С-7Hteo_D9vJXQ3UfzxbwnXaijM.txt "RM
'ввода / foo.txt "СР" выход / QIDaFD7KLKQh0l5O6b8exdew3b0.txt "
Если вы затем список файлов в каталоге, обратите внимание, что старый файл '' выход / С-7Hteo_D9vJXQ3UfzxbwnXaijM.txt '' ушла:
>>> Система ("Выход Ls /")
QIDaFD7KLKQh0l5O6b8exdew3b0.txt
Ys23Ag_5IOWqZCw9QGaVDdHwH00.txt
Если мы уберем один из созданных файлов, он получает воссозданы:
>>> Система ("выход RM / Ys23Ag_5IOWqZCw9QGaVDdHwH00.txt")
>>> Системы ("hashedassets карты / вход map.json / *. TXT ввода / * / *. TXT выход /")
СР "вход / подкаталог / bar.txt '' выход / Ys23Ag_5IOWqZCw9QGaVDdHwH00.txt"
>>> Система ("Выход Ls /")
QIDaFD7KLKQh0l5O6b8exdew3b0.txt
Ys23Ag_5IOWqZCw9QGaVDdHwH00.txt
Если файл, который собирается быть удалена, потому что оригинальный контент изменился, он не воссоздается:
>>> Система ("выход RM / QIDaFD7KLKQh0l5O6b8exdew3b0.txt")
>>> С открытой ("вход / foo.txt", "ж") как файл:
... File.write ("foofoofoo")
>>> Системы ("hashedassets карты / вход map.json / *. TXT ввода / * / *. TXT выход /")
'ввода / foo.txt "СР" выход / NdbmnXyjdY2paFzlDw9aJzCKH9w.txt "
Обработка ошибок
Тем не менее, если мы запустим этот без аргументов, она не:
>>> Система ("hashedassets", внешний = True)
Использование: hashedassets [опции] файле проекта ИСТОЧНИК [...] DEST

hashedassets: ошибка: Вы должны указать по крайней мере файле проекта ИСТОЧНИК DEST и

Требования

  • Python

Похожие программы

Xplore
Xplore

3 Jun 15

Worker
Worker

15 Feb 15

X Northern
X Northern

3 Jun 15

DocFetcher
DocFetcher

17 Feb 15

Комментарии к hashedassets

Комментарии не найдены
добавить комментарий
Включите картинки!