func pageShow(w http.ResponseWriter, r *http.Request, p httprouter.Params) *httphelper.HandlerError { l := httphelper.NewHandlerLogEntry(r) etype := p.ByName("type") project := p.ByName("project") l.Debug("Type: ", etype) l.Debug("Project: ", project) projects, err := helper.ProjectNamesFromArgs(dataStore, []string{project}, false) if err != nil { return httphelper.NewHandlerErrorDef(errgo.Notef(err, "can not get list of projects")) } err = dataStore.PopulateProjects(&projects) if err != nil { return httphelper.NewHandlerErrorDef(errgo.Notef(err, "can not populate projects with entries")) } buffer := new(bytes.Buffer) formatting.Projects(buffer, "Entries", 0, &projects) err = asciiDoctor(buffer, w) if err != nil { return httphelper.NewHandlerErrorDef(errgo.Notef(err, "can not format entries with asciidoctor")) } return nil }
func runCmdShowProjects(cmd *cobra.Command, args []string) error { store, err := helper.DefaultStore(flagDataDir) if err != nil { return errgo.Notef(err, "can not get data store") } projects, err := helper.ProjectNamesFromArgs(store, args, flagShowArchive) if err != nil { return errgo.Notef(err, "can not get list of projects") } for _, project := range projects.List() { fmt.Println(project.Name) } return nil }
func runCmdShowDates(cmd *cobra.Command, args []string) error { store, err := helper.DefaultStore(flagDataDir) if err != nil { return errgo.Notef(err, "can not get data store") } projects, err := helper.ProjectNamesFromArgs(store, args, flagShowArchive) if err != nil { return errgo.Notef(err, "can not get list of projects") } err = store.PopulateProjects(&projects) if err != nil { return errgo.Notef(err, "can not populate projects with entries") } filter := make(map[string]struct{}) for _, project := range projects.List() { entries := project.Entries if len(entries) == 0 { continue } for _, entry := range entries { date := entry.GetTimeStamp().Format("2006-01-02") filter[date] = struct{}{} } } var dates []string for date := range filter { dates = append(dates, date) } sort.Strings(dates) for _, date := range dates { fmt.Println(date) } return nil }
func runCmdShowEntries(cmd *cobra.Command, args []string) error { store, err := helper.DefaultStore(flagDataDir) if err != nil { return errgo.Notef(err, "can not get data store") } projects, err := helper.ProjectNamesFromArgs(store, args, flagShowArchive) if err != nil { return errgo.Notef(err, "can not get list of projects") } err = store.PopulateProjects(&projects) if err != nil { return errgo.Notef(err, "can not populate projects with entries") } formatting.Projects(os.Stdout, "Entries", 0, &projects) return nil }