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"). Прочитав ()
VAR 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 (' бар ')
Сценарій потім застосовується так:
>>> Система ("SED -f карти / map.sed replaceme.html")
бар
Проте, '.' не розглядається як шаблон, так що наступне не працює
>>> З відкритим ("replaceme2.html", "ж") як файл:
... File.write (' бар ')
>>> Система ("SED -f карти / map.sed replaceme2.html")
бар
Вказівка ​​типу з -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

Схожі програми

TDFSB
TDFSB

3 Jun 15

GNU wdiff
GNU wdiff

20 Feb 15

Kontrolcu
Kontrolcu

11 May 15

Dirc
Dirc

3 Jun 15

hashedassets

Коментар не знайдено
додати коментар
Включіть картинки!
Пошук за категоріями