mirror of
				https://github.com/taigrr/wtf
				synced 2025-01-18 04:03:14 -08:00 
			
		
		
		
	Output from 'dep status': PROJECT CONSTRAINT VERSION REVISION LATEST PKGS USED cloud.google.com/go v0.23.0 v0.23.0 0fd7230 v0.23.0 1 github.com/briandowns/openweathermap ^0.11.0 0.11 1b87579 0.11 1 github.com/gdamore/encoding branch master branch master b23993c b23993c 1 github.com/gdamore/tcell ^1.0.0 v1.0.0 061d51a v1.0.0 2 github.com/go-test/deep ^1.0.1 v1.0.1 6592d9c v1.0.1 1 github.com/golang/protobuf v1.1.0 v1.1.0 b4deda0 v1.1.0 1 github.com/google/go-github branch master branch master 2ae5df7 2ae5df7 1 github.com/google/go-querystring branch master branch master 53e6ce1 53e6ce1 1 github.com/jessevdk/go-flags ^1.4.0 v1.4.0 c6ca198 v1.4.0 1 github.com/lucasb-eyer/go-colorful v1.0 v1.0 345fbb3 v1.0 1 github.com/mattn/go-runewidth v0.0.2 v0.0.2 9e777a8 v0.0.2 1 github.com/olebedev/config branch master branch master 9a10d05 9a10d05 1 github.com/radovskyb/watcher ^1.0.2 v1.0.2 6145e14 v1.0.2 1 github.com/rivo/tview branch master branch master 71ecf1f 71ecf1f 1 github.com/yfronto/newrelic branch master branch master f7fa0c6 f7fa0c6 1 golang.org/x/net branch master branch master 1e49130 1e49130 2 golang.org/x/oauth2 branch master branch master 1e0a3fa 1e0a3fa 5 golang.org/x/text v0.3.0 v0.3.0 f21a4df v0.3.0 5 google.golang.org/api branch master branch master 00e3bb8 00e3bb8 4 google.golang.org/appengine v1.0.0 v1.0.0 150dc57 v1.0.0 10 gopkg.in/yaml.v2 ^2.2.1 v2.2.1 5420a8b v2.2.1 1 See https://golang.github.io/dep/docs/daily-dep.html
		
			
				
	
	
		
			131 lines
		
	
	
		
			3.8 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			131 lines
		
	
	
		
			3.8 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
// Copyright 2013 The Go Authors. All rights reserved.
 | 
						|
// Use of this source code is governed by a BSD-style
 | 
						|
// license that can be found in the LICENSE file.
 | 
						|
 | 
						|
//go:generate go run makexml.go -output xml.go
 | 
						|
 | 
						|
// Package cldr provides a parser for LDML and related XML formats.
 | 
						|
// This package is intended to be used by the table generation tools
 | 
						|
// for the various internationalization-related packages.
 | 
						|
// As the XML types are generated from the CLDR DTD, and as the CLDR standard
 | 
						|
// is periodically amended, this package may change considerably over time.
 | 
						|
// This mostly means that data may appear and disappear between versions.
 | 
						|
// That is, old code should keep compiling for newer versions, but data
 | 
						|
// may have moved or changed.
 | 
						|
// CLDR version 22 is the first version supported by this package.
 | 
						|
// Older versions may not work.
 | 
						|
package cldr // import "golang.org/x/text/unicode/cldr"
 | 
						|
 | 
						|
import (
 | 
						|
	"fmt"
 | 
						|
	"sort"
 | 
						|
)
 | 
						|
 | 
						|
// CLDR provides access to parsed data of the Unicode Common Locale Data Repository.
 | 
						|
type CLDR struct {
 | 
						|
	parent   map[string][]string
 | 
						|
	locale   map[string]*LDML
 | 
						|
	resolved map[string]*LDML
 | 
						|
	bcp47    *LDMLBCP47
 | 
						|
	supp     *SupplementalData
 | 
						|
}
 | 
						|
 | 
						|
func makeCLDR() *CLDR {
 | 
						|
	return &CLDR{
 | 
						|
		parent:   make(map[string][]string),
 | 
						|
		locale:   make(map[string]*LDML),
 | 
						|
		resolved: make(map[string]*LDML),
 | 
						|
		bcp47:    &LDMLBCP47{},
 | 
						|
		supp:     &SupplementalData{},
 | 
						|
	}
 | 
						|
}
 | 
						|
 | 
						|
