% % download registrations from cloud % % stack: shooter-num % % process shooter cloud registration files % dup !clun empty !builder % % process the latest reg tree file listing for shooter % ^_Clup.RegP &_Clup.RegS &"*.msg" !wilder _Clup.Storage empty { nextfile ? % % delete all but the most current report of reg tree % _builder any? { del } if filing !builder } loop filing) false !nReging false !nStarring false !nNewing false !nDoneing false !nEndring false !nFilring false !Reging false !Starring false !Newing false !Doneing false !Endring false !Filring % % process all the venues for the shooter % empty !VenPrev _builder any? "hasbuilder" log)( { empty "x/None/xx_xx.txt" rot read execstr { "fproc" log)( isnull ? dup "/" right$ "/" slice exch % % stack: empty [ . . . reg-tree-file ] file-of-venue venue % % add the venue to the list of venues % dup "None" eq$ { % % don't put none in the lookup % } { "_Venues_" &_clun text_bin second lookstr? { "_Venues_" &_clun text!bin } if } ifelse !Venue % % stack: empty [ . . . reg-tree-file ] file-of-venue % "_" left$ % % stack: empty [ . . . reg-tree-file ] file-prefix % "fplook " &_Venue log)( _Venue _VenPrev eq$ % % stack: empty [ . . . reg-tree-file ] file-prefix venue-equal % { % % same venue, keep tallying % } { % % venue has changed, post the changed-status flag % _VenPrev any)? { % % add the venue to the list of venues % empty "nFilring" sval "nReging" sval "nStarring" sval "nDoneing" sval "nNewing" sval "nEndring" sval false !nReging false !nStarring false !nNewing false !nDoneing false !nEndring false !nFilring "_Venstat_" &_VenPrev &_clun text*bin "_Venstat_" &_VenPrev &_clun text!bin } if empty !RegFile "_Reg" &_Venue &_clun text*bin true !Reging empty !StartFile "_Start" &_Venue &_clun text*bin true !Starring empty !NewFile "_New" &_Venue &_clun text*bin true !Newing empty !DoneFile "_Done" &_Venue &_clun text*bin true !Doneing empty !EndFile "_End" &_Venue &_clun text*bin true !Endring empty !FileFile "_File" &_Venue &_clun text*bin true !Filring _Venue !VenPrev } ifelse % % stack: empty [ . . . reg-tree-file ] file-prefix % % % stack: empty [ . . . reg-tree-file ] file-prefix % process the prior file comparison for the venue/shooter % < |CurReg _Reging { _RegFile 2 copy ne$ { second quoter &" !RegFile" &; "_Reg" &_Venue &_clun text!bin true !nReging } if false !Reging pop } if pop |OPstart _Starring { _StartFile 2 copy ne$ { second quoter &" !StartFile" &; "_Start" &_Venue &_clun text!bin true !nStarring } if false !Starring pop } if pop |OPdone _Doneing { _DoneFile 2 copy ne$ { second quoter &" !DoneFile" &; "_Done" &_Venue &_clun text!bin true !nDoneing } if false !Doneing pop } if pop |OPend _Endring { _EndFile 2 copy ne$ { second quoter &" !EndFile" &; "_End" &_Venue &_clun text!bin true !nEndring } if false !Endring pop } if pop |OPnew _Newing { _NewFile 2 copy ne$ { second quoter &" !NewFile" &; "_New" &_Venue &_clun text!bin true !nNewing } if false !Newing pop } if pop |Filed _Filring { _FileFile 2 copy ne$ { second quoter &" !FileFile" &; "_File" &_Venue &_clun text!bin true !nFilring } if false !Filring pop } if % % add the filed timestamp to the master shooter list % "_Shots_" &_clun text_bin second term2 lookstr? { _Venue quoter &" !Venue" &; & second quoter &" !Filed" &; & "_Shots_" &_clun text!bin } if pop > not { pop } if } loop pop } if false !Clup.Active "&&&&&>>> P" log#