hashedassets

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

Rating: 1.0/5 (Total Votes: 1)

hashedassets е инструмент за командния ред, че копия на файлове на имена на файлове на базата на тяхното съдържание и Nbsp;. Той също така пише карта на това, което се преименува на какво, така че можете да намерите вашите файлове.
Основната цел на това е, че можете да добавите далечно бъдеще Изтича глава на вашите компоненти. Използването на хеш базирани файлови имена е много по-добре, отколкото с помощта на вашия номер $ VCS редакция, защото потребителите трябва само да изтеглите файлове, които не са се променили.
<Силен> Създаване на някои изходни файлове
Първо, ние създадете файл да се сегментира:
>>> Система ("вход защитен режим /")
>>> Система ("вход защитен режим / SUBDIR /")
>>> Система ("защитен режим карти /")
>>> С отворена ("вход / foo.txt", "w") като файл:
... File.write ("Foo")
>>> С отворена ("вход / SUBDIR / bar.txt", "w") като файл:
... File.write ("Бар")
>>> Система ("докоснете -t200504072213.12 вход / foo.txt")
<Силен> Обикновено употребата
>>> Система ("hashedassets карти / map.txt вход / *. TXT вход / * / *. TXT изход /")
защитен режим "изход"
CP "вход / foo.txt '' изход / C-7Hteo_D9vJXQ3UfzxbwnXaijM.txt"
CP "вход / SUBDIR / bar.txt '' изход / Ys23Ag_5IOWqZCw9QGaVDdHwH00.txt"
>>> Отпечатате отворена ("карти / map.txt"). Чете ()
SUBDIR / bar.txt: Ys23Ag_5IOWqZCw9QGaVDdHwH00.txt
foo.txt: C-7Hteo_D9vJXQ3UfzxbwnXaijM.txt

