01: # -*- python -*- 02: ###### comment.py ###### python package PyScore.tabulate module comment ###### 03: 04: # PyScore 05: # a race scoring programme 06: # written by Matt Draisey 07: # 2004 April 6 08: 09: ###### comment.py ###### python package PyScore.tabulate module comment ###### 10: 11: """ 12: Data Types: 13: Strings 14: Numbers 15: Enumerations: 16: SeriesEnum 17: DivisionsEnum 18: FleetEnum 19: FinishConditionsEnum 20: 21: Data is stored in a relation identified by its key. Keys can be considered 22: either simply as an identity in a relational model, or as objects contained in 23: a list which actually hold the data, as is the actual implementation. 24: Additional data columns of data are adjoined to a key by object attribution. 25: If the additional column happens to be a foreign key, all the data associated 26: with that key is immediately available by its object attributes. 27: 28: Performing genuine relational joins is rarely necessary. The relational model 29: serves as a mental model to keep the programming honest. 30: 31: Given Keys/Relations: 32: Boat 33: sailnumber boatname boattype OwnerEntry 34: Configuration 35: BoatEntry SeriesName configname rating 36: DivisionName==DivisionEnum 37: 38: Working Keys/Relations: 39: 40: RaceSheetEntry 41: RaceName number date scheduledtime distance 42: StartSheetEntry 43: RaceSheetEntry DivisionName 44: starttime effectivedistance timelimit ... 45: HandicapSheetEntry 46: StartSheetEntry/RaceSheetEntry 47: BoatEntry ConfigurationEntry effectiverating 48: FinishConditionsEnum finishtime 49: OverrideSheetEntry 50: StartSheetEntry/RaceSheetEntry 51: BoatEntry ConfigurationEntry effectiverating 52: FinishConditionsEnum finishtime/seriespoints 53: RCSheetEntry 54: RaceSheetEntry 55: BoatEntry 56: 57: SeriesEntry 58: SeriesName ... 59: SeriesDivisionEntry 60: SeriesEntry DivisionName ... 61: SeriesScoreEntry 62: SeriesDivision BoatEntry ... 63: 64: ChampionshipEntry 65: ChampionshipName ... 66: ChampionshipDivisionEntry 67: ChampionshipEntry DivisionName ... 68: ChampionshipScoreEntry 69: ChampionshipDivision BoatEntry ... 70: 71: CasualEntry 72: CasualName ... 73: MidFleetScoreEntry 74: CasualEntry BoatEntry ... 75: """ 76: 77: ###### comment.py ###### python package PyScore.tabulate module comment ######