mirror of
https://github.com/foomo/gocontentful.git
synced 2025-10-16 12:25:39 +00:00
cache all content types by default, CLI improvements
This commit is contained in:
parent
1a5f0671da
commit
6a3be467c5
@ -362,16 +362,20 @@ func RichTextToHtml(rt interface{}, linkResolver LinkResolverFunc, entryLinkReso
|
|||||||
|
|
||||||
func (cc *ContentfulClient) UpdateCache(ctx context.Context, contentTypes []string, cacheAssets bool) error {
|
func (cc *ContentfulClient) UpdateCache(ctx context.Context, contentTypes []string, cacheAssets bool) error {
|
||||||
start := time.Now()
|
start := time.Now()
|
||||||
|
if contentTypes == nil {
|
||||||
|
contentTypes = spaceContentTypes
|
||||||
|
} else {
|
||||||
|
for _, contentType := range contentTypes {
|
||||||
|
if !stringSliceContains(spaceContentTypes, contentType) {
|
||||||
|
return fmt.Errorf("UpdateCache: Content Type %q not available in this space", contentType)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
tempCache := &ContentfulCache{
|
tempCache := &ContentfulCache{
|
||||||
contentTypes: contentTypes,
|
contentTypes: contentTypes,
|
||||||
idContentTypeMap: map[string]string{},
|
idContentTypeMap: map[string]string{},
|
||||||
parentMap: map[string][]EntryReference{},
|
parentMap: map[string][]EntryReference{},
|
||||||
}
|
}
|
||||||
for _, contentType := range contentTypes {
|
|
||||||
if !stringSliceContains(spaceContentTypes, contentType) {
|
|
||||||
return fmt.Errorf("UpdateCache: Content Type %q not available in this space", contentType)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if cacheAssets {
|
if cacheAssets {
|
||||||
contentTypes = append([]string{assetWorkerType}, contentTypes...)
|
contentTypes = append([]string{assetWorkerType}, contentTypes...)
|
||||||
}
|
}
|
||||||
|
|||||||
28
main.go
28
main.go
@ -11,12 +11,18 @@ import (
|
|||||||
"github.com/foomo/gocontentful/erm"
|
"github.com/foomo/gocontentful/erm"
|
||||||
)
|
)
|
||||||
|
|
||||||
func usageError(comment string) {
|
const VERSION = "v0.9.5"
|
||||||
fmt.Println("ERROR:", comment)
|
|
||||||
|
var Usage = func() {
|
||||||
fmt.Printf("\nSYNOPSIS\n")
|
fmt.Printf("\nSYNOPSIS\n")
|
||||||
fmt.Printf(" gocontentful -spaceid SpaceID -cmakey CMAKey [-contenttypes firsttype,secondtype...lasttype] path/to/target/package\n\n")
|
fmt.Printf(" gocontentful -spaceid SpaceID -cmakey CMAKey [-contenttypes firsttype,secondtype...lasttype] path/to/target/package\n\n")
|
||||||
flag.Usage()
|
flag.PrintDefaults()
|
||||||
fmt.Printf("\nNote: The last segment of the path/to/target/package will be used as package name\n\n")
|
fmt.Printf("\nNote: The last segment of the path/to/target/package will be used as package name\n\n")
|
||||||
|
}
|
||||||
|
|
||||||
|
func usageError(comment string) {
|
||||||
|
fmt.Println("ERROR:", comment)
|
||||||
|
Usage()
|
||||||
os.Exit(1)
|
os.Exit(1)
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -26,14 +32,24 @@ func fatal(infos ...interface{}) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
fmt.Printf("Contentful API Generator starting...\n\n")
|
|
||||||
// Get parameters from cmd line flags
|
// Get parameters from cmd line flags
|
||||||
flagSpaceID := flag.String("spaceid", "", "Contentful space ID")
|
flagSpaceID := flag.String("spaceid", "", "Contentful space ID")
|
||||||
flagCMAKey := flag.String("cmakey", "", "Contentful CMA key")
|
flagCMAKey := flag.String("cmakey", "", "Contentful CMA key")
|
||||||
flagContentTypes := flag.String("contenttypes", "", "[Optional] Content type IDs to parse, comma separated")
|
flagContentTypes := flag.String("contenttypes", "", "[Optional] Content type IDs to parse, comma separated")
|
||||||
|
flagVersion := flag.Bool("version", false, "Print version and exit")
|
||||||
|
flagHelp := flag.Bool("help", false, "Print version and exit")
|
||||||
flag.Parse()
|
flag.Parse()
|
||||||
|
|
||||||
|
if *flagVersion {
|
||||||
|
fmt.Println(VERSION)
|
||||||
|
os.Exit(0)
|
||||||
|
}
|
||||||
|
|
||||||
|
if *flagHelp {
|
||||||
|
Usage()
|
||||||
|
os.Exit(0)
|
||||||
|
}
|
||||||
|
|
||||||
if *flagSpaceID == "" || *flagCMAKey == "" {
|
if *flagSpaceID == "" || *flagCMAKey == "" {
|
||||||
usageError("Please specify the Contentful space ID and access Key")
|
usageError("Please specify the Contentful space ID and access Key")
|
||||||
}
|
}
|
||||||
@ -50,6 +66,8 @@ func main() {
|
|||||||
usageError("Please specify the package name correctly (only small caps letters)")
|
usageError("Please specify the package name correctly (only small caps letters)")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fmt.Printf("Contentful API Generator starting...\n\n")
|
||||||
|
|
||||||
var flagContentTypesSlice []string
|
var flagContentTypesSlice []string
|
||||||
if *flagContentTypes != "" {
|
if *flagContentTypes != "" {
|
||||||
for _, contentType := range strings.Split(*flagContentTypes, ",") {
|
for _, contentType := range strings.Split(*flagContentTypes, ",") {
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user