>>> Система ("LS изход /")
C-7Hteo_D9vJXQ3UfzxbwnXaijM.txt
Ys23Ag_5IOWqZCw9QGaVDdHwH00.txt
>>> Система ("LS карти /")
map.txt
Ниво Logging
Ако кажете командата да бъде спокоен, той не печата какво се прави:
>>> Система ("hashedassets -q карти / map2.txt вход / *. TXT вход / * / *. TXT изход /")
Ако кажете командата да бъде по-многословен, тя записва повече информация:
>>> Система ("hashedassets -vvv карти / map3.txt вход / *. TXT вход / * / *. TXT изход /")
Ниво Debug настроен на 10
CP "вход / foo.txt '' изход / C-7Hteo_D9vJXQ3UfzxbwnXaijM.txt"
CP "вход / SUBDIR / bar.txt '' изход / Ys23Ag_5IOWqZCw9QGaVDdHwH00.txt"
Време Модификация също е запазен:
>>> Old_stat = os.stat ("вход / foo.txt")
>>> New_stat = os.stat ("изход / C-7Hteo_D9vJXQ3UfzxbwnXaijM.txt")
>>> [(Getattr (old_stat, проп) == getattr (new_stat, проп))
... За проп в ("st_mtime", "st_atime", "st_ino",)]
[True, True, False]
Можем лесно да направите това с множество формати:
JavaScript
>>> Система ("hashedassets -N my_callback карти / map.js вход / *. TXT вход / * / *. TXT изход /")
CP "вход / foo.txt '' изход / C-7Hteo_D9vJXQ3UfzxbwnXaijM.txt"
CP "вход / SUBDIR / bar.txt '' изход / Ys23Ag_5IOWqZCw9QGaVDdHwH00.txt"
>>> Печат отворена ("Карти / map.js"). Чете ()
Var my_callback = {
& Nbsp; "foo.txt": "C-7Hteo_D9vJXQ3UfzxbwnXaijM.txt",
& Nbsp; "SUBDIR / bar.txt": "Ys23Ag_5IOWqZCw9QGaVDdHwH00.txt"
};
JSON
>>> Система ("hashedassets -N my_callback карти / вход map.json / *. TXT вход / * / *. TXT изход /")
CP "вход / foo.txt '' изход / C-7Hteo_D9vJXQ3UfzxbwnXaijM.txt"
CP "вход / SUBDIR / bar.txt '' изход / Ys23Ag_5IOWqZCw9QGaVDdHwH00.txt"
>>> Отпечатате отворена ("карти / map.json"). Чете ()
{
& Nbsp; "foo.txt": "C-7Hteo_D9vJXQ3UfzxbwnXaijM.txt",
& Nbsp; "SUBDIR / bar.txt": "Ys23Ag_5IOWqZCw9QGaVDdHwH00.txt"
}
JSONP
>>> Система ("hashedassets -N my_callback карти / вход map.jsonp / *. TXT вход / * / *. TXT изход /")
CP "вход / foo.txt '' изход / C-7Hteo_D9vJXQ3UfzxbwnXaijM.txt"
CP "вход / SUBDIR / bar.txt '' изход / Ys23Ag_5IOWqZCw9QGaVDdHwH00.txt"
>>> Отпечатате отворена ("карти / map.jsonp"). Чете ()
my_callback ({
& Nbsp; "foo.txt": "C-7Hteo_D9vJXQ3UfzxbwnXaijM.txt",
& Nbsp; "SUBDIR / bar.txt": "Ys23Ag_5IOWqZCw9QGaVDdHwH00.txt"
});
Дръзки приказки
Sass е мета език на върха на CSS.
>>> Система ("hashedassets -N my_callback карти / map.scss вход / *. TXT вход / * / *. TXT изход /")
CP "вход / foo.txt '' изход / C-7Hteo_D9vJXQ3UfzxbwnXaijM.txt"
CP "вход / SUBDIR / bar.txt '' изход / Ys23Ag_5IOWqZCw9QGaVDdHwH00.txt"
>>> Отпечатате отворена ("карти / map.scss"). Чете ()
mixin my_callback ($ директива, $ пътека) {
& Nbsp;if $ пътека == "SUBDIR / bar.txt" {{# $ директива}: URL ("Ys23Ag_5IOWqZCw9QGaVDdHwH00.txt"); }
& Nbsp;else ако $ пътека == "foo.txt" {{# $ директива}: URL ("C-7Hteo_D9vJXQ3UfzxbwnXaijM.txt"); }
& Nbsp;else {
& Nbsp;warn "Дали не се намери" # {$ пътека} "в списъка на активите";
& Nbsp; # {$ директива}: URL ($ път);
& Nbsp;}
}
PHP
>>> Система ("hashedassets -N my_callback карти / вход map.php / *. TXT вход / * / *. TXT изход /")
CP "вход / foo.txt '' изход / C-7Hteo_D9vJXQ3UfzxbwnXaijM.txt"
CP "вход / SUBDIR / bar.txt '' изход / Ys23Ag_5IOWqZCw9QGaVDdHwH00.txt"
>>> Отпечатате отворена ("карти / map.php"). Чете ()
$ My_callback = масив (
& Nbsp; "SUBDIR / bar.txt" => "Ys23Ag_5IOWqZCw9QGaVDdHwH00.txt",
& Nbsp; "foo.txt" => "C-7Hteo_D9vJXQ3UfzxbwnXaijM.txt",
)
Sed
Можем също така да генерира СЕД скрипт, който прави заместниците за нас:
>>> Система ("hashedassets -п my_callback карти / map.sed вход / *. TXT вход / * / *. TXT изход /")
CP "вход / foo.txt '' изход / C-7Hteo_D9vJXQ3UfzxbwnXaijM.txt"
CP "вход / SUBDIR / bar.txt '' изход / Ys23Ag_5IOWqZCw9QGaVDdHwH00.txt"
>>> Печат отворена ("карти / map.sed"). Чете ()
S / SUBDIR / бар .txt / Ys23Ag_5IOWqZCw9QGaVDdHwH00 .txt / г
S / Foo .txt / C-7Hteo_D9vJXQ3UfzxbwnXaijM .txt / г

Ние също трябва да бъде в състояние да използвате тази директно с SED
>>> С отворена ("replaceme.html", "w") като файл:
... File.write ("<един HREF = foo.txt> бар ')
След това сценарият се прилага по следния начин:
>>> Система ("SED -f карти / map.sed replaceme.html")
<Един HREF = C-7Hteo_D9vJXQ3UfzxbwnXaijM.txt> бар
Въпреки това, '.' не се третира като маска, така че по-долу не работи
>>> С отворена ("replaceme2.html", "w") като файл:
... File.write ("<един HREF = fooAtxt> бар ')
>>> Система ("SED -f карти / map.sed replaceme2.html")
<Един HREF = fooAtxt> бар
Видът се уточнява с -t
Видът на картата се досещате от името на файла, но можете да го посочите, както и:
>>> Система ("hashedassets -t JS cantguessmaptype вход / *. TXT вход / * / *. TXT изход /")
CP "вход / foo.txt '' изход / C-7Hteo_D9vJXQ3UfzxbwnXaijM.txt"
CP "вход / SUBDIR / bar.txt '' изход / Ys23Ag_5IOWqZCw9QGaVDdHwH00.txt"
Определяне на дължината на името на файла с -L
>>> Система ("hashedassets-л 10 карти / вход shortmap.json / *. TXT вход / * / *. TXT изход /")
CP "вход / foo.txt '' изход / C-7Hteo_D9.txt"
CP "вход / SUBDIR / bar.txt '' изход / Ys23Ag_5IO.txt"
>>> Система ("RM изход / C-7Hteo_D9.txt изход / Ys23Ag_5IO.txt")
Уточняване дайджест с -D
>>> Система ("hashedassets -D MD5 карти / вход shortmap.json / *. TXT вход / * / *. TXT изход /")
CP "вход / foo.txt '' изход / rL0Y20zC-Fzt72VPzMSk2A.txt"
CP "вход / SUBDIR / 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", "w") като файл:
... File.write ("foofoo")
>>> Система ("hashedassets карти / вход map.json / *. TXT вход / * / *. TXT изход /")
RM "изход / C-7Hteo_D9vJXQ3UfzxbwnXaijM.txt"
CP "вход / foo.txt '' изход / QIDaFD7KLKQh0l5O6b8exdew3b0.txt"
Ако след това списък на файловете в директорията, имайте предвид, че на стария файл '' изход / C-7Hteo_D9vJXQ3UfzxbwnXaijM.txt '' е отишъл:
>>> Система ("LS изход /")
QIDaFD7KLKQh0l5O6b8exdew3b0.txt
Ys23Ag_5IOWqZCw9QGaVDdHwH00.txt
Ако премахнем една от създадените файлове, той получава пресъздадени:
>>> Система ("RM изход / Ys23Ag_5IOWqZCw9QGaVDdHwH00.txt")
>>> Система ("hashedassets карти / вход map.json / *. TXT вход / * / *. TXT изход /")
CP "вход / SUBDIR / bar.txt '' изход / Ys23Ag_5IOWqZCw9QGaVDdHwH00.txt"
>>> Система ("LS изход /")
QIDaFD7KLKQh0l5O6b8exdew3b0.txt
Ys23Ag_5IOWqZCw9QGaVDdHwH00.txt
Ако файлът е, че за да бъдат премахнати, тъй като първоначалното съдържание промени, не е пресъздадена:
>>> Система ("RM изход / QIDaFD7KLKQh0l5O6b8exdew3b0.txt")
>>> С отворена ("вход / foo.txt", "w") като файл:
... File.write ("foofoofoo")
>>> Система ("hashedassets карти / вход map.json / *. TXT вход / * / *. TXT изход /")
CP "вход / foo.txt '' изход / NdbmnXyjdY2paFzlDw9aJzCKH9w.txt"
Боравене Грешка
Въпреки това, ако ние стартирате тази без аргументи, тя не успее:
>>> Система ("hashedassets", външна = True)
Употреба: hashedassets [опции] MAPFILE SOURCE [...] DEST

hashedassets: Грешка: Трябва да посочите поне MAPFILE SOURCE и ЦЕЛ

<силни> Изисквания

  • Python

Подобен софтуер

scytha
scytha

3 Jun 15

Nautilus-Actions
Nautilus-Actions

19 Feb 15

DedupeCopy
DedupeCopy

20 Feb 15

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

Коментари не е намерена
добавите коментар
Включете на изображения!