You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

69 lines
1.3 KiB

  1. // Copyright 2013 The Go Authors. All rights reserved.
  2. //
  3. // Use of this source code is governed by a BSD-style
  4. // license that can be found in the LICENSE file or at
  5. // https://developers.google.com/open-source/licenses/bsd.
  6. package main
  7. import (
  8. "log"
  9. "os"
  10. "time"
  11. "github.com/golang/gddo/database"
  12. "github.com/golang/gddo/doc"
  13. )
  14. var reindexCommand = &command{
  15. name: "reindex",
  16. run: reindex,
  17. usage: "reindex",
  18. }
  19. func fix(pdoc *doc.Package) {
  20. /*
  21. for _, v := range pdoc.Consts {
  22. }
  23. for _, v := range pdoc.Vars {
  24. }
  25. for _, v := range pdoc.Funcs {
  26. }
  27. for _, t := range pdoc.Types {
  28. for _, v := range t.Consts {
  29. }
  30. for _, v := range t.Vars {
  31. }
  32. for _, v := range t.Funcs {
  33. }
  34. for _, v := range t.Methods {
  35. }
  36. }
  37. for _, notes := range pdoc.Notes {
  38. for _, v := range notes {
  39. }
  40. }
  41. */
  42. }
  43. func reindex(c *command) {
  44. if len(c.flag.Args()) != 0 {
  45. c.printUsage()
  46. os.Exit(1)
  47. }
  48. db, err := database.New()
  49. if err != nil {
  50. log.Fatal(err)
  51. }
  52. var n int
  53. err = db.Do(func(pi *database.PackageInfo) error {
  54. n++
  55. fix(pi.PDoc)
  56. return db.Put(pi.PDoc, time.Time{}, false)
  57. })
  58. if err != nil {
  59. log.Fatal(err)
  60. }
  61. log.Printf("Updated %d documents", n)
  62. }