Depenancy upgrades and movign to dep. (#8630)

Этот коммит содержится в:
Christopher Speller
2018-04-16 05:37:14 -07:00
коммит произвёл Joram Wilander
родитель bf24f51c4e
Коммит 6e2cb00008
5345 изменённых файлов: 17051 добавлений и 1634753 удалений

24
vendor/github.com/dyatlov/go-opengraph/.gitignore сгенерированный поставляемый
Просмотреть файл

@@ -1,24 +0,0 @@
# Compiled Object files, Static and Dynamic libs (Shared Objects)
*.o
*.a
*.so
# Folders
_obj
_test
# Architecture specific extensions/prefixes
*.[568vq]
[568vq].out
*.cgo1.go
*.cgo2.c
_cgo_defun.c
_cgo_gotypes.go
_cgo_export.*
_testmain.go
*.exe
*.test
*.prof

118
vendor/github.com/dyatlov/go-opengraph/README.md сгенерированный поставляемый
Просмотреть файл

@@ -1,118 +0,0 @@
Go OpenGraph
===
Parses given html data into Facebook OpenGraph structure.
To download and install this package run:
`go get github.com/dyatlov/go-opengraph/opengraph`
Methods:
* `NewOpenGraph()` - create a new OpenGraph instance
* `ProcessHTML(buffer io.Reader) error` - process given html into underlying data structure
* `ProcessMeta(metaAttrs map[string]string)` - add data to the structure based on meta attributes
* `ToJSON() (string, error)` - return JSON representation of data or error
* `String() string` - return JSON representation of structure
Source docs: http://godoc.org/github.com/dyatlov/go-opengraph/opengraph
If you just need to parse an OpenGraph data from HTML then method `ProcessHTML` is your needed one.
Example:
```go
package main
import (
"fmt"
"strings"
"github.com/dyatlov/go-opengraph/opengraph"
)
func main() {
html := `<html><head><meta property="og:type" content="article" />
<meta property="og:title" content="WordPress 4.3 &quot;Billie&quot;" />
<meta property="og:url" content="https://wordpress.org/news/2015/08/billie/" /></head><body></body></html>`
og := opengraph.NewOpenGraph()
err := og.ProcessHTML(strings.NewReader(html))
if err != nil {
fmt.Println(err)
return
}
fmt.Printf("Type: %s\n", og.Type)
fmt.Printf("Title: %s\n", og.Title)
fmt.Printf("URL: %s\n", og.URL)
fmt.Printf("String/JSON Representation: %s\n", og)
}
```
If you have your own parsing engine and just need an intelligent OpenGraph parsing, then `ProcessMeta` is the method you need.
While using this method you don't need to reparse your parsed html again, just feed it with meta atributes as they appear and OpenGraph will be built based on the data.
Example:
```go
package main
import (
"fmt"
"strings"
"github.com/dyatlov/go-opengraph/opengraph"
"golang.org/x/net/html"
)
func main() {
h := `<html><head><meta property="og:type" content="article" />
<meta property="og:title" content="WordPress 4.3 &quot;Billie&quot;" />
<meta property="og:url" content="https://wordpress.org/news/2015/08/billie/" /></head><body></body></html>`
og := opengraph.NewOpenGraph()
doc, err := html.Parse(strings.NewReader(h))
if err != nil {
fmt.Println(err)
return
}
var parseHead func(*html.Node)
parseHead = func(n *html.Node) {
for c := n.FirstChild; c != nil; c = c.NextSibling {
if c.Type == html.ElementNode && c.Data == "meta" {
m := make(map[string]string)
for _, a := range c.Attr {
m[a.Key] = a.Val
}
og.ProcessMeta(m)
}
}
}
var f func(*html.Node)
f = func(n *html.Node) {
for c := n.FirstChild; c != nil; c = c.NextSibling {
if c.Type == html.ElementNode {
if c.Data == "head" {
parseHead(c)
continue
} else if c.Data == "body" { // OpenGraph is only in head, so we don't need body
break
}
}
f(c)
}
}
f(doc)
fmt.Printf("Type: %s\n", og.Type)
fmt.Printf("Title: %s\n", og.Title)
fmt.Printf("URL: %s\n", og.URL)
fmt.Printf("String/JSON Representation: %s\n", og)
}
```

58
vendor/github.com/dyatlov/go-opengraph/examples/advanced.go сгенерированный поставляемый
Просмотреть файл

@@ -1,58 +0,0 @@
package main
import (
"fmt"
"strings"
"github.com/dyatlov/go-opengraph/opengraph"
"golang.org/x/net/html"
)
func main() {
h := `<html><head><meta property="og:type" content="article" />
<meta property="og:title" content="WordPress 4.3 &quot;Billie&quot;" />
<meta property="og:url" content="https://wordpress.org/news/2015/08/billie/" /></head><body></body></html>`
og := opengraph.NewOpenGraph()
doc, err := html.Parse(strings.NewReader(h))
if err != nil {
fmt.Println(err)
return
}
var parseHead func(*html.Node)
parseHead = func(n *html.Node) {
for c := n.FirstChild; c != nil; c = c.NextSibling {
if c.Type == html.ElementNode && c.Data == "meta" {
m := make(map[string]string)
for _, a := range c.Attr {
m[a.Key] = a.Val
}
og.ProcessMeta(m)
}
}
}
var f func(*html.Node)
f = func(n *html.Node) {
for c := n.FirstChild; c != nil; c = c.NextSibling {
if c.Type == html.ElementNode {
if c.Data == "head" {
parseHead(c)
continue
} else if c.Data == "body" { // OpenGraph is only in head, so we don't need body
break
}
}
f(c)
}
}
f(doc)
fmt.Printf("Type: %s\n", og.Type)
fmt.Printf("Title: %s\n", og.Title)
fmt.Printf("URL: %s\n", og.URL)
fmt.Printf("String/JSON Representation: %s\n", og)
}

27
vendor/github.com/dyatlov/go-opengraph/examples/simple.go сгенерированный поставляемый
Просмотреть файл

@@ -1,27 +0,0 @@
package main
import (
"fmt"
"strings"
"github.com/dyatlov/go-opengraph/opengraph"
)
func main() {
html := `<html><head><meta property="og:type" content="article" />
<meta property="og:title" content="WordPress 4.3 &quot;Billie&quot;" />
<meta property="og:url" content="https://wordpress.org/news/2015/08/billie/" /></head><body></body></html>`
og := opengraph.NewOpenGraph()
err := og.ProcessHTML(strings.NewReader(html))
if err != nil {
fmt.Println(err)
return
}
fmt.Printf("Type: %s\n", og.Type)
fmt.Printf("Title: %s\n", og.Title)
fmt.Printf("URL: %s\n", og.URL)
fmt.Printf("String/JSON Representation: %s\n", og)
}

3
vendor/github.com/dyatlov/go-opengraph/opengraph/opengraph.go сгенерированный поставляемый
Просмотреть файл

@@ -131,7 +131,6 @@ func (og *OpenGraph) ProcessHTML(buffer io.Reader) error {
og.ProcessMeta(m)
}
}
return nil
}
// ProcessMeta processes meta attributes and adds them to Open Graph structure if they are suitable for that
@@ -248,7 +247,7 @@ func (og *OpenGraph) processArticleMeta(metaAttrs map[string]string) {
if err == nil {
og.Article.ExpirationTime = &t
}
case "article:secttion":
case "article:section":
og.Article.Section = metaAttrs["content"]
case "article:tag":
og.Article.Tags = append(og.Article.Tags, metaAttrs["content"])

131
vendor/github.com/dyatlov/go-opengraph/opengraph/opengraph_test.go сгенерированный поставляемый
Просмотреть файл

@@ -1,131 +0,0 @@
package opengraph_test
import (
"strings"
"testing"
"time"
"github.com/dyatlov/go-opengraph/opengraph"
)
const html = `
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" dir="ltr" lang="en-US">
<head profile="http://gmpg.org/xfn/11">
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>WordPress &#8250; WordPress 4.3 &#8220;Billie&#8221;</title>
<!-- Jetpack Open Graph Tags -->
<meta property="og:type" content="article" />
<meta property="og:title" content="WordPress 4.3 &quot;Billie&quot;" />
<meta property="og:url" content="https://wordpress.org/news/2015/08/billie/" />
<meta property="og:description" content="Version 4.3 of WordPress, named &quot;Billie&quot; in honor of jazz singer Billie Holiday, is available for download or update in your WordPress dashboard. New features in 4.3 make it even easier to format y..." />
<meta property="article:published_time" content="2015-08-18T19:12:38+00:00" />
<meta property="article:modified_time" content="2015-08-19T13:10:24+00:00" />
<meta property="og:site_name" content="WordPress News" />
<meta property="og:image" content="https://www.gravatar.com/avatar/2370ea5912750f4cb0f3c51ae1cbca55?d=mm&amp;s=180&amp;r=G" />
<meta property="og:locale" content="en_US" />
<meta name="twitter:site" content="@WordPress" />
<meta name="twitter:card" content="summary" />
<meta name="twitter:creator" content="@WordPress" />
`
func BenchmarkOpenGraph_ProcessHTML(b *testing.B) {
og := opengraph.NewOpenGraph()
b.ReportAllocs()
b.SetBytes(int64(len(html)))
for i := 0; i < b.N; i++ {
if err := og.ProcessHTML(strings.NewReader(html)); err != nil {
b.Fatal(err)
}
}
}
func TestOpenGraphProcessHTML(t *testing.T) {
og := opengraph.NewOpenGraph()
err := og.ProcessHTML(strings.NewReader(html))
if err != nil {
t.Fatal(err)
}
if og.Type != "article" {
t.Error("type parsed incorrectly")
}
if len(og.Title) == 0 {
t.Error("title parsed incorrectly")
}
if len(og.URL) == 0 {
t.Error("url parsed incorrectly")
}
if len(og.Description) == 0 {
t.Error("description parsed incorrectly")
}
if len(og.Images) == 0 {
t.Error("images parsed incorrectly")
} else {
if len(og.Images[0].URL) == 0 {
t.Error("image url parsed incorrectly")
}
}
if len(og.Locale) == 0 {
t.Error("locale parsed incorrectly")
}
if len(og.SiteName) == 0 {
t.Error("site name parsed incorrectly")
}
if og.Article == nil {
t.Error("articles parsed incorrectly")
} else {
ev, _ := time.Parse(time.RFC3339, "2015-08-18T19:12:38+00:00")
if !og.Article.PublishedTime.Equal(ev) {
t.Error("article published time parsed incorrectly")
}
}
}
func TestOpenGraphProcessMeta(t *testing.T) {
og := opengraph.NewOpenGraph()
og.ProcessMeta(map[string]string{"property": "og:type", "content": "book"})
if og.Type != "book" {
t.Error("wrong og:type processing")
}
og.ProcessMeta(map[string]string{"property": "book:isbn", "content": "123456"})
if og.Book == nil {
t.Error("wrong book type processing")
} else {
if og.Book.ISBN != "123456" {
t.Error("wrong book isbn processing")
}
}
og.ProcessMeta(map[string]string{"property": "article:section", "content": "testsection"})
if og.Article != nil {
t.Error("article processed when it should not be")
}
og.ProcessMeta(map[string]string{"property": "book:author:first_name", "content": "John"})
if og.Book != nil {
if len(og.Book.Authors) == 0 {
t.Error("book author was not processed")
} else {
if og.Book.Authors[0].FirstName != "John" {
t.Error("author first name was processed incorrectly")
}
}
}
}