hashedassets

Screenshot Software:
hashedassets
Detalii soft:
Versiune: 0.3.1.1
Incarca data: 12 May 15
Producător: Filip Noetzel
Licenţă: Gratuit
Popularitate: 50

Rating: 2.5/5 (Total Votes: 2)

hashedassets este un instrument de linie de comandă, care copiaza fisierele la nume de fișiere bazate pe conținutul lor. & Nbsp; Se scrie, de asemenea, o hartă a ceea ce a fost redenumit la ceea ce, astfel încât să puteți găsi fișierele.
Scopul principal al acestui fapt este că puteți adăuga un viitor mult Expira afara de componente. Folosind numele de fișiere hash bazat este mult mai bine decât cu ajutorul numarul tau de revizuire $ VCS, deoarece utilizatorii trebuie doar să descărcați fișiere care nu sa schimbat.
Crearea unor fișiere sursă
În primul rând, vom crea un fișier pentru a fi distribuit:
>>> Sistem ("input mkdir /")
>>> Sistem ("input mkdir / subdirector /")
>>> Sistem ("hărți mkdir /")
>>> Cu open ("input / foo.txt", "w") ca fișier:
... File.write ("foo")
>>> Cu open ("input / subdirector / bar.txt", "w") ca fișier:
... File.write ("bar")
>>> Sistem ("atingeți de intrare -t200504072213.12 / foo.txt")
Utilizarea simplă
>>> Sistem ("hărți hashedassets / map.txt intrare / intrare txt *. / * / *. Txt ieșire /")
"ieșire" mkdir
"input / foo.txt" cp "ieșire / C-7Hteo_D9vJXQ3UfzxbwnXaijM.txt"
cp "input / subdirector / bar.txt '' output / Ys23Ag_5IOWqZCw9QGaVDdHwH00.txt"
>>> Imprima deschis ("hărți / map.txt"). Citește ()
subdirector / bar.txt: Ys23Ag_5IOWqZCw9QGaVDdHwH00.txt
foo.txt: C-7Hteo_D9vJXQ3UfzxbwnXaijM.txt

