feat: support escaped paths (#107)

This commit is contained in:
Manfred Touron 2018-09-13 17:28:14 +02:00
parent 5ab09755c8
commit 48265e1947
No known key found for this signature in database
GPG Key ID: 6D4DED2EAB123456
3 changed files with 10 additions and 0 deletions

View File

@ -3,6 +3,7 @@ package main
import (
"bytes"
"log"
"net/url"
"os"
"path/filepath"
"strings"
@ -94,6 +95,7 @@ func (e *GenericTemplateBasedEncoder) templates() ([]string, error) {
if e.debug {
log.Printf("new template: %q", rel)
}
filenames = append(filenames, rel)
return nil
})
@ -135,6 +137,14 @@ func (e *GenericTemplateBasedEncoder) genAst(templateFilename string) (*Ast, err
Enum: e.enum,
}
buffer := new(bytes.Buffer)
unescaped, err := url.QueryUnescape(templateFilename)
if err != nil {
log.Printf("failed to unescape filepath %q: %v", templateFilename, err)
} else {
templateFilename = unescaped
}
tmpl, err := template.New("").Funcs(pgghelpers.ProtoHelpersFuncMap).Parse(templateFilename)
if err != nil {
return nil, err