1234567891011121314151617181920212223242526272829303132333435363738 |
- package server
- import (
- "fmt"
- "html/template"
- "io"
- "path/filepath"
- "strings"
- )
- func serveTemplate(name string, tmpl string, w io.Writer, data interface{}) {
- t, err := template.New(name).Parse(tmpl)
- if err != nil {
- panic(err)
- }
- if err := t.Execute(w, data); err != nil {
- panic(err)
- }
- }
- // getFileName generates a file name based on the existing files in the directory
- // if name isn't taken leave it unchanged
- // else change name to format "name(number).ext"
- func getFileName(newFilename string, fileNamesInTargetDir []string) string {
- fileExt := filepath.Ext(newFilename)
- fileName := strings.TrimSuffix(newFilename, fileExt)
- number := 1
- i := 0
- for i < len(fileNamesInTargetDir) {
- if newFilename == fileNamesInTargetDir[i] {
- newFilename = fmt.Sprintf("%s(%v)%s", fileName, number, fileExt)
- number++
- i = 0
- }
- i++
- }
- return newFilename
- }
|