func()

in oss/lib/ls.go [737:815]


func (lc *ListCommand) showObjectVersions(lor oss.ListObjectVersionsResult, bucket string, limitedNum *int64, directory bool) int64 {
	var num int64
	num = 0
	for _, object := range lor.ObjectDeleteMarkers {
		if *limitedNum == 0 {
			break
		}

		if !doesSingleObjectMatchPatterns(object.Key, lc.filters) {
			continue
		}

		//COMMON-PREFIX LastModifiedTime  Size(B)  StorageClass  ETAG VERSIONID  IS-LATEST  DELETE-MARKER  ObjectName
		if directory {
			fmt.Printf("%-13t%s%-30s%12d%s%12s%s%-36s%s%-66s%s%-10t%s%-13t%s%s\n",
				false, "  ",
				utcToLocalTime(object.LastModified),
				0, "  ",
				"", "  ",
				"", "  ",
				object.VersionId, "  ",
				object.IsLatest, "  ",
				true, "  ",
				CloudURLToString(bucket, object.Key))
		} else {
			fmt.Printf("%-30s%12d%s%12s%s%-36s%s%-66s%s%-10t%s%-13t%s%s\n",
				utcToLocalTime(object.LastModified),
				0, "  ",
				"", "  ",
				"", "  ",
				object.VersionId, "  ",
				object.IsLatest, "  ",
				true, "  ",
				CloudURLToString(bucket, object.Key))
		}

		*limitedNum--
		num++
	}

	for _, object := range lor.ObjectVersions {
		if *limitedNum == 0 {
			break
		}

		if !doesSingleObjectMatchPatterns(object.Key, lc.filters) {
			continue
		}

		//COMMON-PREFIX LastModifiedTime  Size(B)  StorageClass  ETAG VERSIONID  IS-LATEST  DELETE-MARKER  ObjectName
		if directory {
			fmt.Printf("%-13t%s%-30s%12d%s%12s%s%-36s%s%-66s%s%-10t%s%-13t%s%s\n",
				false, "  ",
				utcToLocalTime(object.LastModified),
				object.Size, "  ",
				object.StorageClass, "  ",
				strings.Trim(object.ETag, "\""), "  ",
				object.VersionId, "  ",
				object.IsLatest, "  ",
				false, "  ",
				CloudURLToString(bucket, object.Key))
		} else {
			fmt.Printf("%-30s%12d%s%12s%s%-36s%s%-66s%s%-10t%s%-13t%s%s\n",
				utcToLocalTime(object.LastModified),
				object.Size, "  ",
				object.StorageClass, "  ",
				strings.Trim(object.ETag, "\""), "  ",
				object.VersionId, "  ",
				object.IsLatest, "  ",
				false, "  ",
				CloudURLToString(bucket, object.Key))
		}

		*limitedNum--
		num++
	}

	return num
}