gd-utils/count

32 lines
2.2 KiB
Plaintext
Raw Normal View History

2020-06-27 14:19:43 +08:00
#!/usr/bin/env node
const { argv } = require('yargs')
2020-07-07 20:41:02 +08:00
.usage('用法: ./$0 <目錄ID> [options]')
.example('./$0 1ULY8ISgWSOVc0UrzejykVgXfVL_I4r75', '獲取 https://drive.google.com/drive/folders/1ULY8ISgWSOVc0UrzejykVgXfVL_I4r75 内包含的所有文件的統計資訊')
.example('./$0 root -s size -t html -o out.html', '獲取個人空間根目錄統計資訊結果以HTML表格輸出根據總大小降冪排列保存到本目錄下的out.html文件中不存在則新建存在的覆蓋')
.example('./$0 root -s name -t json -o out.json', '獲取個人空間根目錄統計資訊結果以JSON格式輸出根據文件扩展名排序保存到本目录下的out.json文件中')
.example('./$0 root -t all -o all.json', '獲取個人空間根目錄統計資訊將所有文件資訊包括資料夾以JSON格式輸出保存到本目錄下的all.json文件中')
2020-06-27 14:19:43 +08:00
.alias('u', 'update')
2020-07-07 20:41:02 +08:00
.describe('u', '強制從線上獲取資訊(不論是否存在本地快取)')
2020-06-27 14:19:43 +08:00
.alias('N', 'not_teamdrive')
2020-07-07 20:41:02 +08:00
.describe('N', '如果不是小組雲端硬碟連結,可以加上此参數以提高接口查詢效率,降低延遲。如果要統計的是帳號下之個人空間,且./sa目錄下的service account沒有相關權限請加上此參數以使用個人的auth身份進行查詢')
2020-06-27 14:19:43 +08:00
.alias('S', 'service_account')
2020-07-07 20:41:02 +08:00
.describe('S', '指定使用service account進行統計前提是必須在sa路徑下放置SA json文件')
2020-06-27 14:19:43 +08:00
.alias('s', 'sort')
2020-07-07 20:41:02 +08:00
.describe('s', '統計結果排序方法,可選值如下: name 或 size不填則預設根據文件數量降冪排列')
2020-06-27 14:19:43 +08:00
.alias('t', 'type')
2020-07-15 14:36:39 +08:00
.describe('t', '統計結果輸出類型,可選值如下: html/tree/json/allall表示輸出所有文件json數據最好與 -o 一起使用。不填則預設輸出命令列表格')
2020-06-27 14:19:43 +08:00
.alias('o', 'output')
2020-07-07 20:41:02 +08:00
.describe('o', '統計結果輸出文件,適合與 -t 一起使用')
2020-06-27 14:19:43 +08:00
.help('h')
.alias('h', 'help')
const { count, validate_fid } = require('./src/gd')
const [fid] = argv._
if (validate_fid(fid)) {
const { update, sort, type, output, not_teamdrive, service_account } = argv
count({ fid, update, sort, type, output, not_teamdrive, service_account }).catch(console.error)
} else {
2020-07-07 20:41:02 +08:00
console.warn('無目錄ID或格式錯誤')
2020-06-27 14:19:43 +08:00
}