@@ -12,14 +12,17 @@ import (
1212)
1313
1414type 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"
1517 base , sub string
1618}
1719
1820func (td * TempDir ) JoinPath (elems ... string ) string {
1921 return filepath .Join (append ([]string {td .base , td .sub }, elems ... )... )
2022}
2123
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 ) {
2326 if _ , err := os .Stat (td .base ); err != nil {
2427 return "" , err
2528 }
@@ -41,6 +44,7 @@ func (td *TempDir) prepareDirWithPattern(elems ...string) (dir, pattern string,
4144 return dir , pattern , nil
4245}
4346
47+ // MkdirTempRandom works like os.MkdirTemp, the last path field is the "pattern"
4448func (td * TempDir ) MkdirTempRandom (elems ... string ) (string , func (), error ) {
4549 dir , pattern , err := td .prepareDirWithPattern (elems ... )
4650 if err != nil {
@@ -57,6 +61,7 @@ func (td *TempDir) MkdirTempRandom(elems ...string) (string, func(), error) {
5761 }, nil
5862}
5963
64+ // CreateTempFileRandom works like os.CreateTemp, the last path field is the "pattern"
6065func (td * TempDir ) CreateTempFileRandom (elems ... string ) (* os.File , func (), error ) {
6166 dir , pattern , err := td .prepareDirWithPattern (elems ... )
6267 if err != nil {
0 commit comments