@@ -12,14 +12,17 @@ import (
12
12
)
13
13
14
14
type TempDir struct {
15
+ // base is the base directory for temporary files, it must exist before accessing and won't be created automatically.
16
+ // for example: base="/system-tmpdir", sub="gitea-tmp"
15
17
base , sub string
16
18
}
17
19
18
20
func (td * TempDir ) JoinPath (elems ... string ) string {
19
21
return filepath .Join (append ([]string {td .base , td .sub }, elems ... )... )
20
22
}
21
23
22
- func (td * TempDir ) Mkdir (dir string ) (string , error ) {
24
+ // MkdirAllSub works like os.MkdirAll, but the base directory must exist
25
+ func (td * TempDir ) MkdirAllSub (dir string ) (string , error ) {
23
26
if _ , err := os .Stat (td .base ); err != nil {
24
27
return "" , err
25
28
}
@@ -41,6 +44,7 @@ func (td *TempDir) prepareDirWithPattern(elems ...string) (dir, pattern string,
41
44
return dir , pattern , nil
42
45
}
43
46
47
+ // MkdirTempRandom works like os.MkdirTemp, the last path field is the "pattern"
44
48
func (td * TempDir ) MkdirTempRandom (elems ... string ) (string , func (), error ) {
45
49
dir , pattern , err := td .prepareDirWithPattern (elems ... )
46
50
if err != nil {
@@ -57,6 +61,7 @@ func (td *TempDir) MkdirTempRandom(elems ...string) (string, func(), error) {
57
61
}, nil
58
62
}
59
63
64
+ // CreateTempFileRandom works like os.CreateTemp, the last path field is the "pattern"
60
65
func (td * TempDir ) CreateTempFileRandom (elems ... string ) (* os.File , func (), error ) {
61
66
dir , pattern , err := td .prepareDirWithPattern (elems ... )
62
67
if err != nil {
0 commit comments