forked from Elara6331/itd
		
	Add -r for rm and -p for mkdir
This commit is contained in:
		
							
								
								
									
										20
									
								
								api/fs.go
									
									
									
									
									
								
							
							
						
						
									
										20
									
								
								api/fs.go
									
									
									
									
									
								
							@@ -2,6 +2,16 @@ package api
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
import "context"
 | 
					import "context"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (c *Client) RemoveAll(ctx context.Context, paths ...string) error {
 | 
				
			||||||
 | 
						return c.client.Call(
 | 
				
			||||||
 | 
							ctx,
 | 
				
			||||||
 | 
							"FS",
 | 
				
			||||||
 | 
							"RemoveAll",
 | 
				
			||||||
 | 
							paths,
 | 
				
			||||||
 | 
							nil,
 | 
				
			||||||
 | 
						)
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
func (c *Client) Remove(ctx context.Context, paths ...string) error {
 | 
					func (c *Client) Remove(ctx context.Context, paths ...string) error {
 | 
				
			||||||
	return c.client.Call(
 | 
						return c.client.Call(
 | 
				
			||||||
		ctx,
 | 
							ctx,
 | 
				
			||||||
@@ -22,6 +32,16 @@ func (c *Client) Rename(ctx context.Context, old, new string) error {
 | 
				
			|||||||
	)
 | 
						)
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (c *Client) MkdirAll(ctx context.Context, paths ...string) error {
 | 
				
			||||||
 | 
						return c.client.Call(
 | 
				
			||||||
 | 
							ctx,
 | 
				
			||||||
 | 
							"FS",
 | 
				
			||||||
 | 
							"MkdirAll",
 | 
				
			||||||
 | 
							paths,
 | 
				
			||||||
 | 
							nil,
 | 
				
			||||||
 | 
						)
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
func (c *Client) Mkdir(ctx context.Context, paths ...string) error {
 | 
					func (c *Client) Mkdir(ctx context.Context, paths ...string) error {
 | 
				
			||||||
	return c.client.Call(
 | 
						return c.client.Call(
 | 
				
			||||||
		ctx,
 | 
							ctx,
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -34,7 +34,12 @@ func fsMkdir(c *cli.Context) error {
 | 
				
			|||||||
		return cli.Exit("Command mkdir requires one or more arguments", 1)
 | 
							return cli.Exit("Command mkdir requires one or more arguments", 1)
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	err := client.Mkdir(c.Context, c.Args().Slice()...)
 | 
						var err error
 | 
				
			||||||
 | 
						if c.Bool("parents") {
 | 
				
			||||||
 | 
							err = client.MkdirAll(c.Context, c.Args().Slice()...)
 | 
				
			||||||
 | 
						} else {
 | 
				
			||||||
 | 
							err = client.Mkdir(c.Context, c.Args().Slice()...)
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
	if err != nil {
 | 
						if err != nil {
 | 
				
			||||||
		return err
 | 
							return err
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
@@ -109,7 +114,12 @@ func fsRemove(c *cli.Context) error {
 | 
				
			|||||||
		return cli.Exit("Command remove requires one or more arguments", 1)
 | 
							return cli.Exit("Command remove requires one or more arguments", 1)
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	err := client.Remove(c.Context, c.Args().Slice()...)
 | 
						var err error
 | 
				
			||||||
 | 
						if c.Bool("recursive") {
 | 
				
			||||||
 | 
							err = client.RemoveAll(c.Context, c.Args().Slice()...)
 | 
				
			||||||
 | 
						} else {
 | 
				
			||||||
 | 
							err = client.Remove(c.Context, c.Args().Slice()...)
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
	if err != nil {
 | 
						if err != nil {
 | 
				
			||||||
		return err
 | 
							return err
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -77,6 +77,13 @@ func main() {
 | 
				
			|||||||
						Action:    fsList,
 | 
											Action:    fsList,
 | 
				
			||||||
					},
 | 
										},
 | 
				
			||||||
					{
 | 
										{
 | 
				
			||||||
 | 
											Flags: []cli.Flag{
 | 
				
			||||||
 | 
												&cli.BoolFlag{
 | 
				
			||||||
 | 
													Name:    "parents",
 | 
				
			||||||
 | 
													Aliases: []string{"p"},
 | 
				
			||||||
 | 
													Usage:   "Make parent directories if needed, no error if already existing",
 | 
				
			||||||
 | 
												},
 | 
				
			||||||
 | 
											},
 | 
				
			||||||
						Name:      "mkdir",
 | 
											Name:      "mkdir",
 | 
				
			||||||
						ArgsUsage: "<paths...>",
 | 
											ArgsUsage: "<paths...>",
 | 
				
			||||||
						Usage:     "Create new directories",
 | 
											Usage:     "Create new directories",
 | 
				
			||||||
@@ -97,6 +104,13 @@ func main() {
 | 
				
			|||||||
						Action:      fsRead,
 | 
											Action:      fsRead,
 | 
				
			||||||
					},
 | 
										},
 | 
				
			||||||
					{
 | 
										{
 | 
				
			||||||
 | 
											Flags: []cli.Flag{
 | 
				
			||||||
 | 
												&cli.BoolFlag{
 | 
				
			||||||
 | 
													Name:    "recursive",
 | 
				
			||||||
 | 
													Aliases: []string{"r", "R"},
 | 
				
			||||||
 | 
													Usage:   "Remove directories and their contents recursively",
 | 
				
			||||||
 | 
												},
 | 
				
			||||||
 | 
											},
 | 
				
			||||||
						Name:      "remove",
 | 
											Name:      "remove",
 | 
				
			||||||
						ArgsUsage: "<paths...>",
 | 
											ArgsUsage: "<paths...>",
 | 
				
			||||||
						Aliases:   []string{"rm"},
 | 
											Aliases:   []string{"rm"},
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										22
									
								
								socket.go
									
									
									
									
									
								
							
							
						
						
									
										22
									
								
								socket.go
									
									
									
									
									
								
							@@ -293,6 +293,17 @@ type FS struct {
 | 
				
			|||||||
	fs  *blefs.FS
 | 
						fs  *blefs.FS
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (fs *FS) RemoveAll(_ *server.Context, paths []string) error {
 | 
				
			||||||
 | 
						fs.updateFS()
 | 
				
			||||||
 | 
						for _, path := range paths {
 | 
				
			||||||
 | 
							err := fs.fs.RemoveAll(path)
 | 
				
			||||||
 | 
							if err != nil {
 | 
				
			||||||
 | 
								return err
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						return nil
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
func (fs *FS) Remove(_ *server.Context, paths []string) error {
 | 
					func (fs *FS) Remove(_ *server.Context, paths []string) error {
 | 
				
			||||||
	fs.updateFS()
 | 
						fs.updateFS()
 | 
				
			||||||
	for _, path := range paths {
 | 
						for _, path := range paths {
 | 
				
			||||||
@@ -309,6 +320,17 @@ func (fs *FS) Rename(_ *server.Context, paths [2]string) error {
 | 
				
			|||||||
	return fs.fs.Rename(paths[0], paths[1])
 | 
						return fs.fs.Rename(paths[0], paths[1])
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (fs *FS) MkdirAll(_ *server.Context, paths []string) error {
 | 
				
			||||||
 | 
						fs.updateFS()
 | 
				
			||||||
 | 
						for _, path := range paths {
 | 
				
			||||||
 | 
							err := fs.fs.MkdirAll(path)
 | 
				
			||||||
 | 
							if err != nil {
 | 
				
			||||||
 | 
								return err
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						return nil
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
func (fs *FS) Mkdir(_ *server.Context, paths []string) error {
 | 
					func (fs *FS) Mkdir(_ *server.Context, paths []string) error {
 | 
				
			||||||
	fs.updateFS()
 | 
						fs.updateFS()
 | 
				
			||||||
	for _, path := range paths {
 | 
						for _, path := range paths {
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user