本文整理汇总了Golang中github.com/richardlehane/siegfried/config.SetHome函数的典型用法代码示例。如果您正苦于以下问题:Golang SetHome函数的具体用法?Golang SetHome怎么用?Golang SetHome使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了SetHome函数的16个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Golang代码示例。
示例1: TestNew
func TestNew(t *testing.T) {
config.SetHome(filepath.Join("..", "..", "cmd", "roy", "data"))
mi, err := newMIMEInfo()
if err != nil {
t.Error(err)
}
tpmap := make(map[string]struct{})
for _, v := range mi {
//fmt.Println(v)
//if len(v.Magic) > 1 {
// fmt.Printf("Multiple magics (%d): %s\n", len(v.Magic), v.MIME)
//}
for _, c := range v.Magic {
for _, d := range c.Matches {
tpmap[d.Typ] = struct{}{}
if len(d.Mask) > 0 {
if d.Typ == "string" {
fmt.Println("MAGIC: " + d.Value)
} else {
fmt.Println("Type: " + d.Typ)
}
fmt.Println("MASK: " + d.Mask)
}
}
}
}
/*
for k, _ := range tpmap {
fmt.Println(k)
}
*/
if len(mi) != 1495 {
t.Errorf("expecting %d MIMEInfos, got %d", 1495, len(mi))
}
}
开发者ID:jhsimpson,项目名称:siegfried,代码行数:35,代码来源:mimeinfo_test.go
示例2: TestNew
func TestNew(t *testing.T) {
config.SetHome(filepath.Join("..", "..", "cmd", "roy", "data"))
_, err := newPronom()
if err != nil {
t.Error(err)
}
}
开发者ID:ross-spencer,项目名称:siegfried,代码行数:7,代码来源:pronom_test.go
示例3: TestParseDroid
// DROID parsing is tested by comparing it against Report parsing
func TestParseDroid(t *testing.T) {
config.SetHome(filepath.Join("..", "..", "cmd", "roy", "data"))
d, err := newDroid(config.Droid())
if err != nil {
t.Fatal(err)
}
r, err := newReports(d.puids(), d.idsPuids())
if err != nil {
t.Fatal(err)
}
dsigs, dpuids, err := d.signatures()
if err != nil {
t.Fatal(err)
}
rsigs, rpuids, err := r.signatures()
if err != nil {
t.Fatal(err)
}
if len(dpuids) != len(rpuids) {
t.Errorf("Parse Droid: Expecting length of reports and droid to be same, got %d, %d, %s", len(rpuids), len(dpuids), dpuids[len(dpuids)-8])
}
for i, v := range rpuids {
if v != dpuids[i] {
t.Errorf("Parse Droid: Expecting slices of puids to be identical but at index %d, got %s for reports and %s for droid", i, v, dpuids[i])
}
}
if len(dsigs) != len(rsigs) {
t.Errorf("Parse Droid: Expecting sig length of reports and droid to be same, got %d, %d", len(rsigs), len(dsigs))
}
for i, v := range rsigs {
if !v.Equals(dsigs[i]) {
t.Errorf("Parse Droid: signatures for %s are not equal:\nReports: %s\n Droid: %s", rpuids[i], v, dsigs[i])
}
}
}
开发者ID:ross-spencer,项目名称:siegfried,代码行数:36,代码来源:parseable_test.go
示例4: setInspectOptions
func setInspectOptions() {
if *inspectHome != config.Home() {
config.SetHome(*inspectHome)
}
if *inspectReports != config.Reports() {
config.SetReports(*inspectReports)()
}
}
开发者ID:TidyHuang,项目名称:siegfried,代码行数:8,代码来源:roy.go
示例5: TestLoad
func TestLoad(t *testing.T) {
s := New()
config.SetHome("./cmd/roy/data")
p, err := pronom.New()
if err != nil {
t.Fatal(err)
}
err = s.Add(p)
if err != nil {
t.Fatal(err)
}
}
开发者ID:TidyHuang,项目名称:siegfried,代码行数:12,代码来源:siegfried_test.go
示例6: TestNew
func TestNew(t *testing.T) {
config.SetHome(filepath.Join("..", "..", "cmd", "roy", "data"))
mi, err := newMIMEInfo()
if err != nil {
t.Error(err)
}
for _, v := range mi {
fmt.Println(v)
}
if len(mi) != 1495 {
t.Errorf("expecting %d MIMEInfos, got %d", 1495, len(mi))
}
}
开发者ID:ross-spencer,项目名称:siegfried,代码行数:13,代码来源:mimeinfo_test.go
示例7: setHarvestOptions
func setHarvestOptions() {
if *harvestHome != config.Home() {
config.SetHome(*harvestHome)
}
if *harvestDroid != config.Droid() {
config.SetDroid(*harvestDroid)()
}
if *harvestReports != config.Reports() {
config.SetReports(*harvestReports)()
}
if *timeout != htimeout {
config.SetHarvestTimeout(*timeout)
}
}
开发者ID:TidyHuang,项目名称:siegfried,代码行数:14,代码来源:roy.go
示例8: setup
func setup(opts ...config.Option) error {
if opts == nil && s != nil {
return nil
}
var err error
s = siegfried.New()
config.SetHome(*testhome)
opts = append(opts, config.SetDoubleUp())
p, err := pronom.New(opts...)
if err != nil {
return err
}
return s.Add(p)
}
开发者ID:TidyHuang,项目名称:siegfried,代码行数:14,代码来源:sf_test.go
示例9: TestMakeGob
func TestMakeGob(t *testing.T) {
s := siegfried.New()
config.SetHome(*testhome)
p, err := pronom.New()
if err != nil {
t.Fatal(err)
}
err = s.Add(p)
if err != nil {
t.Fatal(err)
}
sigs := filepath.Join("data", config.SignatureBase())
err = s.Save(sigs)
if err != nil {
t.Fatal(err)
}
}
开发者ID:ross-spencer,项目名称:siegfried,代码行数:17,代码来源:roy_test.go
示例10: TestMakeArchivematica
func TestMakeArchivematica(t *testing.T) {
s := siegfried.New()
config.SetHome(*testhome)
p, err := pronom.New(
config.SetName("archivematica"),
config.SetExtend(expandSets("archivematica-fmt2.xml,archivematica-fmt3.xml,archivematica-fmt4.xml,archivematica-fmt5.xml")))
if err != nil {
t.Fatal(err)
}
err = s.Add(p)
if err != nil {
t.Fatal(err)
}
sigs := filepath.Join("data", "archivematica.sig")
err = s.Save(sigs)
if err != nil {
t.Fatal(err)
}
}
开发者ID:ross-spencer,项目名称:siegfried,代码行数:19,代码来源:roy_test.go
示例11: TestSets
func TestSets(t *testing.T) {
config.SetHome(*testhome)
list := "fmt/1,fmt/2,@pdfa,x-fmt/19"
expect := "fmt/1,fmt/2,fmt/95,fmt/354,fmt/476,fmt/477,fmt/478,fmt/479,fmt/480,fmt/481,x-fmt/19"
res := strings.Join(expandSets(list), ",")
if res != expect {
t.Errorf("expecting %s, got %s", expect, res)
}
pdfs := strings.Join(expandSets("@pdf"), ",")
expect = "fmt/14,fmt/15,fmt/16,fmt/17,fmt/18,fmt/19,fmt/20,fmt/95,fmt/144,fmt/145,fmt/146,fmt/147,fmt/148,fmt/157,fmt/158,fmt/276,fmt/354,fmt/476,fmt/477,fmt/478,fmt/479,fmt/480,fmt/481,fmt/488,fmt/489,fmt/490,fmt/491,fmt/492,fmt/493"
if pdfs != expect {
t.Errorf("expecting %s, got %s", expect, pdfs)
}
compression := strings.Join(expandSets("@compression"), ",")
expect = "fmt/626,x-fmt/266,x-fmt/267,x-fmt/268"
if compression != expect {
t.Errorf("expecting %s, got %s", expect, compression)
}
}
开发者ID:ross-spencer,项目名称:siegfried,代码行数:19,代码来源:sets_test.go
示例12: setup
func setup() error {
var err error
config.SetHome(*testhome)
s, err = siegfried.Load(config.Signature())
return err
}
开发者ID:glepore70,项目名称:siegfried,代码行数:6,代码来源:sf_test.go
示例13: buildOptions
func buildOptions() []config.Option {
if *home != config.Home() {
config.SetHome(*home)
}
opts := []config.Option{}
if *droid != config.Droid() {
opts = append(opts, config.SetDroid(*droid))
}
if *container != config.Container() {
opts = append(opts, config.SetContainer(*container))
}
if *reports != config.Reports() {
opts = append(opts, config.SetReports(*reports))
}
if *name != config.Name() {
opts = append(opts, config.SetName(*name))
}
if *details != config.Details() {
opts = append(opts, config.SetDetails(*details))
}
if *extend != "" {
opts = append(opts, config.SetExtend(expandSets(*extend)))
}
if *extendc != "" {
if *extend == "" {
fmt.Println(
`roy: warning! Unless the container extension only extends formats defined in
the DROID signature file you should also include a regular signature extension
(-extend) that includes a FileFormatCollection element defining the new formats.`)
}
opts = append(opts, config.SetExtendC(expandSets(*extendc)))
}
if *include != "" {
opts = append(opts, config.SetLimit(expandSets(*include)))
}
if *exclude != "" {
opts = append(opts, config.SetExclude(expandSets(*exclude)))
}
if *bof != 0 {
opts = append(opts, config.SetBOF(*bof))
}
if *eof != 0 {
opts = append(opts, config.SetEOF(*eof))
}
if *noeof {
opts = append(opts, config.SetNoEOF())
}
if *nopriority {
opts = append(opts, config.SetNoPriority())
}
if *nocontainer {
opts = append(opts, config.SetNoContainer())
}
if *notext {
opts = append(opts, config.SetNoText())
}
if *noext {
opts = append(opts, config.SetNoExt())
}
if *noreports {
opts = append(opts, config.SetNoReports())
}
if *doubleup {
opts = append(opts, config.SetDoubleUp())
}
if *rng != config.Range() {
opts = append(opts, config.SetRange(*rng))
}
if *distance != config.Distance() {
opts = append(opts, config.SetDistance(*distance))
}
if *choices != config.Choices() {
opts = append(opts, config.SetChoices(*choices))
}
return opts
}
开发者ID:TidyHuang,项目名称:siegfried,代码行数:76,代码来源:roy.go
示例14: main
func main() {
flag.Parse()
/*//UNCOMMENT TO RUN PROFILER
go func() {
log.Println(http.ListenAndServe("localhost:6060", nil))
}()*/
if *home != config.Home() {
config.SetHome(*home)
}
if *sig != config.SignatureBase() {
config.SetSignature(*sig)
}
if *version {
version := config.Version()
fmt.Printf("siegfried version: %d.%d.%d\n", version[0], version[1], version[2])
return
}
if *update {
msg, err := updateSigs()
if err != nil {
log.Fatalf("Error: failed to update signature file, %v", err)
}
fmt.Println(msg)
return
}
// during parallel scanning or in server mode, unsafe to access the last read buffer - so can't unzip or hash
if *multi > 1 || *serve != "" {
if *archive {
log.Fatalln("Error: cannot scan archive formats when running in parallel mode")
}
if *hashf != "" {
log.Fatalln("Error: cannot calculate file checksum when running in parallel mode")
}
}
if err := setHash(); err != nil {
log.Fatal(err)
}
if *serve != "" || *fprflag {
s, err := siegfried.Load(config.Signature())
if err != nil {
log.Fatalf("Error: error loading signature file, got: %v", err)
}
if *serve != "" {
log.Printf("Starting server at %s. Use CTRL-C to quit.\n", *serve)
listen(*serve, s)
return
}
log.Printf("FPR server started at %s. Use CTRL-C to quit.\n", config.Fpr())
serveFpr(config.Fpr(), s)
return
}
if flag.NArg() != 1 {
log.Fatalln("Error: expecting a single file or directory argument")
}
s, err := siegfried.Load(config.Signature())
if err != nil {
log.Fatalf("Error: error loading signature file, got: %v", err)
}
var w writer
switch {
case *debug:
config.SetDebug()
w = debugWriter{}
case *slow:
config.SetSlow()
w = &slowWriter{os.Stdout}
case *csvo:
w = newCSV(os.Stdout)
case *jsono:
w = newJSON(os.Stdout)
case *droido:
w = newDroid(os.Stdout)
case *knowno:
w = &knownWriter{true, os.Stdout}
case *unknowno:
w = &knownWriter{false, os.Stdout}
default:
w = newYAML(os.Stdout)
}
// support reading list files from stdin
if flag.Arg(0) == "-" {
w.writeHead(s)
scanner := bufio.NewScanner(os.Stdin)
for scanner.Scan() {
info, err := os.Stat(scanner.Text())
//.........这里部分代码省略.........
开发者ID:TidyHuang,项目名称:siegfried,代码行数:101,代码来源:sf.go
示例15: buildOptions
func buildOptions() []config.Option {
if *home != config.Home() {
config.SetHome(*home)
}
opts := []config.Option{}
if *droid != config.Droid() {
opts = append(opts, config.SetDroid(*droid))
}
if *container != config.Container() {
opts = append(opts, config.SetContainer(*container))
}
if *reports != config.Reports() {
opts = append(opts, config.SetReports(*reports))
}
if *name != config.Name() {
opts = append(opts, config.SetName(*name))
}
if *details != config.Details() {
opts = append(opts, config.SetDetails(*details))
}
if *extend != "" {
opts = append(opts, config.SetExtend(expandSets(*extend)))
}
if *extendc != "" {
opts = append(opts, config.SetExtendC(expandSets(*extendc)))
}
if *include != "" {
opts = append(opts, config.SetLimit(expandSets(*include)))
}
if *exclude != "" {
opts = append(opts, config.SetExclude(expandSets(*exclude)))
}
if *bof != 0 {
opts = append(opts, config.SetBOF(*bof))
}
if *eof != 0 {
opts = append(opts, config.SetEOF(*eof))
}
if *noeof {
opts = append(opts, config.SetNoEOF())
}
if *nopriority {
opts = append(opts, config.SetNoPriority())
}
if *nocontainer {
opts = append(opts, config.SetNoContainer())
}
if *notext {
opts = append(opts, config.SetNoText())
}
if *noreports {
opts = append(opts, config.SetNoReports())
}
if *rng != config.Range() {
opts = append(opts, config.SetRange(*rng))
}
if *distance != config.Distance() {
opts = append(opts, config.SetDistance(*distance))
}
if *choices != config.Choices() {
opts = append(opts, config.SetChoices(*choices))
}
return opts
}
开发者ID:glepore70,项目名称:siegfried,代码行数:64,代码来源:roy.go
示例16: main
func main() {
flag.Parse()
/*//UNCOMMENT TO RUN PROFILER
go func() {
log.Println(http.ListenAndServe("localhost:6060", nil))
}()*/
if *version {
version := config.Version()
fmt.Printf("siegfried %d.%d.%d\n", version[0], version[1], version[2])
s, err := siegfried.Load(config.Signature())
if err != nil {
fmt.Println(err)
return
}
fmt.Print(s)
return
}
if *home != config.Home() {
config.SetHome(*home)
}
if *sig != config.SignatureBase() {
config.SetSignature(*sig)
}
if *update {
msg, err := updateSigs()
if err != nil {
log.Fatalf("[FATAL] failed to update signature file, %v", err)
}
fmt.Println(msg)
return
}
// during parallel scanning or in server mode, unsafe to access the last read buffer - so can't unzip or hash
if *multi > 1 || *serve != "" {
if *archive {
log.Fatalln("[FATAL] cannot scan archive formats when running in parallel or server mode")
}
if *hashf != "" {
log.Fatalln("[FATAL] cannot calculate file checksum when running in parallel or server mode")
}
}
if *logf != "" {
if *multi > 1 && *logf != "error" {
log.Fatalln("[FATAL] cannot log in parallel mode")
}
if err := newLogger(*logf); err != nil {
log.Fatalln(err)
}
}
if err := setHash(); err != nil {
log.Fatal(err)
}
if *serve != "" || *fprflag {
s, err := siegfried.Load(config.Signature())
if err != nil {
log.Fatalf("[FATAL] error loading signature file, got: %v", err)
}
if *serve != "" {
log.Printf("Starting server at %s. Use CTRL-C to quit.\n", *serve)
listen(*serve, s)
return
}
log.Printf("FPR server started at %s. Use CTRL-C to quit.\n", config.Fpr())
serveFpr(config.Fpr(), s)
return
}
if flag.NArg() != 1 {
log.Fatalln("[FATAL] expecting a single file or directory argument")
}
s, err := siegfried.Load(config.Signature())
if err != nil {
log.Fatalf("[FATAL] error loading signature file, got: %v", err)
}
var w writer
switch {
case *csvo:
w = newCSV(os.Stdout)
case *jsono:
w = newJSON(os.Stdout)
case *droido:
w = newDroid(os.Stdout)
default:
w = newYAML(os.Stdout)
}
if lg != nil && lg.w == os.Stdout {
w = logWriter{}
}
//.........这里部分代码省略.........
开发者ID:jhsimpson,项目名称:siegfried,代码行数:101,代码来源:sf.go
注:本文中的github.com/richardlehane/siegfried/config.SetHome函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论