Source File
licenses.go
Belonging Package
golang.org/x/pkgsite/internal/postgres
package postgres
import (
)
func ( *DB) ( context.Context, , string, int) ( []*licenses.License, error) {
defer derrors.WrapStack(&, "getLicenses(ctx, %d)", )
defer middleware.ElapsedStat(, "getLicenses")()
:= `
SELECT
l.types,
l.file_path,
l.contents,
l.coverage
FROM
licenses l
INNER JOIN
units u
ON
u.module_id=l.module_id
INNER JOIN
modules m
ON
u.module_id=m.id
WHERE
u.id = $1;`
, := .db.Query(, , )
if != nil {
return nil,
}
defer .Close()
, := collectLicenses(, .bypassLicenseCheck)
if != nil {
return nil,
}
func ( *DB) ( context.Context, int) ( []*licenses.License, error) {
defer derrors.WrapStack(&, "getModuleLicenses(ctx, %d)", )
:= `
SELECT
types, file_path, contents, coverage
FROM
licenses
WHERE
module_id = $1 AND position('/' in file_path) = 0
`
, := .db.Query(, , )
if != nil {
return nil,
}
defer .Close()
return collectLicenses(, .bypassLicenseCheck)
}
func ( *sql.Rows, bool) ([]*licenses.License, error) {
mustHaveColumns(, "types", "file_path", "contents", "coverage")
var []*licenses.License
for .Next() {
var (
= &licenses.License{Metadata: &licenses.Metadata{}}
[]string
[]byte
)
if := .Scan(pq.Array(&), &.FilePath, &.Contents, &); != nil {
return nil, fmt.Errorf("row.Scan(): %v", )
if := json.Unmarshal(, &.Coverage); != nil {
return nil,
}
if len(.Coverage.Match) == 0 || .Coverage.Match[0].ID == "" {
.Coverage = licensecheck.Coverage{}
if := json.Unmarshal(, &.OldCoverage); != nil {
return nil,
}
}
.Types =
if ! {
.RemoveNonRedistributableData()
}
= append(, )
}
sort.Slice(, func(, int) bool {
return compareLicenses([].Metadata, [].Metadata)
})
if := .Err(); != nil {
return nil,
}
return , nil
}
func ( []string, []string) ( []*licenses.Metadata, error) {
defer derrors.WrapStack(&, "zipLicenseMetadata(%v, %v)", , )
if len() != len() {
return nil, fmt.Errorf("BUG: got %d license types and %d license paths", len(), len())
}
:= make(map[string]*licenses.Metadata)
var []*licenses.Metadata
for , := range {
, := []
if ! {
= &licenses.Metadata{FilePath: }
= append(, )
![]() |
The pages are generated with Golds v0.3.2-preview. (GOOS=darwin GOARCH=amd64) Golds is a Go 101 project developed by Tapir Liu. PR and bug reports are welcome and can be submitted to the issue list. Please follow @Go100and1 (reachable from the left QR code) to get the latest news of Golds. |