>>> Sistem ("output ls /")
C-7Hteo_D9vJXQ3UfzxbwnXaijM.txt
Ys23Ag_5IOWqZCw9QGaVDdHwH00.txt
>>> Sistem ("hărți ls /")
map.txt
Nivelul de logare
Dacă spunem comanda de a fi liniștit, nu se imprimă ce face:
>>> Sistem ("hashedassets -Q intrare hărți / map2.txt / input txt *. / * / Ieșire txt *. /")
Dacă spunem comanda să fie mai detaliată, se înregistrează mai multe informații:
>>> Sistem ("hashedassets -vvv intrare hărți / map3.txt / input txt *. / * / Ieșire txt *. /")
Nivelul de depanare este setat la 10
"input / foo.txt" cp "ieșire / C-7Hteo_D9vJXQ3UfzxbwnXaijM.txt"
cp "input / subdirector / bar.txt '' output / Ys23Ag_5IOWqZCw9QGaVDdHwH00.txt"
Timp de modificare este, de asemenea, păstrată:
>>> Old_stat = os.stat ("input / foo.txt")
>>> New_stat = os.stat ("output / C-7Hteo_D9vJXQ3UfzxbwnXaijM.txt")
>>> [(Getattr (old_stat, prop) == getattr (new_stat, prop))
... Pentru propunerii în ("st_mtime", "st_atime", "st_ino ',)]
[Adevărat, adevărat, fals]
Putem face cu ușurință acest lucru cu mai multe formate:
JavaScript
>>> Sistem ("hashedassets -n hărți my_callback / map.js intrare / *. Txt de intrare / * / *. Txt ieșire /")
"input / foo.txt" cp "ieșire / C-7Hteo_D9vJXQ3UfzxbwnXaijM.txt"
cp "input / subdirector / bar.txt '' output / Ys23Ag_5IOWqZCw9QGaVDdHwH00.txt"
>>> Print deschis ("harti / map.js"). Citește ()
var my_callback = {
& Nbsp; "foo.txt": "C-7Hteo_D9vJXQ3UfzxbwnXaijM.txt",
& Nbsp; "subdirector / bar.txt": "Ys23Ag_5IOWqZCw9QGaVDdHwH00.txt"
};
JSON
>>> Sistem ("hashedassets -n hărți my_callback / intrare map.json / input txt *. / * / *. Txt ieșire /")
"input / foo.txt" cp "ieșire / C-7Hteo_D9vJXQ3UfzxbwnXaijM.txt"
cp "input / subdirector / bar.txt '' output / Ys23Ag_5IOWqZCw9QGaVDdHwH00.txt"
>>> Imprima deschis ("hărți / map.json"). Citește ()
{
& Nbsp; "foo.txt": "C-7Hteo_D9vJXQ3UfzxbwnXaijM.txt",
& Nbsp; "subdirector / bar.txt": "Ys23Ag_5IOWqZCw9QGaVDdHwH00.txt"
}
JSONP
>>> Sistem ("hashedassets -n hărți my_callback / intrare map.jsonp / input txt *. / * / *. Txt ieșire /")
"input / foo.txt" cp "ieșire / C-7Hteo_D9vJXQ3UfzxbwnXaijM.txt"
cp "input / subdirector / bar.txt '' output / Ys23Ag_5IOWqZCw9QGaVDdHwH00.txt"
>>> Imprima deschis ("hărți / map.jsonp"). Citește ()
my_callback ({
& Nbsp; "foo.txt": "C-7Hteo_D9vJXQ3UfzxbwnXaijM.txt",
& Nbsp; "subdirector / bar.txt": "Ys23Ag_5IOWqZCw9QGaVDdHwH00.txt"
});
Sass
Sass este un limbaj meta deasupra CSS.
>>> Sistem ("hashedassets -n hărți my_callback / map.scss intrare / *. Txt de intrare / * / *. Txt ieșire /")
"input / foo.txt" cp "ieșire / C-7Hteo_D9vJXQ3UfzxbwnXaijM.txt"
cp "input / subdirector / bar.txt '' output / Ys23Ag_5IOWqZCw9QGaVDdHwH00.txt"
>>> Imprima deschis ("hărți / map.scss"). Citește ()
my_callbackmixin ($ directivă, $ cale) {
& Nbsp;if $ cale == "subdirector / bar.txt" {# {$ directivă}: url ("Ys23Ag_5IOWqZCw9QGaVDdHwH00.txt"); }
& Nbsp;else dacă $ cale == "foo.txt" {# {$ directivă}: url ("C-7Hteo_D9vJXQ3UfzxbwnXaijM.txt"); }
& Nbsp;else {
& Nbsp;warn "Nu ati gasit" # {$ cale} ", în lista de active";
& Nbsp; # {$ directivă}: url ($ cale);
& Nbsp;}
}
PHP
>>> Sistem ("hashedassets -n hărți my_callback / intrare map.php / input txt *. / * / *. Txt ieșire /")
"input / foo.txt" cp "ieșire / C-7Hteo_D9vJXQ3UfzxbwnXaijM.txt"
cp "input / subdirector / bar.txt '' output / Ys23Ag_5IOWqZCw9QGaVDdHwH00.txt"
>>> Imprima deschis ("hărți / map.php"). Citește ()
$ My_callback = array (
& Nbsp; "subdirector / bar.txt" => "Ys23Ag_5IOWqZCw9QGaVDdHwH00.txt",
& Nbsp; "foo.txt" => "C-7Hteo_D9vJXQ3UfzxbwnXaijM.txt",
)
Sed
Ne poate genera, de asemenea, un script sed care face înlocuirile pentru noi:
>>> Sistem ("hashedassets -n hărți my_callback / intrare map.sed / input txt *. / * / Ieșire txt *. /")
"input / foo.txt" cp "ieșire / C-7Hteo_D9vJXQ3UfzxbwnXaijM.txt"
cp "input / subdirector / bar.txt '' output / Ys23Ag_5IOWqZCw9QGaVDdHwH00.txt"
>>> Print deschis ("hărți / map.sed"). Citește ()
s / subdirector / bar .txt / Ys23Ag_5IOWqZCw9QGaVDdHwH00 .txt / g
s / foo .txt / C-7Hteo_D9vJXQ3UfzxbwnXaijM .txt / g

Noi ar trebui să fie, de asemenea posibilitatea de a utiliza acest direct cu sed
>>> Cu open ("replaceme.html", "w") ca fișier:
... File.write (" bar ')
Scriptul este aplicat apoi ca aceasta:
>>> Sistem ("hărți -f SED / replaceme.html map.sed")
bar
Cu toate acestea, '.' nu este tratată ca wildcard, astfel încât următoarele nu funcționează
>>> Cu open ("replaceme2.html", "w") ca fișier:
... File.write (" bar ')
>>> Sistem ("hărți -f SED / replaceme2.html map.sed")
bar
Specificarea tipului cu t
Tipul de harta este ghicit din numele de fișier, dar puteți specifica de asemenea:
>>> Sistem ("hashedassets -t js cantguessmaptype intrare / *. Txt de intrare / * / *. Txt ieșire /")
"input / foo.txt" cp "ieșire / C-7Hteo_D9vJXQ3UfzxbwnXaijM.txt"
cp "input / subdirector / bar.txt '' output / Ys23Ag_5IOWqZCw9QGaVDdHwH00.txt"
Specificarea lungimea numele de fișier cu -l
>>> Sistem ("hashedassets -l 10 harti / intrare shortmap.json / input txt *. / * / *. Txt ieșire /")
"input / foo.txt" cp "ieșire / C-7Hteo_D9.txt"
cp "input / subdirector / bar.txt '' output / Ys23Ag_5IO.txt"
>>> Sistem ("output rm / ieșire C-7Hteo_D9.txt / Ys23Ag_5IO.txt")
Specificarea digestie cu d
>>> Sistem ("hashedassets -d hărți MD5 / intrare shortmap.json / *. Txt de intrare / * / *. Txt ieșire /")
"input / foo.txt" cp "ieșire / rL0Y20zC-Fzt72VPzMSk2A.txt"
cp "input / subdirector / bar.txt '' output / N7UdGUp1E-RbVvZSTy1R8g.txt"
>>> Sistem ("output rm / ieșire rL0Y20zC-Fzt72VPzMSk2A.txt / N7UdGUp1E-RbVvZSTy1R8g.txt")
Re-utilizarea unui hartă
Programul citește în hărțile le-a creat într-un termen anterior numai copia fișiere care nu s-au schimbat de atunci. Deci, următoarele comenzi nu copiați toate fișierele:
>>> Sistem ("hărți hashedassets / map.scss intrare / *. Txt de intrare / * / *. Txt ieșire /")
>>> Sistem ("hărți hashedassets / intrare map.php / input txt *. / * / *. Txt ieșire /")
>>> Sistem ("hărți hashedassets / map.js intrare / *. Txt de intrare / * / *. Txt ieșire /")
>>> Sistem ("hărți hashedassets / intrare map.json / input txt *. / * / *. Txt ieșire /")
>>> Sistem ("hărți hashedassets / intrare map.sed / input txt *. / * / *. Txt ieșire /")
>>> Sistem ("hărți hashedassets / intrare map.jsonp / input txt *. / * / *. Txt ieșire /")
>>> Sistem ("hărți hashedassets / map.txt intrare / intrare txt *. / * / *. Txt ieșire /")
Dacă vom atinge unul dintre fișierele de intrare în între, fisierul va fi citit, dar nu copiate pentru că hashsum este aceeași:
>>> Sistem ("atingeți de intrare -t200504072214.12 / foo.txt")
>>> Sistem ("hărți hashedassets / intrare map.json / input txt *. / * / *. Txt ieșire /")
Dacă vom schimba conținutul fișierului, acesta va primi un nume nou:
>>> Cu open ("input / foo.txt", "w") ca fișier:
... File.write ("foofoo")
>>> Sistem ("hărți hashedassets / intrare map.json / input txt *. / * / *. Txt ieșire /")
"ieșire / C-7Hteo_D9vJXQ3UfzxbwnXaijM.txt" rm
"input / foo.txt" cp "ieșire / QIDaFD7KLKQh0l5O6b8exdew3b0.txt"
Dacă vă apoi lista fișierele din directorul, rețineți că vechea fișierul '' output / C-7Hteo_D9vJXQ3UfzxbwnXaijM.txt '' este dus:
>>> Sistem ("output ls /")
QIDaFD7KLKQh0l5O6b8exdew3b0.txt
Ys23Ag_5IOWqZCw9QGaVDdHwH00.txt
Dacă vom elimina unul dintre fișierele create, acesta devine recreat:
>>> Sistem ("output rm / Ys23Ag_5IOWqZCw9QGaVDdHwH00.txt")
>>> Sistem ("hărți hashedassets / intrare map.json / input txt *. / * / *. Txt ieșire /")
cp "input / subdirector / bar.txt '' output / Ys23Ag_5IOWqZCw9QGaVDdHwH00.txt"
>>> Sistem ("output ls /")
QIDaFD7KLKQh0l5O6b8exdew3b0.txt
Ys23Ag_5IOWqZCw9QGaVDdHwH00.txt
Dacă un fișier care este pe cale de a fi eliminat, deoarece conținutul original schimbat, nu este recreat:
>>> Sistem ("output rm / QIDaFD7KLKQh0l5O6b8exdew3b0.txt")
>>> Cu open ("input / foo.txt", "w") ca fișier:
... File.write ("foofoofoo")
>>> Sistem ("hărți hashedassets / intrare map.json / input txt *. / * / *. Txt ieșire /")
"input / foo.txt" cp "ieșire / NdbmnXyjdY2paFzlDw9aJzCKH9w.txt"
Eroare de manipulare
Cu toate acestea, dacă vom rula acest fără argumente, acesta nu:
>>> Sistem ("hashedassets", extern = True)
Utilizare: hashedassets [opțiuni] fișierul de mapare SOURCE [...] DEST

hashedassets: eroare: Trebuie să specificați cel puțin SOURCE fișierul de mapare și DEST

Cerințe :

  • Python

Software similare

VimExplorer
VimExplorer

2 Jun 15

Cruiser
Cruiser

3 Jun 15

Pfm
Pfm

11 May 15

Comentarii la hashedassets

Comentariile nu a fost găsit
Adauga comentarii
Porniţi pe imagini!