// BCP47 returns the parsed BCP47 LDML data. If no such data was parsed, nil is returned.
 | 
						|
func (cldr *CLDR) BCP47() *LDMLBCP47 {
 | 
						|
	return nil
 | 
						|
}
 | 
						|
 | 
						|
// Draft indicates the draft level of an element.
 | 
						|
type Draft int
 | 
						|
 | 
						|
const (
 | 
						|
	Approved Draft = iota
 | 
						|
	Contributed
 | 
						|
	Provisional
 | 
						|
	Unconfirmed
 | 
						|
)
 | 
						|
 | 
						|
var drafts = []string{"unconfirmed", "provisional", "contributed", "approved", ""}
 | 
						|
 | 
						|
// ParseDraft returns the Draft value corresponding to the given string. The
 | 
						|
// empty string corresponds to Approved.
 | 
						|
func ParseDraft(level string) (Draft, error) {
 | 
						|
	if level == "" {
 | 
						|
		return Approved, nil
 | 
						|
	}
 | 
						|
	for i, s := range drafts {
 | 
						|
		if level == s {
 | 
						|
			return Unconfirmed - Draft(i), nil
 | 
						|
		}
 | 
						|
	}
 | 
						|
	return Approved, fmt.Errorf("cldr: unknown draft level %q", level)
 | 
						|
}
 | 
						|
 | 
						|
func (d Draft) String() string {
 | 
						|
	return drafts[len(drafts)-1-int(d)]
 | 
						|
}
 | 
						|
 | 
						|
// SetDraftLevel sets which draft levels to include in the evaluated LDML.
 | 
						|
// Any draft element for which the draft level is higher than lev will be excluded.
 | 
						|
// If multiple draft levels are available for a single element, the one with the
 | 
						|
// lowest draft level will be selected, unless preferDraft is true, in which case
 | 
						|
// the highest draft will be chosen.
 | 
						|
// It is assumed that the underlying LDML is canonicalized.
 | 
						|
func (cldr *CLDR) SetDraftLevel(lev Draft, preferDraft bool) {
 | 
						|
	// TODO: implement
 | 
						|
	cldr.resolved = make(map[string]*LDML)
 | 
						|
}
 | 
						|
 | 
						|
// RawLDML returns the LDML XML for id in unresolved form.
 | 
						|
// id must be one of the strings returned by Locales.
 | 
						|
func (cldr *CLDR) RawLDML(loc string) *LDML {
 | 
						|
	return cldr.locale[loc]
 | 
						|
}
 | 
						|
 | 
						|
// LDML returns the fully resolved LDML XML for loc, which must be one of
 | 
						|
// the strings returned by Locales.
 | 
						|
func (cldr *CLDR) LDML(loc string) (*LDML, error) {
 | 
						|
	return cldr.resolve(loc)
 | 
						|
}
 | 
						|
 | 
						|
// Supplemental returns the parsed supplemental data. If no such data was parsed,
 | 
						|
// nil is returned.
 | 
						|
func (cldr *CLDR) Supplemental() *SupplementalData {
 | 
						|
	return cldr.supp
 | 
						|
}
 | 
						|
 | 
						|
// Locales returns the locales for which there exist files.
 | 
						|
// Valid sublocales for which there is no file are not included.
 | 
						|
// The root locale is always sorted first.
 | 
						|
func (cldr *CLDR) Locales() []string {
 | 
						|
	loc := []string{"root"}
 | 
						|
	hasRoot := false
 | 
						|
	for l, _ := range cldr.locale {
 | 
						|
		if l == "root" {
 | 
						|
			hasRoot = true
 | 
						|
			continue
 | 
						|
		}
 | 
						|
		loc = append(loc, l)
 | 
						|
	}
 | 
						|
	sort.Strings(loc[1:])
 | 
						|
	if !hasRoot {
 | 
						|
		return loc[1:]
 | 
						|
	}
 | 
						|
	return loc
 | 
						|
}
 | 
						|
 | 
						|
// Get fills in the fields of x based on the XPath path.
 | 
						|
func Get(e Elem, path string) (res Elem, err error) {
 | 
						|
	return walkXPath(e, path)
 | 
						|
}
 |