hashedassets

Screenshot Software:
hashedassets
Mga detalye ng Software:
Bersyon: 0.3.1.1
I-upload ang petsa: 12 May 15
Nag-develop: Filip Noetzel
Lisensya: Libre
Katanyagan: 6

Rating: 1.0/5 (Total Votes: 1)

hashedassets ay isang command-line tool na ang mga kopya ng mga file sa mga filename batay sa kanilang mga nilalaman. & Nbsp; Ito din ang magsusulat ng isang mapa ng kung ano ay pinalitan ng kung ano, sa gayon maaari mong mahanap ang iyong mga file.
Pangunahing layunin ng mga ito ay na maaari mong idagdag ang isang malayong hinaharap Matatapos header sa iyong bahagi. Paggamit ng hash batay filename ay isang pulutong ng mas mahusay kaysa sa paggamit ng mga pagbabago sa bilang ng iyong $ VCS, dahil gumagamit lamang na kailangan upang i-download ang mga file na ay hindi baguhin.
Paglikha ng ilang source file
Una, lumikha kami ng isang file na ma-hash:
>>> System ("input mkdir /")
>>> System ("mkdir input / subdir /")
>>> System ("mkdir maps /")
>>> May bukas ("input / foo.txt", "w") bilang file:
... File.write ("foo")
>>> May bukas ("input / subdir / bar.txt", "w") bilang file:
... File.write ("bar")
>>> System ('hawakan -t200504072213.12 input / foo.txt')
Simple paggamit
>>> System ("hashedassets mapa / map.txt input / input *. Txt / * / *. Txt output /")
mkdir 'output'
cp 'input / foo.txt' 'output / C-7Hteo_D9vJXQ3UfzxbwnXaijM.txt'
cp 'input / subdir / bar.txt' 'output / Ys23Ag_5IOWqZCw9QGaVDdHwH00.txt'
>>> Print bukas ("mga mapa / map.txt"). Read ()
subdir / bar.txt: Ys23Ag_5IOWqZCw9QGaVDdHwH00.txt
foo.txt: C-7Hteo_D9vJXQ3UfzxbwnXaijM.txt

