Zoph/使用命令列工具
許多使用者幾乎完全使用Zoph Web介面來操作Zoph。但是,更高階的使用者可能更喜歡使用命令列介面(CLI)來執行某些任務。Zoph有一個名為zoph的CLI客戶端,可用於匯入照片並對資料庫中已有的照片進行(批次)更改。
可以在此處找到所有選項的詳細概述。
首先,您需要一個有效的zoph.ini檔案才能使用CLI客戶端。如果您在系統上安裝了多個Zoph例項,與Web介面相比,一個重要的區別在於CLI無法自動確定您嘗試將照片匯入到哪個Zoph安裝(例項)。預設情況下,它將採用第一個例項,否則您需要指定--instance CLI選項。請參閱zoph.ini以獲取一些示例。

配置頁面(在管理員下)中有一些與匯入相關的選項。有關概述,請參見右側的螢幕截圖。這些選項應該不言自明。
當然,您希望告訴Zoph它應該匯入哪些照片。照片列表始終最後指定。您可以簡單地指定檔名,但也可以使用Shell的“萬用字元”功能一次指定多張照片。
假設您在一個目錄中有一堆照片加上一個文字檔案
zoph@zoph $ ls IMG_1203.JPG IMG_1207.JPG IMG_1211.JPG IMG_1215.JPG IMG_1219.JPG IMG_1204.JPG IMG_1208.JPG IMG_1212.JPG IMG_1216.JPG IMG_1220.JPG IMG_1205.JPG IMG_1209.JPG IMG_1213.JPG IMG_1217.JPG IMG_1221.JPG IMG_1206.JPG IMG_1210.JPG IMG_1214.JPG IMG_1218.JPG photos.txt
如果要匯入所有照片,可以執行以下操作
zoph@zoph $ zoph *
但是,當zoph嘗試匯入文字檔案時,這將導致錯誤,因此最好執行以下操作
zoph@zoph $ zoph *.JPG
甚至
zoph@zoph $ zoph IMG_12*.JPG
但是,如果您只想匯入其中的一些照片,例如1203到1205、1210到1219(1213除外)、1220和1221。當然,您可以分別指定每個檔案
zoph@zoph $ zoph IMG_1203.JPG IMG_1204.JPG IMG_1205.JPG IMG_1210.JPG IMG_1211.JPG IMG_1212.JPG IMG_1214.JPG
IMG_1215.JPG IMG_1216.JPG IMG_1217.JPG IMG_1218.JPG IMG_1219.JPG IMG_1220.JPG IMG_1221.JPG
好吧,我不知道你怎麼樣,但我肯定沒有買電腦來自己做事情,所以為什麼不讓電腦來處理呢?
zoph@zoph $ zoph IMG_120[3-5].JPG IMG_121[^3]*.JPG IMG_122*.JPG
這樣節省了很多打字時間,不是嗎?順便說一下,這不是zoph的功能,而是您Shell的功能(可能是Bash)。
您可以像上面描述的那樣匯入照片,然後使用Zoph Web介面來組織它們,但為什麼不立即組織它們呢?
您可以將照片放入一個或多個相簿和一個或多個類別中(實際上是零個或多個,因為您不必將它們放入相簿或類別中)。為此,請使用--album和--category命令列選項。如果照片上有任何人物,則可以使用--person選項將人物新增到照片中。請記住,照片列表始終位於其他選項之後。重要的是要意識到相簿、類別或人物必須已存在於資料庫中。
匯入IMG_1300.JPG並將其放置在Summer相簿和Landscapes類別中
zoph@zoph $ zoph --album "Summer" --category "Landscapes" IMG_1300.JPG
匯入john.jpg並將其放置在Family相簿、Portraits類別中,並指定John Doe在該圖片中
zoph@zoph $ zoph --album "Family" --category "Portraits" --person "John Doe" john.jpg
匯入family.jpg並將其放置在Family和Summer相簿中,並指定John Doe、Johnny Doe和Jane Doe在該圖片中
zoph@zoph $ zoph --album "Family" --album "Summer" --category "Portraits" --person "John Doe, Johnny Doe, Jane Doe" family.jpg
匯入guitarists.jpg並將其放置在Music和Musicians類別中,並指定Hank Williams、Jimi Hendrix和Brian May在該圖片中
zoph@zoph $ zoph --category "Music, Musicians" --person "Hank Williams" --person "Jimi Hendrix" --person "Brian May" guitarists.jpg
如您所見,您可以透過多次重複--album、--category或--person選項,或僅指定一次併為其提供一個用逗號分隔的相簿、類別或人物列表來新增多個相簿、類別或人物。
當然,您還希望記錄照片是在哪裡以及由誰拍攝的。這與相簿、類別和人物的工作方式幾乎相同,除了您只能儲存每個的一個。同樣,在透過CLI使用人物和地點之前,它們必須存在於資料庫中。使用--photographer選項指定攝影師,使用--location選項指定地點。
匯入IMG_1400.JPG並設定John Doe為攝影師
zoph@zoph $ zoph --photographer "John Doe" IMG_1400.JPG
匯入IMG_1401.JPG並設定“Berlin”為拍攝照片的地點
zoph@zoph $ zoph --location "Berlin" IMG_1401.JPG
Zoph 可以儲存關於您的照片的更多屬性。其中許多屬性將自動從照片的 EXIF 資訊中讀取。您也可以使用--field 選項手動設定這些欄位。有關欄位的完整列表,請參閱 --field。
匯入IMG_1416.JPG並設定標題
zoph@zoph $ zoph --field "Title=A nice photo" IMG_1416.JPG
在匯入過程中,Zoph 會將您的照片移動(或複製)到您設定為“image_dir”的目錄。您可以在 zoph.ini 中設定此目錄。在此目錄下,Zoph 可以建立子目錄。這由 --path、--dateddirs 和 --hierarchical 選項控制。使用 --path,您可以手動設定將在“image_dir”和檔名之間插入的路徑。使用 --dateddirs 和 --hierarchical,Zoph 將根據照片的(EXIF-)日期建立目錄。如果您同時指定了路徑名和 --dateddirs 或 --hierarchical,則該位置將首先包含路徑,然後包含日期目錄。
假設 IMG_1480.JPG 拍攝於 2010 年 5 月 5 日,IMG_1481.JPG 拍攝於 2010 年 5 月 13 日,並且 image_dir 設定為/data/photos.
zoph@zoph $ zoph IMG_1480.JPG IMG_1481.JPG zoph@zoph $ ls /data/photos mid thumb IMG_1480.JPG IMG_1481.JPG
好的,現在讓我們新增一個 --path
zoph@zoph $ zoph --path "family" IMG_1480.JPG IMG_1481.JPG zoph@zoph $ ls /data/photos family zoph@zoph $ ls /data/photos/family mid thumb IMG_1480.JPG IMG_1481.JPG
和 --dateddirs
zoph@zoph $ zoph --dateddirs IMG_1480.JPG IMG_1481.JPG zoph@zoph $ ls /data/photos 2010.05.05 2010.05.13 zoph@zoph $ ls /data/photos/2010.05.05 mid thumb IMG_1480.JPG
如果您只有少量照片,這當然很好,但是當您的收藏集增長並且您拍攝的照片跨越數百天時,您最終將擁有數百個日期目錄。出於這個原因,存在分層日期目錄
zoph@zoph $ zoph --hierarchical IMG_1480.JPG IMG_1481.JPG zoph@zoph $ ls /data/photos 2010 zoph@zoph $ ls /data/photos/2010 05 zoph@zoph $ ls /data/photos/2010/05 05 13 zoph@zoph $ ls /data/photos/2010/05/05 mid thumb IMG_1480.JPG
當然,您也可以同時使用路徑和日期目錄
zoph@zoph $ zoph --path "family" --hierarchical IMG_1480.JPG zoph@zoph $ zoph --path "family" --dateddirs IMG_1481.JPG zoph@zoph $ ls /data/photos family zoph@zoph $ ls /data/photos/family 2010 2010.05.13
(順便說一句,當同時指定 --dateddirs 和 --hierarchical 時,分層將優先)。
使用 --dirpattern CLI 選項,您可以根據照片所在的目錄自動分配相簿、類別、人物、攝影師、位置或路徑。您可以透過指定一個模式來做到這一點,Zoph 將根據該模式使用目錄名稱分配給正確的組織者。此模式由字母列表組成,其中每個字母代表一個目錄。您可以使用的字母為:a(相簿)、c(類別)、l(位置)、p(人物)、P(攝影師)和D(路徑)。
假設您有以下目錄結構
|- John Doe
| |- Walk in the park
| | |- Trees
| | | |- IMG_2001.JPG
| | | |- IMG_2002.JPG
| | | |- Flowers
| | | |- IMG_2003.JPG
| | |- Flowers
| | |- IMG_2004.JPG
| |- A day in the forest
| | |- Trees
| | | |- IMG_2005.JPG
| | | |- IMG_2006.JPG
| | | |- Birds
| | | |- IMG_2007.JPG
| | |- Animals
| | |- IMG_2008.JPG
| |- Summer Holiday
| |- IMG_2009.JPG
| |- IMG_2010.JPG
|- Jane Doe
|- A day in the forest
| |- Trees
| | |- DSC_1000.JPG
| | |- DSC_1001.JPG
| | |- Birds
| | |- DSC_1002.JPG
| |- Animals
| |- DSC_1003.JPG
|- Summer Holiday
|- DSC_1004.JPG
|- DSC_1005.JPG
現在,您可以進入頂層目錄並使用--dirpattern選項執行 Zoph 匯入,以自動為每張照片分配攝影師、相簿和一些類別
zoph --import -r --dirpattern "Pacc" *
Zoph 現在將匯入整個目錄結構,使用第一級目錄名稱分配攝影師(dirpattern 中的P),第二級分配相簿(a),第三級和第四級分配類別(cc)。在此示例中,IMG_2001.JPG到IMG_2010將儲存為攝影師“John Doe”,照片DSC_1000.JPG到DSC_1005.JPG將儲存為攝影師“Jane Doe”。IMG_2001.JPG到IMG_2004.JPG將具有相簿“A walk in the park”。
IMG_2005.JPG到IMG_2008.JPG以及DSC_1000.JPG到IMG_1003.JPG將位於相簿“A day in the forest”中。
IMG_2009.JPG, IMG_2010.JPG, DSC_1004.JPG和DSC_1005.JPG將位於相簿“Summer Holiday”中。
IMG_2001.JPG, IMG_2002.JPG, IMG_2003.JPG, IMG_2005.JPG到IMG_2007.JPG和DSC_1000.JPG到IMG_1002.JPG將位於類別 Trees 中。
IMG_2003.JPG和IMG_2004.JPG將位於類別 Flowers 中。這意味著IMG_2003.JPG將同時分配給 Trees 和 Flowers。同樣,DSC_1002.JPG將同時分配給 Trees 和 Birds。
IMG_2008.JPG和DSC_1003.JPG將位於類別 Animals 中。
最後,“Summer Holiday”相簿中的照片將不會分配任何類別。
Zoph CLI 客戶端有幾個選項可以控制其工作方式,上面已經給出了 --dateddirs 和 --hierarchical 的示例。更多設定可以在 選項 中找到。