本文整理汇总了Golang中github.com/uwedeportivo/romba/types.Dat.Normalize方法的典型用法代码示例。如果您正苦于以下问题:Golang Dat.Normalize方法的具体用法?Golang Dat.Normalize怎么用?Golang Dat.Normalize使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类github.com/uwedeportivo/romba/types.Dat
的用法示例。
在下文中一共展示了Dat.Normalize方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: ParseXml
func ParseXml(r io.Reader, path string) (*types.Dat, []byte, error) {
br := bufio.NewReader(r)
hr := hashingReader{
ir: br,
h: sha1.New(),
}
lr := lineCountingReader{
ir: hr,
}
d := new(types.Dat)
decoder := xml.NewDecoder(lr)
err := decoder.Decode(d)
if err != nil {
return nil, nil, fmt.Errorf("xml parsing error %d: %v", lr.line, err)
}
for _, g := range d.Games {
for _, rom := range g.Roms {
fixHashes(rom)
}
for _, rom := range g.Disks {
fixHashes(rom)
}
for _, rom := range g.Parts {
fixHashes(rom)
}
for _, rom := range g.Regions {
fixHashes(rom)
}
}
for _, g := range d.Software {
for _, rom := range g.Roms {
fixHashes(rom)
}
for _, rom := range g.Disks {
fixHashes(rom)
}
for _, rom := range g.Parts {
fixHashes(rom)
}
for _, rom := range g.Regions {
fixHashes(rom)
}
}
d.Normalize()
d.Path = path
return d, hr.h.Sum(nil), nil
}
示例2: ParseXml
func ParseXml(r io.Reader, path string) (*types.Dat, []byte, error) {
br := bufio.NewReader(r)
hr := hashingReader{
ir: br,
h: sha1.New(),
}
lr := lineCountingReader{
ir: hr,
}
d := new(types.Dat)
decoder := xml.NewDecoder(lr)
err := decoder.Decode(d)
if err != nil {
derrStr := fmt.Sprintf("error in file %s on line %d: %v", path, lr.line, err)
derr := XMLParseError.NewWith(derrStr, setErrorFilePath(path), setErrorLineNumber(lr.line))
return nil, nil, derr
}
for _, g := range d.Games {
for _, rom := range g.Roms {
fixHashes(rom)
}
for _, rom := range g.Parts {
fixHashes(rom)
}
for _, rom := range g.Regions {
fixHashes(rom)
}
}
for _, g := range d.Software {
for _, rom := range g.Roms {
fixHashes(rom)
}
for _, rom := range g.Parts {
fixHashes(rom)
}
for _, rom := range g.Regions {
fixHashes(rom)
}
}
for _, g := range d.Machines {
for _, rom := range g.Roms {
fixHashes(rom)
}
for _, rom := range g.Parts {
fixHashes(rom)
}
for _, rom := range g.Regions {
fixHashes(rom)
}
}
d.Normalize()
d.Path = path
return d, hr.h.Sum(nil), nil
}