mirror of
https://gitea.com/gitea/tea.git
synced 2025-09-02 01:48:30 +02:00
Allow batch operations on multiple entities (#512)
commands now accept multiple arguments where it makes sense. #### before ``` NAME: tea issues close - Change state of an issue to 'closed' USAGE: tea issues close [command options] <issue index> ``` #### after ``` NAME: tea issues close - Change state of one ore more issues to 'closed' USAGE: tea issues close [command options] <issue index> [<issue index>...] ``` Co-authored-by: Norwin <git@nroo.de> Reviewed-on: https://gitea.com/gitea/tea/pulls/512 Reviewed-by: 6543 <6543@obermui.de> Reviewed-by: justusbunsi <justusbunsi@noreply.gitea.io> Co-authored-by: Norwin <noerw@noreply.gitea.io> Co-committed-by: Norwin <noerw@noreply.gitea.io>
This commit is contained in:
@ -9,6 +9,7 @@ import (
|
||||
"fmt"
|
||||
"log"
|
||||
"os"
|
||||
"path"
|
||||
"strings"
|
||||
|
||||
"code.gitea.io/sdk/gitea"
|
||||
@ -51,6 +52,13 @@ func (ctx *TeaContext) GetListOptions() gitea.ListOptions {
|
||||
}
|
||||
}
|
||||
|
||||
// GetRemoteRepoHTMLURL returns the web-ui url of the remote repo,
|
||||
// after ensuring a remote repo is present in the context.
|
||||
func (ctx *TeaContext) GetRemoteRepoHTMLURL() string {
|
||||
ctx.Ensure(CtxRequirement{RemoteRepo: true})
|
||||
return path.Join(ctx.Login.URL, ctx.Owner, ctx.Repo)
|
||||
}
|
||||
|
||||
// Ensure checks if requirements on the context are set, and terminates otherwise.
|
||||
func (ctx *TeaContext) Ensure(req CtxRequirement) {
|
||||
if req.LocalRepo && ctx.LocalRepo == nil {
|
||||
|
@ -10,6 +10,18 @@ import (
|
||||
"strings"
|
||||
)
|
||||
|
||||
// ArgsToIndices take issue/pull index as string and returns int64s
|
||||
func ArgsToIndices(args []string) ([]int64, error) {
|
||||
indices := make([]int64, len(args))
|
||||
for i, arg := range args {
|
||||
var err error
|
||||
if indices[i], err = ArgToIndex(arg); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
}
|
||||
return indices, nil
|
||||
}
|
||||
|
||||
// ArgToIndex take issue/pull index as string and return int64
|
||||
func ArgToIndex(arg string) (int64, error) {
|
||||
if strings.HasPrefix(arg, "#") {
|
||||
|
Reference in New Issue
Block a user