hashedassets

Скріншот програми:
hashedassets
Дані програми:
Версія: 0.3.1.1
Дата завантаження: 12 May 15
Розробник: Filip Noetzel
Ліцензія: Безкоштовно
Популярність: 50

Rating: 2.5/5 (Total Votes: 2)

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

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

pygamebrowser
pygamebrowser

12 May 15

Siren Renamer
Siren Renamer

18 Feb 15

SmartSynchronize
SmartSynchronize

17 Feb 15

hashedassets

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