add(taskwarrior): integrate uda for git integration
This implementation adds the necessary fields for the tasks of taskwarrior to be synchronized with git. It provides the necessary conversion of the taskwarrior times and the standard time.Time go format. WIP for #3.
This commit is contained in:
@@ -6,13 +6,11 @@ import (
|
||||
|
||||
"gitea.yves-biener.de/yves-biener/gitwarrior/internal/gitea"
|
||||
"gitea.yves-biener.de/yves-biener/gitwarrior/internal/gitw"
|
||||
"gitea.yves-biener.de/yves-biener/gitwarrior/internal/taskwarrior"
|
||||
)
|
||||
|
||||
func main() {
|
||||
// TODO: server url may be also be derived from the git configuration?
|
||||
server := gitea.NewGitea("https://gitea.yves-biener.de")
|
||||
|
||||
repository, err := gitw.Discover()
|
||||
if err != nil {
|
||||
fmt.Fprintln(os.Stderr, err)
|
||||
@@ -23,61 +21,13 @@ func main() {
|
||||
fmt.Fprintln(os.Stderr, err)
|
||||
os.Exit(-1)
|
||||
}
|
||||
fmt.Printf("%#v\n", repository)
|
||||
fmt.Println("---")
|
||||
project := gitw.NewProject(server, repository)
|
||||
|
||||
issue, err := server.GetIssue(repository, 1)
|
||||
if err != nil {
|
||||
if err = project.Fetch(); err != nil {
|
||||
fmt.Fprintln(os.Stderr, err)
|
||||
os.Exit(-1)
|
||||
}
|
||||
milestone, err := server.GetMilestone(repository, 1)
|
||||
if err != nil {
|
||||
fmt.Fprintln(os.Stderr, err)
|
||||
os.Exit(-1)
|
||||
}
|
||||
comments, err := server.GetComments(repository)
|
||||
if err != nil {
|
||||
fmt.Fprintln(os.Stderr, err)
|
||||
os.Exit(-1)
|
||||
}
|
||||
|
||||
fmt.Printf("%#v\n", issue)
|
||||
fmt.Println("---")
|
||||
fmt.Printf("%#v\n", milestone)
|
||||
fmt.Println("---")
|
||||
|
||||
for _, comment := range comments {
|
||||
// NOTE: filter comments to only include comments which are related to the current issue
|
||||
// Order them by their Id's as that's the order they are in the issue (most likely)
|
||||
if comment.Issue_url == issue.Html_url {
|
||||
fmt.Printf("%#v\n", comment)
|
||||
}
|
||||
}
|
||||
|
||||
var filter taskwarrior.Filter
|
||||
filter.IncludeProjects("notes")
|
||||
tasks, err := taskwarrior.GetTasks(filter)
|
||||
if err != nil {
|
||||
fmt.Fprintln(os.Stderr, err)
|
||||
os.Exit(-1)
|
||||
}
|
||||
for _, task := range tasks {
|
||||
fmt.Printf("%#v\n", task)
|
||||
}
|
||||
fmt.Println("---")
|
||||
|
||||
filter.Reset()
|
||||
filter.IncludeIds(1, 2, 3)
|
||||
tasks, err = taskwarrior.GetTasks(filter)
|
||||
if err != nil {
|
||||
fmt.Fprintln(os.Stderr, err)
|
||||
os.Exit(-1)
|
||||
}
|
||||
for _, task := range tasks {
|
||||
fmt.Printf("%#v\n", task)
|
||||
}
|
||||
fmt.Println("---")
|
||||
fmt.Printf("%#v\n", project)
|
||||
|
||||
// NOTE: this can be used to add / modify tasks
|
||||
// var update_tasks []taskwarrior.Task
|
||||
|
||||
Reference in New Issue
Block a user