本文整理汇总了Golang中github.com/prasmussen/gdrive/util.FileSizeFormat函数的典型用法代码示例。如果您正苦于以下问题:Golang FileSizeFormat函数的具体用法?Golang FileSizeFormat怎么用?Golang FileSizeFormat使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了FileSizeFormat函数的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Golang代码示例。
示例1: Quota
func Quota(d *gdrive.Drive, sizeInBytes bool) error {
info, err := d.About.Get().Do()
if err != nil {
return fmt.Errorf("An error occurred: %v\n", err)
}
fmt.Printf("Used: %s\n", util.FileSizeFormat(info.QuotaBytesUsed, sizeInBytes))
fmt.Printf("Free: %s\n", util.FileSizeFormat(info.QuotaBytesTotal-info.QuotaBytesUsed, sizeInBytes))
fmt.Printf("Total: %s\n", util.FileSizeFormat(info.QuotaBytesTotal, sizeInBytes))
return nil
}
开发者ID:mberk,项目名称:gdrive,代码行数:11,代码来源:cli.go
示例2: UploadStdin
// Upload file to drive
func UploadStdin(d *gdrive.Drive, input io.ReadCloser, title string, parentId string, share bool, mimeType string, convert bool) error {
// File instance
f := &drive.File{Title: title}
// Set parent (if provided)
if parentId != "" {
p := &drive.ParentReference{Id: parentId}
f.Parents = []*drive.ParentReference{p}
}
getRate := util.MeasureTransferRate()
if convert {
fmt.Printf("Converting to Google Docs format enabled\n")
}
info, err := d.Files.Insert(f).Convert(convert).Media(input).Do()
if err != nil {
return fmt.Errorf("An error occurred uploading the document: %v\n", err)
}
// Total bytes transferred
bytes := info.FileSize
// Print information about uploaded file
printInfo(d, info, false)
fmt.Printf("MIME Type: %s\n", mimeType)
fmt.Printf("Uploaded '%s' at %s, total %s\n", info.Title, getRate(bytes), util.FileSizeFormat(bytes, false))
// Share file if the share flag was provided
if share {
err = Share(d, info.Id)
}
return err
}
开发者ID:mberk,项目名称:gdrive,代码行数:34,代码来源:cli.go
示例3: printInfo
func printInfo(d *gdrive.Drive, f *drive.File, sizeInBytes bool) {
fields := map[string]string{
"Id": f.Id,
"Title": f.Title,
"Description": f.Description,
"Size": util.FileSizeFormat(f.FileSize, sizeInBytes),
"Created": util.ISODateToLocal(f.CreatedDate),
"Modified": util.ISODateToLocal(f.ModifiedDate),
"Owner": strings.Join(f.OwnerNames, ", "),
"Md5sum": f.Md5Checksum,
"Shared": util.FormatBool(isShared(d, f.Id)),
"Parents": util.ParentList(f.Parents),
}
order := []string{
"Id",
"Title",
"Description",
"Size",
"Created",
"Modified",
"Owner",
"Md5sum",
"Shared",
"Parents",
}
util.Print(fields, order)
}
开发者ID:mberk,项目名称:gdrive,代码行数:28,代码来源:cli.go
示例4: Download
// Download file from drive
func Download(d *gdrive.Drive, fileId string, stdout, deleteAfterDownload bool, format string, force bool) error {
// Get file info
info, err := d.Files.Get(fileId).Do()
if err != nil {
return fmt.Errorf("An error occurred: %v\n", err)
}
downloadUrl, extension, err := util.InternalDownloadUrlAndExtension(info, format)
if err != nil {
return err
}
// Measure transfer rate
getRate := util.MeasureTransferRate()
// GET the download url
res, err := d.Client().Get(downloadUrl)
if err != nil {
return fmt.Errorf("An error occurred: %v", err)
}
// Close body on function exit
defer res.Body.Close()
// Write file content to stdout
if stdout {
io.Copy(os.Stdout, res.Body)
return nil
}
fileName := fmt.Sprintf("%s%s", info.Title, extension)
// Check if file exists
if !force && util.FileExists(fileName) {
return fmt.Errorf("An error occurred: '%s' already exists", fileName)
}
// Create a new file
outFile, err := os.Create(fileName)
if err != nil {
return fmt.Errorf("An error occurred: %v\n", err)
}
// Close file on function exit
defer outFile.Close()
// Save file to disk
bytes, err := io.Copy(outFile, res.Body)
if err != nil {
return fmt.Errorf("An error occurred: %s", err)
}
fmt.Printf("Downloaded '%s' at %s, total %s\n", fileName, getRate(bytes), util.FileSizeFormat(bytes, false))
if deleteAfterDownload {
err = Delete(d, fileId)
}
return err
}
开发者ID:mberk,项目名称:gdrive,代码行数:60,代码来源:cli.go
示例5: List
func List(d *gdrive.Drive, query, titleFilter string, maxResults int, sharedStatus, noHeader, includeDocs, sizeInBytes bool) error {
caller := d.Files.List()
if maxResults > 0 {
caller.MaxResults(int64(maxResults))
}
if titleFilter != "" {
q := fmt.Sprintf("title contains '%s'", titleFilter)
caller.Q(q)
}
if query != "" {
caller.Q(query)
}
list, err := caller.Do()
if err != nil {
return err
}
items := make([]map[string]string, 0, 0)
for _, f := range list.Items {
if f.DownloadUrl == "" && !includeDocs {
if f.MimeType != "application/vnd.google-apps.folder" {
continue
}
}
if f.Labels.Trashed {
continue
}
items = append(items, map[string]string{
"Id": f.Id,
"Title": util.TruncateString(f.Title, 40),
"Size": util.FileSizeFormat(f.FileSize, sizeInBytes),
"Created": util.ISODateToLocal(f.CreatedDate),
})
}
columnOrder := []string{"Id", "Title", "Size", "Created"}
if sharedStatus {
addSharedStatus(d, items)
columnOrder = append(columnOrder, "Shared")
}
util.PrintColumns(items, columnOrder, 3, noHeader)
return nil
}
开发者ID:seamusburke54,项目名称:gdrive,代码行数:51,代码来源:cli.go
示例6: uploadFileWorker
func uploadFileWorker(id int, jobs <-chan JobInfo, results chan<- int) error {
time.Sleep(time.Second)
for j := range jobs {
fmt.Println("Accepted job")
if j.title == "" {
j.title = filepath.Base(j.inputInfo.Name())
}
if j.mimeType == "" {
j.mimeType = mime.TypeByExtension(filepath.Ext(j.title))
}
// File instance
f := &drive.File{Title: j.title, MimeType: j.mimeType}
// Set parent (if provided)
if j.parentId != "" {
p := &drive.ParentReference{Id: j.parentId}
f.Parents = []*drive.ParentReference{p}
}
getRate := util.MeasureTransferRate()
if j.convert {
fmt.Printf("Converting to Google Docs format enabled\n")
}
info, err := j.d.Files.Insert(f).Convert(j.convert).ResumableMedia(context.Background(), j.input, j.inputInfo.Size(), j.mimeType).Do()
if err != nil {
return fmt.Errorf("An error occurred uploading the document: %v\n", err)
}
// Total bytes transferred
bytes := info.FileSize
// Print information about uploaded file
printInfo(j.d, info, false)
fmt.Printf("MIME Type: %s\n", j.mimeType)
fmt.Printf("Uploaded '%s' at %s, total %s\n", info.Title, getRate(bytes), util.FileSizeFormat(bytes, false))
// Placeholder for results
results <- 1
// Share file if the share flag was provided
if j.share {
err = Share(j.d, info.Id)
}
}
fmt.Println("Worker terminating")
return nil
}
开发者ID:cmbuck,项目名称:gdrive,代码行数:50,代码来源:cli.go
示例7: uploadFile
func uploadFile(d *gdrive.Drive, input *os.File, inputInfo os.FileInfo, fileId string, title string, parentId string, share bool, mimeType string, convert bool) error {
if title == "" {
title = filepath.Base(inputInfo.Name())
}
if mimeType == "" {
mimeType = mime.TypeByExtension(filepath.Ext(title))
}
// File instance
f := &drive.File{Title: title, MimeType: mimeType}
// Set parent (if provided)
if parentId != "" {
p := &drive.ParentReference{Id: parentId}
f.Parents = []*drive.ParentReference{p}
}
getRate := util.MeasureTransferRate()
if convert {
fmt.Printf("Converting to Google Docs format enabled\n")
}
var info *drive.File
var err error
if fileId == "" {
info, err = d.Files.Insert(f).Convert(convert).ResumableMedia(context.Background(), input, inputInfo.Size(), mimeType).Do()
} else {
info, err = d.Files.Update(fileId, f).Convert(convert).Media(input).Do()
}
if err != nil {
return fmt.Errorf("An error occurred uploading the document: %v\n", err)
}
// Total bytes transferred
bytes := info.FileSize
// Print information about uploaded file
printInfo(d, info, false)
fmt.Printf("MIME Type: %s\n", mimeType)
fmt.Printf("Uploaded '%s' at %s, total %s\n", info.Title, getRate(bytes), util.FileSizeFormat(bytes, false))
// Share file if the share flag was provided
if share {
err = Share(d, info.Id)
}
return err
}
开发者ID:occho,项目名称:gdrive,代码行数:47,代码来源:cli.go
示例8: List
func List(d *gdrive.Drive, query, titleFilter string, maxResults int, sharedStatus, noHeader, includeDocs, sizeInBytes bool) error {
caller := d.Files.List()
queryList := []string{}
if maxResults > 0 {
caller.MaxResults(int64(maxResults))
}
if titleFilter != "" {
q := fmt.Sprintf("title contains '%s'", titleFilter)
queryList = append(queryList, q)
}
if query != "" {
queryList = append(queryList, query)
} else {
// Skip trashed files
queryList = append(queryList, "trashed = false")
// Skip google docs
if !includeDocs {
for _, mime := range googleMimeTypes {
q := fmt.Sprintf("mimeType != '%s'", mime)
queryList = append(queryList, q)
}
}
}
if len(queryList) > 0 {
q := strings.Join(queryList, " and ")
caller.Q(q)
}
list, err := caller.Do()
if err != nil {
return err
}
files := list.Items
for list.NextPageToken != "" {
if maxResults > 0 && len(files) > maxResults {
break
}
caller.PageToken(list.NextPageToken)
list, err = caller.Do()
if err != nil {
return err
}
files = append(files, list.Items...)
}
items := make([]map[string]string, 0, 0)
for _, f := range files {
if maxResults > 0 && len(items) >= maxResults {
break
}
items = append(items, map[string]string{
"Id": f.Id,
"Title": util.TruncateString(f.Title, 40),
"Size": util.FileSizeFormat(f.FileSize, sizeInBytes),
"Created": util.ISODateToLocal(f.CreatedDate),
})
}
columnOrder := []string{"Id", "Title", "Size", "Created"}
if sharedStatus {
addSharedStatus(d, items)
columnOrder = append(columnOrder, "Shared")
}
util.PrintColumns(items, columnOrder, 3, noHeader)
return nil
}
开发者ID:occho,项目名称:gdrive,代码行数:78,代码来源:cli.go
注:本文中的github.com/prasmussen/gdrive/util.FileSizeFormat函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论