hashedassets

צילום מסך תוכנה:
hashedassets
פרטי תוכנה:
גרסה: 0.3.1.1
טען תאריך: 12 May 15
מפתחים: Filip Noetzel
רשיון: ללא תשלום
פופולריות: 6

Rating: 1.0/5 (Total Votes: 1)

hashedassets הוא כלי שורת פקודה המעתיקה קבצים לקבצים המבוססים על התוכן שלהם & nbsp;. כמו כן, כותב מפה של מה היה שם למה, כך שתוכל למצוא את הקבצים שלך.
מטרה העיקרית של זה היא שאתה יכול להוסיף עתיד רחוק פג תוקף כותרת לרכיבים שלך. שימוש בשמות קבצים חשיש מבוסס הוא הרבה יותר טוב מאשר באמצעות מספר מהדורת VCS $, משום שמשתמשים צריכים רק להוריד קבצים שלא השתנה.
יצירה כמה קבצי מקור
ראשית, אנו יוצרים קובץ צריך לחזור ולדון:
>>> מערכת ("קלט mkdir /")
>>> מערכת ("קלט mkdir / subdir /")
>>> מערכת ("מפות mkdir /")
>>> עם פתוח ("קלט / foo.txt", "W") כקובץ:
... File.write ("foo")
>>> עם פתוח ("קלט / subdir / bar.txt", "W") כקובץ:
... File.write ("בר")
>>> מערכת ("לגעת קלט / foo.txt -t200504072213.12 ')
שימוש פשוט
>>> המערכת ("מפות hashedassets / קלט map.txt / *. Txt קלט / * / *. Txt פלט /")
"הפלט" mkdir
'הקלט / foo.txt' cp 'פלט / C-7Hteo_D9vJXQ3UfzxbwnXaijM.txt'
'הקלט / subdir / bar.txt' cp 'פלט / 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
רמת רישום
אם אנחנו אומרים לי הפקודה להיות בשקט, זה לא להדפיס את מה שהוא עושה:
>>> מערכת ("קלט מפות / map2.txt -q hashedassets / *. Txt קלט / * / *. Txt פלט /")
אם אנחנו אומרים לי הפקודה להיות מפורט יותר, זה מתחבר מידע נוסף:
>>> מערכת ("קלט מפות / map3.txt -vvv hashedassets / *. Txt קלט / * / *. Txt פלט /")
רמת Debug להגדיר עד 10
'הקלט / foo.txt' cp 'פלט / C-7Hteo_D9vJXQ3UfzxbwnXaijM.txt'
'הקלט / subdir / bar.txt' cp 'פלט / 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',)]
[נכון, נכון, שקר]
אנחנו בקלות יכולות לעשות את זה עם מספר רב של פורמטים:
JavaScript
>>> מערכת ("hashedassets -n מפות my_callback / map.js קלט / *. Txt קלט / * / *. Txt פלט /")
'הקלט / foo.txt' cp 'פלט / C-7Hteo_D9vJXQ3UfzxbwnXaijM.txt'
'הקלט / subdir / bar.txt' cp 'פלט / Ys23Ag_5IOWqZCw9QGaVDdHwH00.txt'
>>> הדפסה פתוחה ("מפות / map.js"). לקרוא ()
my_callback var = {
& Nbsp; "foo.txt": "C-7Hteo_D9vJXQ3UfzxbwnXaijM.txt",
& Nbsp; "subdir / bar.txt": "Ys23Ag_5IOWqZCw9QGaVDdHwH00.txt"
};
JSON
>>> מערכת ("hashedassets -n מפות my_callback / קלט map.json / *. Txt קלט / * / *. Txt פלט /")
'הקלט / foo.txt' cp 'פלט / C-7Hteo_D9vJXQ3UfzxbwnXaijM.txt'
'הקלט / subdir / bar.txt' cp 'פלט / 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 פלט /")
'הקלט / foo.txt' cp 'פלט / C-7Hteo_D9vJXQ3UfzxbwnXaijM.txt'
'הקלט / subdir / bar.txt' cp 'פלט / Ys23Ag_5IOWqZCw9QGaVDdHwH00.txt'
>>> להדפיס פתוח ("מפות / map.jsonp"). לקרוא ()
my_callback ({
& Nbsp; "foo.txt": "C-7Hteo_D9vJXQ3UfzxbwnXaijM.txt",
& Nbsp; "subdir / bar.txt": "Ys23Ag_5IOWqZCw9QGaVDdHwH00.txt"
});
זאס
זאס הוא שפת מטא על גבי CSS.
>>> מערכת ("hashedassets -n מפות my_callback / map.scss קלט / *. Txt קלט / * / *. Txt פלט /")
'הקלט / foo.txt' cp 'פלט / C-7Hteo_D9vJXQ3UfzxbwnXaijM.txt'
'הקלט / subdir / bar.txt' cp 'פלט / Ys23Ag_5IOWqZCw9QGaVDdHwH00.txt'
>>> להדפיס פתוח ("מפות / map.scss"). לקרוא ()
my_callbackmixin (הוראת $, נתיב $) {
& Nbsp; נתיב $if == "subdir / bar.txt" {# {הוראת $}: כתובת אתר ("Ys23Ag_5IOWqZCw9QGaVDdHwH00.txt"); }
& Nbsp;else אם נתיב $ == "foo.txt" {# {הוראת $}: כתובת אתר ("C-7Hteo_D9vJXQ3UfzxbwnXaijM.txt"); }
& Nbsp;else {
& Nbsp; #warn "לא מצא" {נתיב $} "ברשימת נכסים";
& Nbsp; # {הוראת $}: כתובת אתר (נתיב $);
& Nbsp;}
}
PHP
>>> מערכת ("hashedassets -n מפות my_callback / קלט map.php / *. Txt קלט / * / *. Txt פלט /")
'הקלט / foo.txt' cp 'פלט / C-7Hteo_D9vJXQ3UfzxbwnXaijM.txt'
'הקלט / subdir / bar.txt' cp 'פלט / Ys23Ag_5IOWqZCw9QGaVDdHwH00.txt'
>>> להדפיס פתוח ("מפות / map.php"). לקרוא ()
$ My_callback = מערך (
& Nbsp; "subdir / bar.txt" = "Ys23Ag_5IOWqZCw9QGaVDdHwH00.txt">,
& Nbsp; "foo.txt" => "C-7Hteo_D9vJXQ3UfzxbwnXaijM.txt",
)
SED
אנחנו גם יכולים ליצור תסריט sed שעושה החלפות לנו:
>>> מערכת ("hashedassets -n מפות my_callback / קלט map.sed / *. Txt קלט / * / *. Txt פלט /")
'הקלט / foo.txt' cp 'פלט / C-7Hteo_D9vJXQ3UfzxbwnXaijM.txt'
'הקלט / subdir / bar.txt' cp 'פלט / Ys23Ag_5IOWqZCw9QGaVDdHwH00.txt'
>>> הדפסה פתוחה ("מפות / map.sed"). לקרוא ()
s / subdir / בר .txt / Ys23Ag_5IOWqZCw9QGaVDdHwH00 .txt / g
s / foo .txt / C-7Hteo_D9vJXQ3UfzxbwnXaijM .txt / g

אנחנו צריכים גם להיות מסוגלים להשתמש ישירות זה עם SED
>>> עם פתוח ("replaceme.html", "W") כקובץ:
... File.write (" בר ')
התסריט מוחל אז ככה:
>>> מערכת ("מפות -f SED / replaceme.html map.sed")
בר
עם זאת, ''. אינו מטופלת ככללית, כך הבא לא עובד
>>> עם פתוח ("replaceme2.html", "W") כקובץ:
... File.write ("
בר ')
>>> מערכת ("מפות -f SED / replaceme2.html map.sed")
בר
המפרט את הסוג עם -t
הסוג של המפה הוא ניחש משם הקובץ, אבל אתה יכול לציין את זה, כמו גם:
>>> מערכת ("hashedassets -t JS cantguessmaptype קלט / *. Txt קלט / * / *. Txt פלט /")
'הקלט / foo.txt' cp 'פלט / C-7Hteo_D9vJXQ3UfzxbwnXaijM.txt'
'הקלט / subdir / bar.txt' cp 'פלט / Ys23Ag_5IOWqZCw9QGaVDdHwH00.txt'
המפרט את אורכו של שם הקובץ עם -l
>>> מערכת ("10 מפות / קלט shortmap.json / *. Txt קלט -l hashedassets / * / *. Txt פלט /")
'הקלט / foo.txt' cp 'פלט / C-7Hteo_D9.txt'
'הקלט / subdir / bar.txt' cp 'פלט / Ys23Ag_5IO.txt'
>>> מערכת ("פלט rm / פלט C-7Hteo_D9.txt / Ys23Ag_5IO.txt")
המפרט את התמצית עם -d
>>> ("Hashedassets -d מפות MD5 / קלט shortmap.json / *. Txt קלט / * / *. Txt פלט /") המערכת
'הקלט / foo.txt' cp 'פלט / rL0Y20zC-Fzt72VPzMSk2A.txt'
'הקלט / subdir / bar.txt' cp 'הפלט / 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 הוא זהה:
>>> מערכת ("לגעת קלט / foo.txt -t200504072214.12 ')
>>> המערכת ("מפות hashedassets / קלט map.json / *. Txt קלט / * / *. Txt פלט /")
אם נשנינו את תוכן הקובץ, הוא יקבל שם חדש:
>>> עם פתוח ("קלט / foo.txt", "W") כקובץ:
... File.write ("foofoo")
>>> המערכת ("מפות hashedassets / קלט map.json / *. Txt קלט / * / *. Txt פלט /")
"הפלט / C-7Hteo_D9vJXQ3UfzxbwnXaijM.txt 'rm
'הקלט / foo.txt' cp 'פלט / QIDaFD7KLKQh0l5O6b8exdew3b0.txt'
אם לאחר מכן ברשימת הקבצים בספרייה, שים לב שהקובץ הישן '' הפלט / C-7Hteo_D9vJXQ3UfzxbwnXaijM.txt '' הוא הלך:
>>> מערכת ("פלט ls /")
QIDaFD7KLKQh0l5O6b8exdew3b0.txt
Ys23Ag_5IOWqZCw9QGaVDdHwH00.txt
אם תסיר אחד מהקבצים שנוצרו, הוא מקבל מחדש:
>>> מערכת ("פלט rm / Ys23Ag_5IOWqZCw9QGaVDdHwH00.txt")
>>> המערכת ("מפות hashedassets / קלט map.json / *. Txt קלט / * / *. Txt פלט /")
'הקלט / subdir / bar.txt' cp 'פלט / Ys23Ag_5IOWqZCw9QGaVDdHwH00.txt'
>>> מערכת ("פלט ls /")
QIDaFD7KLKQh0l5O6b8exdew3b0.txt
Ys23Ag_5IOWqZCw9QGaVDdHwH00.txt
אם קובץ שעומד להסיר כי התוכן המקורי השתנה, הוא לא מחדש:
>>> מערכת ("פלט rm / QIDaFD7KLKQh0l5O6b8exdew3b0.txt")
>>> עם פתוח ("קלט / foo.txt", "W") כקובץ:
... File.write ("foofoofoo")
>>> המערכת ("מפות hashedassets / קלט map.json / *. Txt קלט / * / *. Txt פלט /")
'הקלט / foo.txt' cp 'פלט / NdbmnXyjdY2paFzlDw9aJzCKH9w.txt'
שגיאת טיפול
עם זאת, אם אנחנו רצים זה ללא ויכוחים, זה לא מצליח:
>>> מערכת ("hashedassets", חיצוני = True)
שימוש: hashedassets [אפשרויות] מקור MAPFILE [...] DEST

hashedassets: שגיאה: אתה צריך לציין לפחות מקור MAPFILE וDEST

דרישות :

  • פייתון

תוכנה דומה

KRename
KRename

15 Apr 15

GNOME Commander
GNOME Commander

22 Jun 18

JOrg
JOrg

11 May 15

תגובות ל hashedassets

תגובות לא נמצא
להוסיף הערה
הפעל את התמונות!