>>> System ("ls output /")
C-7Hteo_D9vJXQ3UfzxbwnXaijM.txt
Ys23Ag_5IOWqZCw9QGaVDdHwH00.txt
>>> System ("ls maps /")
map.txt
Level Logging
Kung sabihin namin ang utos na maging tahimik, hindi ito i-print kung ano ang ginagawa nito:
>>> System ("hashedassets q mapa / map2.txt input / input *. Txt / * / *. Txt output /")
Kung sabihin namin ang utos na maging mas maligoy, ito logs sa karagdagang impormasyon:
>>> System ("hashedassets -vvv mapa / map3.txt input / input *. Txt / * / *. Txt output /")
Itakda ang antas ng Debug hanggang 10
cp 'input / foo.txt' 'output / C-7Hteo_D9vJXQ3UfzxbwnXaijM.txt'
cp 'input / subdir / bar.txt' 'output / Ys23Ag_5IOWqZCw9QGaVDdHwH00.txt'
Pagbabago ng panahon ay mapangalagaan din ang:
>>> Old_stat = os.stat ("input / foo.txt")
>>> New_stat = os.stat ("output / C-7Hteo_D9vJXQ3UfzxbwnXaijM.txt")
>>> [(Getattr (old_stat, suhay) == getattr (new_stat, suhay))
... Para suhayan sa ('st_mtime', 'st_atime', 'st_ino',)]
[True, True, False]
Maaari naming madaling gawin ito sa maraming mga formats:
JavaScript
>>> System ("hashedassets n my_callback mapa / map.js input / *. Txt input / * / *. Txt output /")
cp 'input / foo.txt' 'output / C-7Hteo_D9vJXQ3UfzxbwnXaijM.txt'
cp 'input / subdir / bar.txt' 'output / Ys23Ag_5IOWqZCw9QGaVDdHwH00.txt'
>>> Print bukas ("mga mapa / map.js"). Read ()
var my_callback = {
& Nbsp; "foo.txt": "C-7Hteo_D9vJXQ3UfzxbwnXaijM.txt",
& Nbsp; "subdir / bar.txt": "Ys23Ag_5IOWqZCw9QGaVDdHwH00.txt"
};
JSON
>>> System ("hashedassets n my_callback mapa / map.json input / input *. Txt / * / *. Txt output /")
cp 'input / foo.txt' 'output / C-7Hteo_D9vJXQ3UfzxbwnXaijM.txt'
cp 'input / subdir / bar.txt' 'output / Ys23Ag_5IOWqZCw9QGaVDdHwH00.txt'
>>> Print bukas ("mga mapa / map.json"). Read ()
{
& Nbsp; "foo.txt": "C-7Hteo_D9vJXQ3UfzxbwnXaijM.txt",
& Nbsp; "subdir / bar.txt": "Ys23Ag_5IOWqZCw9QGaVDdHwH00.txt"
}
Jsonp
>>> System ("hashedassets n my_callback mapa / map.jsonp input / input *. Txt / * / *. Txt output /")
cp 'input / foo.txt' 'output / C-7Hteo_D9vJXQ3UfzxbwnXaijM.txt'
cp 'input / subdir / bar.txt' 'output / Ys23Ag_5IOWqZCw9QGaVDdHwH00.txt'
>>> Print bukas ("mga mapa / map.jsonp"). Read ()
my_callback ({
& Nbsp; "foo.txt": "C-7Hteo_D9vJXQ3UfzxbwnXaijM.txt",
& Nbsp; "subdir / bar.txt": "Ys23Ag_5IOWqZCw9QGaVDdHwH00.txt"
});
Sass
Sass ay isang meta wika sa itaas ng CSS.
>>> System ("hashedassets n my_callback mapa / map.scss input / *. Txt input / * / *. Txt output /")
cp 'input / foo.txt' 'output / C-7Hteo_D9vJXQ3UfzxbwnXaijM.txt'
cp 'input / subdir / bar.txt' 'output / Ys23Ag_5IOWqZCw9QGaVDdHwH00.txt'
>>> Print bukas ("mga mapa / map.scss"). Read ()
mixin my_callback ($ direktiba, $ path) {
& Nbsp;if $ landas == "subdir / bar.txt" {# {$ direktiba}: url ("Ys23Ag_5IOWqZCw9QGaVDdHwH00.txt"); }
& Nbsp;else kung $ landas == "foo.txt" {# {$ direktiba}: url ("C-7Hteo_D9vJXQ3UfzxbwnXaijM.txt"); }
& Nbsp;else {
& Nbsp;warn "Hindi mo nakita" # {$ landas} "sa listahan ng mga ari-arian";
& Nbsp; # {$ direktiba}: url ($ path);
& Nbsp;}
}
PHP
>>> System ("hashedassets n my_callback mapa / map.php input / input *. Txt / * / *. Txt output /")
cp 'input / foo.txt' 'output / C-7Hteo_D9vJXQ3UfzxbwnXaijM.txt'
cp 'input / subdir / bar.txt' 'output / Ys23Ag_5IOWqZCw9QGaVDdHwH00.txt'
>>> Print bukas ("mga mapa / map.php"). Read ()
$ My_callback = array (
& Nbsp; "subdir / bar.txt" => "Ys23Ag_5IOWqZCw9QGaVDdHwH00.txt",
& Nbsp; "foo.txt" => "C-7Hteo_D9vJXQ3UfzxbwnXaijM.txt",
)
Sed
Maaari din naming makabuo ng isang sed script na gumagana ang kapalit para sa amin:
>>> System ("hashedassets n my_callback mapa / map.sed input / input *. Txt / * / *. Txt output /")
cp 'input / foo.txt' 'output / C-7Hteo_D9vJXQ3UfzxbwnXaijM.txt'
cp 'input / subdir / bar.txt' 'output / Ys23Ag_5IOWqZCw9QGaVDdHwH00.txt'
>>> Print bukas ("mga mapa / map.sed"). Read ()
s / subdir / bar txt / Ys23Ag_5IOWqZCw9QGaVDdHwH00 txt / g
s / foo txt / C-7Hteo_D9vJXQ3UfzxbwnXaijM txt / g

Kami ay dapat na ma-direkta gamitin ito sa sed din
>>> May bukas ("replaceme.html", "w") bilang file:
... File.write (' bar ')
Ang script ay pagkatapos ay inilapat na tulad nito:
>>> System ("sed -f mapa / map.sed replaceme.html")
bar
Gayunpaman, '.' ay hindi itinuturing bilang wildcard, kaya ang mga sumusunod ay hindi gumagana
>>> May bukas ("replaceme2.html", "w") bilang file:
... File.write (' bar ')
>>> System ("sed -f mapa / map.sed replaceme2.html")
bar
Tinutukoy ang uri na may t
Ang uri ng mga mapa ay nahulaan mula sa filename, ngunit maaari mo itong tukuyin pati na rin:
>>> System ("hashedassets t js cantguessmaptype input / *. Txt input / * / *. Txt output /")
cp 'input / foo.txt' 'output / C-7Hteo_D9vJXQ3UfzxbwnXaijM.txt'
cp 'input / subdir / bar.txt' 'output / Ys23Ag_5IOWqZCw9QGaVDdHwH00.txt'
Tinutukoy ang haba ng filename na may l
>>> System ("hashedassets l 10 mga mapa / shortmap.json input / input *. Txt / * / *. Txt output /")
cp 'input / foo.txt' 'output / C-7Hteo_D9.txt'
cp 'input / subdir / bar.txt' 'output / Ys23Ag_5IO.txt'
>>> System ("rm output / C-7Hteo_D9.txt output / Ys23Ag_5IO.txt")
Tinutukoy ang digest na may d
>>> System ("hashedassets d MD5 mapa / shortmap.json input / *. Txt input / * / *. Txt output /")
cp 'input / foo.txt' 'output / rL0Y20zC-Fzt72VPzMSk2A.txt'
cp 'input / subdir / bar.txt' 'output / N7UdGUp1E-RbVvZSTy1R8g.txt'
>>> System ("rm output / rL0Y20zC-Fzt72VPzMSk2A.txt output / N7UdGUp1E-RbVvZSTy1R8g.txt")
Re-gamit ang isang mapa
Program sa mga nagbabasa ng mga mapa na ito na nilikha sa isang bago tumakbo upang kopyahin lamang ang mga file na hindi nagbago mula noong. Kaya, ang mga sumusunod na utos ay hindi kopyahin ang anumang mga file:
>>> System ("hashedassets mapa / map.scss input / *. Txt input / * / *. Txt output /")
>>> System ("hashedassets mapa / map.php input / input *. Txt / * / *. Txt output /")
>>> System ("hashedassets mapa / map.js input / *. Txt input / * / *. Txt output /")
>>> System ("hashedassets mapa / map.json input / input *. Txt / * / *. Txt output /")
>>> System ("hashedassets mapa / map.sed input / input *. Txt / * / *. Txt output /")
>>> System ("hashedassets mapa / map.jsonp input / input *. Txt / * / *. Txt output /")
>>> System ("hashedassets mapa / map.txt input / input *. Txt / * / *. Txt output /")
Kung hinawakan namin ang isa sa mga file na input sa pagitan, ang file ay basahin ngunit hindi makopya sapagkat ang hashsum ay pareho:
>>> System ('hawakan -t200504072214.12 input / foo.txt')
>>> System ("hashedassets mapa / map.json input / input *. Txt / * / *. Txt output /")
Kung babaguhin namin ang nilalaman ng file, ito ay makakuha ng isang bagong pangalan:
>>> May bukas ("input / foo.txt", "w") bilang file:
... File.write ("foofoo")
>>> System ("hashedassets mapa / map.json input / input *. Txt / * / *. Txt output /")
rm 'output / C-7Hteo_D9vJXQ3UfzxbwnXaijM.txt'
cp 'input / foo.txt' 'output / QIDaFD7KLKQh0l5O6b8exdew3b0.txt'
Kung ang listahan mo ng mga file sa direktoryo, tandaan na ang mga lumang file na '' output / C-7Hteo_D9vJXQ3UfzxbwnXaijM.txt '' ay nawala:
>>> System ("ls output /")
QIDaFD7KLKQh0l5O6b8exdew3b0.txt
Ys23Ag_5IOWqZCw9QGaVDdHwH00.txt
Kung aalisin namin ang isa sa nilikha ng mga file, ito ay makakakuha ng recreated:
>>> System ("rm output / Ys23Ag_5IOWqZCw9QGaVDdHwH00.txt")
>>> System ("hashedassets mapa / map.json input / input *. Txt / * / *. Txt output /")
cp 'input / subdir / bar.txt' 'output / Ys23Ag_5IOWqZCw9QGaVDdHwH00.txt'
>>> System ("ls output /")
QIDaFD7KLKQh0l5O6b8exdew3b0.txt
Ys23Ag_5IOWqZCw9QGaVDdHwH00.txt
Kung ang isang file na ito ay tungkol na maalis dahil nagbago ang orihinal na nilalaman, hindi ito ay recreated:
>>> System ("rm output / QIDaFD7KLKQh0l5O6b8exdew3b0.txt")
>>> May bukas ("input / foo.txt", "w") bilang file:
... File.write ("foofoofoo")
>>> System ("hashedassets mapa / map.json input / input *. Txt / * / *. Txt output /")
cp 'input / foo.txt' 'output / NdbmnXyjdY2paFzlDw9aJzCKH9w.txt'
Error sa paghawak
Gayunpaman, kung tumakbo kami na ito na walang arguments, nabigo ito:
>>> System ("hashedassets", panlabas = True)
Usage: hashedassets [mga opsyon] MAPFILE SOURCE [...] DEST

hashedassets: error: Kailangan mong tukuyin ang hindi bababa MAPFILE SOURCE at DEST

Kinakailangan :

  • sawa

Katulad na software

Beagle
Beagle

2 Jun 15

Worker
Worker

15 Feb 15

Stat/Transfer
Stat/Transfer

20 Feb 15

Mga komento sa hashedassets

Mga Komento hindi natagpuan
Magdagdag ng komento
I-sa mga imahe!