From 09a1cbe77d320c2594a6f1da65ec95e4fc4ed592 Mon Sep 17 00:00:00 2001 From: jim teeuwen Date: Wed, 11 May 2011 17:40:56 +0200 Subject: [PATCH] Changed depracated xmlx Node api to new one. --- atom.go | 62 +++++++++++++++++++++---------------------- feed.go | 4 +-- rss.go | 82 ++++++++++++++++++++++++++++----------------------------- 3 files changed, 74 insertions(+), 74 deletions(-) diff --git a/atom.go b/atom.go index 1ed2487..be5e090 100644 --- a/atom.go +++ b/atom.go @@ -49,86 +49,86 @@ func (this *Feed) readAtom(doc *xmlx.Document) (err os.Error) { var list []*xmlx.Node for _, node := range channels { - if ch = getChan(node.GetValue(ns, "id"), node.GetValue(ns, "title")); ch == nil { + if ch = getChan(node.S(ns, "id"), node.S(ns, "title")); ch == nil { ch = new(Channel) this.Channels = append(this.Channels, ch) } - ch.Title = node.GetValue(ns, "title") - ch.LastBuildDate = node.GetValue(ns, "updated") - ch.Id = node.GetValue(ns, "id") - ch.Rights = node.GetValue(ns, "rights") + ch.Title = node.S(ns, "title") + ch.LastBuildDate = node.S(ns, "updated") + ch.Id = node.S(ns, "id") + ch.Rights = node.S(ns, "rights") list = node.SelectNodes(ns, "link") ch.Links = make([]Link, len(list)) for i, v := range list { - ch.Links[i].Href = v.GetAttr("", "href") - ch.Links[i].Rel = v.GetAttr("", "rel") - ch.Links[i].Type = v.GetAttr("", "type") - ch.Links[i].HrefLang = v.GetAttr("", "hreflang") + ch.Links[i].Href = v.As("", "href") + ch.Links[i].Rel = v.As("", "rel") + ch.Links[i].Type = v.As("", "type") + ch.Links[i].HrefLang = v.As("", "hreflang") } if tn = node.SelectNode(ns, "subtitle"); tn != nil { ch.SubTitle = SubTitle{} - ch.SubTitle.Type = tn.GetAttr("", "type") + ch.SubTitle.Type = tn.As("", "type") ch.SubTitle.Text = tn.Value } if tn = node.SelectNode(ns, "generator"); tn != nil { ch.Generator = Generator{} - ch.Generator.Uri = tn.GetAttr("", "uri") - ch.Generator.Version = tn.GetAttr("", "version") + ch.Generator.Uri = tn.As("", "uri") + ch.Generator.Version = tn.As("", "version") ch.Generator.Text = tn.Value } if tn = node.SelectNode(ns, "author"); tn != nil { ch.Author = Author{} - ch.Author.Name = tn.GetValue("", "name") - ch.Author.Uri = tn.GetValue("", "uri") - ch.Author.Email = tn.GetValue("", "email") + ch.Author.Name = tn.S("", "name") + ch.Author.Uri = tn.S("", "uri") + ch.Author.Email = tn.S("", "email") } itemcount := len(ch.Items) list = node.SelectNodes(ns, "entry") for _, item := range list { - if haveItem(ch, item.GetValue(ns, "id"), item.GetValue(ns, "title"), item.GetValue(ns, "summary")) { + if haveItem(ch, item.S(ns, "id"), item.S(ns, "title"), item.S(ns, "summary")) { continue } i = new(Item) - i.Title = item.GetValue(ns, "title") - i.Id = item.GetValue(ns, "id") - i.PubDate = item.GetValue(ns, "updated") - i.Description = item.GetValue(ns, "summary") + i.Title = item.S(ns, "title") + i.Id = item.S(ns, "id") + i.PubDate = item.S(ns, "updated") + i.Description = item.S(ns, "summary") links := item.SelectNodes(ns, "link") for _, lv := range links { - if tn.GetAttr(ns, "rel") == "enclosure" { + if tn.As(ns, "rel") == "enclosure" { enc := new(Enclosure) - enc.Url = lv.GetAttr("", "href") - enc.Type = lv.GetAttr("", "type") + enc.Url = lv.As("", "href") + enc.Type = lv.As("", "type") i.Enclosures = append(i.Enclosures, enc) } else { lnk := new(Link) - lnk.Href = lv.GetAttr("", "href") - lnk.Rel = lv.GetAttr("", "rel") - lnk.Type = lv.GetAttr("", "type") - lnk.HrefLang = lv.GetAttr("", "hreflang") + lnk.Href = lv.As("", "href") + lnk.Rel = lv.As("", "rel") + lnk.Type = lv.As("", "type") + lnk.HrefLang = lv.As("", "hreflang") i.Links = append(i.Links, lnk) } } list = item.SelectNodes(ns, "contributor") for _, cv := range list { - i.Contributors = append(i.Contributors, cv.GetValue("", "name")) + i.Contributors = append(i.Contributors, cv.S("", "name")) } if tn = item.SelectNode(ns, "content"); tn != nil { i.Content = new(Content) - i.Content.Type = tn.GetAttr("", "type") - i.Content.Lang = tn.GetValue("xml", "lang") - i.Content.Base = tn.GetValue("xml", "base") + i.Content.Type = tn.As("", "type") + i.Content.Lang = tn.S("xml", "lang") + i.Content.Base = tn.S("xml", "base") i.Content.Text = tn.Value } diff --git a/feed.go b/feed.go index 8e03eaf..38b20e5 100644 --- a/feed.go +++ b/feed.go @@ -163,7 +163,7 @@ func (this *Feed) CanUpdate() bool { // before the feed should update. func (this *Feed) SecondsTillUpdate() int64 { utc := time.UTC() - return int64(this.CacheTimeout*60)-(utc.Seconds()-this.lastupdate) + return int64(this.CacheTimeout*60) - (utc.Seconds() - this.lastupdate) } func (this *Feed) buildFeed(doc *xmlx.Document) (err os.Error) { @@ -209,7 +209,7 @@ func (this *Feed) GetVersionInfo(doc *xmlx.Document) (ftype string, fversion [2] rss: if node = doc.SelectNode("", "rss"); node != nil { ftype = "rss" - version := node.GetAttr("", "version") + version := node.As("", "version") p := strings.Index(version, ".") major, _ := strconv.Atoi(version[0:p]) minor, _ := strconv.Atoi(version[p+1 : len(version)]) diff --git a/rss.go b/rss.go index 98fe24b..37a9221 100644 --- a/rss.go +++ b/rss.go @@ -59,12 +59,12 @@ func (this *Feed) readRss2(doc *xmlx.Document) (err os.Error) { channels := doc.SelectNodes(ns, "channel") for _, node := range channels { - if ch = getChan(node.GetValue(ns, "pubDate"), node.GetValue(ns, "title")); ch == nil { + if ch = getChan(node.S(ns, "pubDate"), node.S(ns, "title")); ch == nil { ch = new(Channel) this.Channels = append(this.Channels, ch) } - ch.Title = node.GetValue(ns, "title") + ch.Title = node.S(ns, "title") list = node.SelectNodes(ns, "link") ch.Links = make([]Link, len(list)) @@ -72,20 +72,20 @@ func (this *Feed) readRss2(doc *xmlx.Document) (err os.Error) { ch.Links[i].Href = v.Value } - ch.Description = node.GetValue(ns, "description") - ch.Language = node.GetValue(ns, "language") - ch.Copyright = node.GetValue(ns, "copyright") - ch.ManagingEditor = node.GetValue(ns, "managingEditor") - ch.WebMaster = node.GetValue(ns, "webMaster") - ch.PubDate = node.GetValue(ns, "pubDate") - ch.LastBuildDate = node.GetValue(ns, "lastBuildDate") - ch.Docs = node.GetValue(ns, "docs") + ch.Description = node.S(ns, "description") + ch.Language = node.S(ns, "language") + ch.Copyright = node.S(ns, "copyright") + ch.ManagingEditor = node.S(ns, "managingEditor") + ch.WebMaster = node.S(ns, "webMaster") + ch.PubDate = node.S(ns, "pubDate") + ch.LastBuildDate = node.S(ns, "lastBuildDate") + ch.Docs = node.S(ns, "docs") list = node.SelectNodes(ns, "category") ch.Categories = make([]*Category, len(list)) for i, v := range list { ch.Categories[i] = new(Category) - ch.Categories[i].Domain = v.GetAttr(ns, "domain") + ch.Categories[i].Domain = v.As(ns, "domain") ch.Categories[i].Text = v.Value } @@ -94,13 +94,13 @@ func (this *Feed) readRss2(doc *xmlx.Document) (err os.Error) { ch.Generator.Text = n.Value } - ch.TTL = node.GetValuei(ns, "ttl") - ch.Rating = node.GetValue(ns, "rating") + ch.TTL = node.I(ns, "ttl") + ch.Rating = node.S(ns, "rating") list = node.SelectNodes(ns, "hour") ch.SkipHours = make([]int, len(list)) for i, v := range list { - ch.SkipHours[i] = int(v.GetValuei(ns, "hour")) + ch.SkipHours[i] = v.I(ns, "hour") } list = node.SelectNodes(ns, "days") @@ -110,43 +110,43 @@ func (this *Feed) readRss2(doc *xmlx.Document) (err os.Error) { } if n = node.SelectNode(ns, "image"); n != nil { - ch.Image.Title = n.GetValue(ns, "title") - ch.Image.Url = n.GetValue(ns, "url") - ch.Image.Link = n.GetValue(ns, "link") - ch.Image.Width = n.GetValuei(ns, "width") - ch.Image.Height = n.GetValuei(ns, "height") - ch.Image.Description = n.GetValue(ns, "description") + ch.Image.Title = n.S(ns, "title") + ch.Image.Url = n.S(ns, "url") + ch.Image.Link = n.S(ns, "link") + ch.Image.Width = n.I(ns, "width") + ch.Image.Height = n.I(ns, "height") + ch.Image.Description = n.S(ns, "description") } if n = node.SelectNode(ns, "cloud"); n != nil { ch.Cloud = Cloud{} - ch.Cloud.Domain = n.GetAttr(ns, "domain") - ch.Cloud.Port = n.GetAttri(ns, "port") - ch.Cloud.Path = n.GetAttr(ns, "path") - ch.Cloud.RegisterProcedure = n.GetAttr(ns, "registerProcedure") - ch.Cloud.Protocol = n.GetAttr(ns, "protocol") + ch.Cloud.Domain = n.As(ns, "domain") + ch.Cloud.Port = n.Ai(ns, "port") + ch.Cloud.Path = n.As(ns, "path") + ch.Cloud.RegisterProcedure = n.As(ns, "registerProcedure") + ch.Cloud.Protocol = n.As(ns, "protocol") } if n = node.SelectNode(ns, "textInput"); n != nil { ch.TextInput = Input{} - ch.TextInput.Title = n.GetValue(ns, "title") - ch.TextInput.Description = n.GetValue(ns, "description") - ch.TextInput.Name = n.GetValue(ns, "name") - ch.TextInput.Link = n.GetValue(ns, "link") + ch.TextInput.Title = n.S(ns, "title") + ch.TextInput.Description = n.S(ns, "description") + ch.TextInput.Name = n.S(ns, "name") + ch.TextInput.Link = n.S(ns, "link") } itemcount := len(ch.Items) list = node.SelectNodes(ns, "item") for _, item := range list { - if haveItem(ch, item.GetValue(ns, "pubDate"), - item.GetValue(ns, "title"), item.GetValue(ns, "description")) { + if haveItem(ch, item.S(ns, "pubDate"), + item.S(ns, "title"), item.S(ns, "description")) { continue } i = new(Item) - i.Title = item.GetValue(ns, "title") - i.Description = item.GetValue(ns, "description") + i.Title = item.S(ns, "title") + i.Description = item.S(ns, "description") tl = node.SelectNodes(ns, "link") for _, v := range tl { @@ -160,14 +160,14 @@ func (this *Feed) readRss2(doc *xmlx.Document) (err os.Error) { i.Author.Name = n.Value } - i.Comments = item.GetValue(ns, "comments") - i.Guid = item.GetValue(ns, "guid") - i.PubDate = item.GetValue(ns, "pubDate") + i.Comments = item.S(ns, "comments") + i.Guid = item.S(ns, "guid") + i.PubDate = item.S(ns, "pubDate") tl = item.SelectNodes(ns, "category") for _, lv := range tl { cat := new(Category) - cat.Domain = lv.GetAttr(ns, "domain") + cat.Domain = lv.As(ns, "domain") cat.Text = lv.Value i.Categories = append(i.Categories, cat) } @@ -175,15 +175,15 @@ func (this *Feed) readRss2(doc *xmlx.Document) (err os.Error) { tl = item.SelectNodes(ns, "enclosure") for _, lv := range tl { enc := new(Enclosure) - enc.Url = lv.GetAttr(ns, "url") - enc.Length = lv.GetAttri64(ns, "length") - enc.Type = lv.GetAttr(ns, "type") + enc.Url = lv.As(ns, "url") + enc.Length = lv.Ai64(ns, "length") + enc.Type = lv.As(ns, "type") i.Enclosures = append(i.Enclosures, enc) } if src := item.SelectNode(ns, "source"); src != nil { i.Source = new(Source) - i.Source.Url = src.GetAttr(ns, "url") + i.Source.Url = src.As(ns, "url") i.Source.Text = src.Value }