grim/youtrack-import

Handle comments that end up with no text after processing. This typically happens if it was a reply with the body removed
package trac
import (
"fmt"
"keep.imfreedom.org/grim/youtrack-import/youtrack"
)
func createProject(e *environment, importUsersFile, unknownUser string) (*youtrack.Project, error) {
users, err := e.loadUsers(importUsersFile)
if err != nil {
return nil, err
}
fmt.Printf("loaded %d users\n", len(users))
ytVersions, err := e.loadVersions()
if err != nil {
return nil, err
}
fmt.Printf("loaded %d versions\n", len(ytVersions))
ytSubsystems, err := e.loadComponents(users, unknownUser)
if err != nil {
return nil, err
}
fmt.Printf("loaded %d subsystems\n", len(ytSubsystems))
ytIssues, err := e.loadTickets(users, unknownUser)
if err != nil {
return nil, err
}
fmt.Printf("loaded %d issues\n", len(ytIssues))
// build a new slice of users that only includes the ones we're importing.
sliceUsers := make([]*youtrack.User, len(users))
idx := 0
for _, user := range users {
sliceUsers[idx] = user
idx++
}
project := &youtrack.Project{
Issues: ytIssues,
Users: sliceUsers,
Versions: ytVersions,
Subsystems: ytSubsystems,
}
return project, nil
}