@@ -41,56 +41,86 @@ func rcBisync(ctx context.Context, in rc.Params) (out rc.Params, err error) {
4141 }
4242
4343 if opt .Resync , err = in .GetBool ("resync" ); rc .NotErrParamNotFound (err ) {
44- return
44+ fs . Debugf ( "resync" , "optional parameter is missing. using default value: %v" , opt . Resync )
4545 }
4646 if opt .CheckAccess , err = in .GetBool ("checkAccess" ); rc .NotErrParamNotFound (err ) {
47- return
47+ fs . Debugf ( "checkAccess" , "optional parameter is missing. using default value: %v" , opt . CheckAccess )
4848 }
4949 if opt .Force , err = in .GetBool ("force" ); rc .NotErrParamNotFound (err ) {
50- return
50+ fs . Debugf ( "force" , "optional parameter is missing. using default value: %v" , opt . Force )
5151 }
5252 if opt .CreateEmptySrcDirs , err = in .GetBool ("createEmptySrcDirs" ); rc .NotErrParamNotFound (err ) {
53- return
53+ fs . Debugf ( "createEmptySrcDirs" , "optional parameter is missing. using default value: %v" , opt . CreateEmptySrcDirs )
5454 }
5555 if opt .RemoveEmptyDirs , err = in .GetBool ("removeEmptyDirs" ); rc .NotErrParamNotFound (err ) {
56- return
56+ fs . Debugf ( "removeEmptyDirs" , "optional parameter is missing. using default value: %v" , opt . RemoveEmptyDirs )
5757 }
5858 if opt .NoCleanup , err = in .GetBool ("noCleanup" ); rc .NotErrParamNotFound (err ) {
59- return
59+ fs . Debugf ( "noCleanup" , "optional parameter is missing. using default value: %v" , opt . NoCleanup )
6060 }
6161 if opt .IgnoreListingChecksum , err = in .GetBool ("ignoreListingChecksum" ); rc .NotErrParamNotFound (err ) {
62- return
62+ fs . Debugf ( "ignoreListingChecksum" , "optional parameter is missing. using default value: %v" , opt . IgnoreListingChecksum )
6363 }
6464 if opt .Resilient , err = in .GetBool ("resilient" ); rc .NotErrParamNotFound (err ) {
65- return
65+ fs . Debugf ( "resilient" , "optional parameter is missing. using default value: %v" , opt . Resilient )
6666 }
67-
6867 if opt .CheckFilename , err = in .GetString ("checkFilename" ); rc .NotErrParamNotFound (err ) {
69- return
68+ opt .CheckFilename = DefaultCheckFilename
69+ fs .Debugf ("checkFilename" , "optional parameter is missing. using default value: %v" , opt .CheckFilename )
7070 }
7171 if opt .FiltersFile , err = in .GetString ("filtersFile" ); rc .NotErrParamNotFound (err ) {
72- return
72+ fs . Debugf ( "filtersFile" , "optional parameter is missing. using default value: %v" , opt . FiltersFile )
7373 }
7474 if opt .Workdir , err = in .GetString ("workdir" ); rc .NotErrParamNotFound (err ) {
75- return
75+ // "" sets correct default later
76+ fs .Debugf ("workdir" , "optional parameter is missing. using default value: %v" , opt .Workdir )
7677 }
77- if opt .BackupDir1 , err = in .GetString ("backupdir1" ); rc .NotErrParamNotFound (err ) {
78- return
78+ if opt .BackupDir1 , err = in .GetString ("backupDir1" ); rc .NotErrParamNotFound (err ) {
79+ // we accept an alternate capitalization here for backward compatibility.
80+ if opt .BackupDir1 , err = in .GetString ("backupdir1" ); rc .NotErrParamNotFound (err ) {
81+ fs .Debugf ("backupDir1" , "optional parameter is missing. using default value: %v" , opt .BackupDir1 )
82+ }
7983 }
80- if opt .BackupDir2 , err = in .GetString ("backupdir2" ); rc .NotErrParamNotFound (err ) {
81- return
84+ if opt .BackupDir2 , err = in .GetString ("backupDir2" ); rc .NotErrParamNotFound (err ) {
85+ // we accept an alternate capitalization here for backward compatibility.
86+ if opt .BackupDir2 , err = in .GetString ("backupdir2" ); rc .NotErrParamNotFound (err ) {
87+ fs .Debugf ("backupDir2" , "optional parameter is missing. using default value: %v" , opt .BackupDir2 )
88+ }
8289 }
83-
84- checkSync , err := in .GetString ("checkSync" )
85- if rc .NotErrParamNotFound (err ) {
90+ if err = setEnum (in , "checkSync" , "true" , opt .CheckSync .Set ); err != nil {
8691 return nil , err
8792 }
88- if checkSync == "" {
89- checkSync = "true"
93+ if err = setEnum ( in , "resyncMode" , opt . ResyncMode . String (), opt . ResyncMode . Set ); err != nil {
94+ return nil , err
9095 }
91- if err := opt .CheckSync . Set ( checkSync ); err != nil {
96+ if err = setEnum ( in , "conflictResolve" , opt .ConflictResolve . String (), opt . ConflictResolve . Set ); err != nil {
9297 return nil , err
9398 }
99+ if err = setEnum (in , "conflictLoser" , opt .ConflictLoser .String (), opt .ConflictLoser .Set ); err != nil {
100+ return nil , err
101+ }
102+ if opt .ConflictSuffixFlag , err = in .GetString ("conflictSuffix" ); rc .NotErrParamNotFound (err ) {
103+ fs .Debugf ("conflictSuffix" , "optional parameter is missing. using default value: %v" , opt .ConflictSuffixFlag )
104+ }
105+ if opt .Recover , err = in .GetBool ("recover" ); rc .NotErrParamNotFound (err ) {
106+ fs .Debugf ("recover" , "optional parameter is missing. using default value: %v" , opt .Recover )
107+ }
108+ if opt .CompareFlag , err = in .GetString ("compare" ); rc .NotErrParamNotFound (err ) {
109+ fs .Debugf ("compare" , "optional parameter is missing. using default value: %v" , opt .CompareFlag )
110+ }
111+ if opt .Compare .NoSlowHash , err = in .GetBool ("noSlowHash" ); rc .NotErrParamNotFound (err ) {
112+ fs .Debugf ("noSlowHash" , "optional parameter is missing. using default value: %v" , opt .Compare .NoSlowHash )
113+ }
114+ if opt .Compare .SlowHashSyncOnly , err = in .GetBool ("slowHashSyncOnly" ); rc .NotErrParamNotFound (err ) {
115+ fs .Debugf ("slowHashSyncOnly" , "optional parameter is missing. using default value: %v" , opt .Compare .SlowHashSyncOnly )
116+ }
117+ if opt .Compare .DownloadHash , err = in .GetBool ("downloadHash" ); rc .NotErrParamNotFound (err ) {
118+ fs .Debugf ("downloadHash" , "optional parameter is missing. using default value: %v" , opt .Compare .DownloadHash )
119+ }
120+ if opt .MaxLock , err = in .GetFsDuration ("maxLock" ); rc .NotErrParamNotFound (err ) {
121+ opt .MaxLock = 0
122+ fs .Debugf ("maxLock" , "optional parameter is missing. using default value: %v" , opt .MaxLock )
123+ }
94124
95125 fs1 , err := rc .GetFsNamed (octx , in , "path1" )
96126 if err != nil {
@@ -108,3 +138,15 @@ func rcBisync(ctx context.Context, in rc.Params) (out rc.Params, err error) {
108138 _ , _ = log .Writer ().Write (output )
109139 return rc.Params {"output" : string (output )}, err
110140}
141+
142+ func setEnum (in rc.Params , name string , defaultVal string , set func (s string ) error ) error {
143+ v , err := in .GetString (name )
144+ if rc .NotErrParamNotFound (err ) || v == "" {
145+ v = defaultVal
146+ fs .Debugf (name , "optional parameter is missing. using default value: %v" , v )
147+ }
148+ if err := set (v ); err != nil {
149+ return err
150+ }
151+ return nil
152+ }
0 commit comments