mirror of
https://github.com/xiaoqidun/ofdgo.git
synced 2026-10-29 17:27:08 +08:00
feat(版本管理): 统一版本与资源文件命名
This commit is contained in:
1 parent
e6a8786f0c
commit
d181d9edca
2 files changed
+4
-9
No files matched your search
@@ -24,7 +24,6 @@ import (
|
|||||||
"path"
|
"path"
|
||||||
"slices"
|
"slices"
|
||||||
"strconv"
|
"strconv"
|
||||||
"strings"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
// DocumentVersions 获取当前编辑文档的版本信息,包含尚未写出的修改
|
// DocumentVersions 获取当前编辑文档的版本信息,包含尚未写出的修改
|
||||||
@@ -117,7 +116,7 @@ func (e *Editor) AddVersion(name string) (string, error) {
|
|||||||
return 0, err
|
return 0, err
|
||||||
}
|
}
|
||||||
body := root.childAt("DocBody", reader.documentIndex)
|
body := root.childAt("DocBody", reader.documentIndex)
|
||||||
location := packageAvailableName(reader, nil, path.Join(path.Dir(entry), "Versions", id+".xml"))
|
location := packageAvailableName(reader, nil, path.Join(path.Dir(entry), "Versions", "Version_"+strconv.FormatInt(int64(index), 10)+".xml"))
|
||||||
attrs := ofdAttrs{{Name: xml.Name{Local: "ID"}, Value: id}}
|
attrs := ofdAttrs{{Name: xml.Name{Local: "ID"}, Value: id}}
|
||||||
format := reader.Version()
|
format := reader.Version()
|
||||||
if reader.versionInfo != nil && reader.versionInfo.Version != "" {
|
if reader.versionInfo != nil && reader.versionInfo.Version != "" {
|
||||||
@@ -250,8 +249,7 @@ func (e *Editor) RenameVersion(id, name string) error {
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
return 0, err
|
return 0, err
|
||||||
}
|
}
|
||||||
extension := path.Ext(version.Location)
|
location := packageAvailableName(reader, nil, version.Location)
|
||||||
location := packageAvailableName(reader, nil, strings.TrimSuffix(version.Location, extension)+".edit"+extension)
|
|
||||||
body := root.childAt("DocBody", reader.documentIndex)
|
body := root.childAt("DocBody", reader.documentIndex)
|
||||||
for _, node := range body.child("Versions").children {
|
for _, node := range body.child("Versions").children {
|
||||||
if node.matchesOFD("Version") && node.attr("ID") == id {
|
if node.matchesOFD("Version") && node.attr("ID") == id {
|
||||||
|
|||||||
@@ -20,7 +20,6 @@ import (
|
|||||||
"encoding/xml"
|
"encoding/xml"
|
||||||
"fmt"
|
"fmt"
|
||||||
"maps"
|
"maps"
|
||||||
"path"
|
|
||||||
"slices"
|
"slices"
|
||||||
"strconv"
|
"strconv"
|
||||||
"strings"
|
"strings"
|
||||||
@@ -272,8 +271,7 @@ func (r *Reader) versionOutputChanges(ctx context.Context, changes map[string][]
|
|||||||
reserved := maps.Clone(parts)
|
reserved := maps.Clone(parts)
|
||||||
var pending []string
|
var pending []string
|
||||||
allocate := func(name string) {
|
allocate := func(name string) {
|
||||||
extension := path.Ext(name)
|
target := packageAvailableName(r, reserved, name)
|
||||||
target := packageAvailableName(r, reserved, strings.TrimSuffix(name, extension)+".edit"+extension)
|
|
||||||
paths[name], reserved[target] = target, nil
|
paths[name], reserved[target] = target, nil
|
||||||
pending = append(pending, name)
|
pending = append(pending, name)
|
||||||
}
|
}
|
||||||
@@ -452,8 +450,7 @@ func (r *Reader) versionManifest(parts map[string][]byte, paths map[string]strin
|
|||||||
}
|
}
|
||||||
name := version.Location
|
name := version.Location
|
||||||
if shared[name] {
|
if shared[name] {
|
||||||
extension := path.Ext(name)
|
name = packageAvailableName(r, parts, name)
|
||||||
name = packageAvailableName(r, parts, strings.TrimSuffix(name, extension)+".edit"+extension)
|
|
||||||
entry, ok := parts["OFD.xml"]
|
entry, ok := parts["OFD.xml"]
|
||||||
if !ok {
|
if !ok {
|
||||||
entry, err = r.readFile("OFD.xml")
|
entry, err = r.readFile("OFD.xml")
|
||||||
|
|||||||
Reference in new issue
Block a user