コード例 #1
0
ファイル: roadmeet.py プロジェクト: rijilks/scbdo
    def loadconfig(self):

        #!! FIX !! -> loading distance
        #-> loading/saving uscbsrv port
        #-> defaults for uscbsrv
        #-> default timy port should be ''
        """Load meet config from disk."""
        cr = ConfigParser.ConfigParser({
            'maintimer': '',
            'rfunit': wheeltime.WHEELIP,
            'resultcats': 'No',
            'resultbibs': 'Yes',
            'distance': '1.0',
            'docindex': '0',
            'line1': '',
            'line2': '',
            'line3': '',
            'uscbsrv': '',
            'uscbchan': '#announce',
            'uscbopt': 'No',
            'logos': ''
        })
        cr.add_section('meet')
        cwfilename = os.path.join(self.configpath, 'config')

        # re-set main log file
        if self.loghandler is not None:
            self.log.removeHandler(self.loghandler)
            self.loghandler.close()
            self.loghandler = None
        self.loghandler = logging.FileHandler(
            os.path.join(self.configpath, 'log'))
        self.loghandler.setLevel(LOGHANDLER_LEVEL)
        self.loghandler.setFormatter(
            logging.Formatter(
                '%(asctime)s %(levelname)s:%(name)s: %(message)s'))
        self.log.addHandler(self.loghandler)

        # setup scratchpad? for later thought with load/save/prev/next
        self.find_next_scratchfile()
        self.log.info('Initialised scratchpad #' + str(self.scratch_idx))

        # check for config file
        try:
            a = len(cr.read(cwfilename))
            if a == 0:
                self.log.warn('No config file - loading default values.')
        except e:
            self.log.error('Error reading meet config: ' + str(e))

        # set timer port
        nport = cr.get('meet', 'maintimer')
        if nport != self.timer_port:
            self.timer_port = nport
            self.timer.setport(nport)
            self.timer.sane()

        # set rfunit addr
        nport = cr.get('meet', 'rfunit')
        if nport != self.rfu_addr:
            self.rfu_addr = nport
            self.rfu.setaddr(nport)

        # set meet meta infos, and then copy into text entries
        self.line1 = cr.get('meet', 'line1')
        self.line2 = cr.get('meet', 'line2')
        self.line3 = cr.get('meet', 'line3')
        self.logos = cr.get('meet', 'logos')
        self.set_title()

        # result options
        self.bibs_in_results = strops.confopt_bool(cr.get(
            'meet', 'resultbibs'))
        self.cats_in_results = strops.confopt_bool(cr.get(
            'meet', 'resultcats'))

        # race length
        self.distance = strops.confopt_dist(cr.get('meet', 'distance'), 20)

        # document id
        self.docindex = strops.confopt_dist(cr.get('meet', 'docindex'), 0)

        self.rdb.clear()
        self.edb.clear()
        self.rdb.load(os.path.join(self.configpath, 'riders.csv'))
        self.edb.load(os.path.join(self.configpath, 'events.csv'))
        event = self.edb.getevent()
        if event is None:  # add a new event to the model
            event = self.edb.editevent(num='00', etype=self.etype)
        self.open_event(event)  # always open on load if posible

        # restore printer preferences
        psfilename = os.path.join(self.configpath, 'print.prf')
        if os.path.isfile(psfilename):
            try:
                self.printprefs.load_file(psfilename)
            except:
                self.log.warn('Error loading print preferences.')
コード例 #2
0
ファイル: roadtt.py プロジェクト: rijilks/scbdo
    def loadconfig(self):
        """Load meet config from disk."""
        cr = ConfigParser.ConfigParser(
            {
                "maintimer": timy.MAINPORT,
                "rfunit": wheeltime.WHEELIP,
                "resultcats": "No",
                "resultbibs": "Yes",
                "distance": "20",
                "line1": "",
                "line2": "",
                "line3": "",
                "logos": "",
            }
        )
        cr.add_section("meet")
        cwfilename = os.path.join(self.configpath, "config")

        # re-set main log file
        if self.loghandler is not None:
            self.log.removeHandler(self.loghandler)
            self.loghandler.close()
            self.loghandler = None
        self.loghandler = logging.FileHandler(os.path.join(self.configpath, "log"))
        self.loghandler.setLevel(LOGHANDLER_LEVEL)
        self.loghandler.setFormatter(logging.Formatter("%(asctime)s %(levelname)s:%(name)s: %(message)s"))
        self.log.addHandler(self.loghandler)

        # check for config file
        try:
            a = len(cr.read(cwfilename))
            if a == 0:
                self.log.warn("No config file found - loading default values.")
        except e:
            self.log.error("Error reading meet config: " + str(e))

        # set timer port
        nport = cr.get("meet", "maintimer")
        if nport != self.timer_port:
            self.timer_port = nport
            self.timer.setport(nport)
            self.timer.sane()

        # set rfunit addr
        nport = cr.get("meet", "rfunit")
        if nport != self.rfu_addr:
            self.rfu_addr = nport
            self.rfu.setaddr(nport)

        # set meet meta infos, and then copy into text entries
        self.line1 = cr.get("meet", "line1")
        self.line2 = cr.get("meet", "line2")
        self.line3 = cr.get("meet", "line3")
        self.logos = cr.get("meet", "logos")
        self.set_title()

        # result options
        self.bibs_in_results = strops.confopt_bool(cr.get("meet", "resultbibs"))
        self.cats_in_results = strops.confopt_bool(cr.get("meet", "resultcats"))

        # race length
        self.distance = strops.confopt_dist(cr.get("meet", "distance"), 20)

        self.rdb.clear()
        self.edb.clear()
        self.rdb.load(os.path.join(self.configpath, "riders.csv"))
        self.edb.load(os.path.join(self.configpath, "events.csv"))
        tt_event = self.edb.getevent("tt")
        if tt_event is None:  # add a new event to the model
            tt_event = self.edb.editevent(num="tt", etype="irtt")
        self.open_event(tt_event)  # always open on load if possible
コード例 #3
0
ファイル: race.py プロジェクト: gusgollings/scbdo
    def loadconfig(self):
        """Load race config from disk."""
        self.riders.clear()
        # set defaults timetype based on event type
        deftimetype = 'start/finish'
        defdistance = ''
        defdistunits = 'laps'
        if self.evtype in ['sprint', 'keirin']:
            deftimetype = '200m'
            defdistunits = 'metres'
            defdistance = '200'
        cr = ConfigParser.ConfigParser({'startlist':'',
                                        'ctrl_places':'',
                                        'start':'',
                                        'lstart':'',
                                        'finish':'',
					'distance':defdistance,
					'distunits':defdistunits,
                                        'topn_places':'0',
                                        'topn_event':'',
                                        'showinfo':'Yes',
                                        'timetype':deftimetype})
        cr.add_section('race')
        cr.add_section('riders')
        if os.path.isfile(self.configpath):
            self.log.debug('Attempting to read race config from path='
                           + repr(self.configpath))
            cr.read(self.configpath)
        for r in cr.get('race', 'startlist').split():
            nr=[r, '', '', '', '', False, '']
            if cr.has_option('riders', r):
                ril = csv.reader([cr.get('riders', r)]).next()
                for i in range(0,6):
                    if len(ril) > i:
                        nr[i+1] = ril[i].strip()
                # Re-patch names if all null and in dbr
                if (nr[COL_FIRSTNAME] == ''
                     and nr[COL_LASTNAME] == ''
                     and nr[COL_CLUB] == ''):
                    dbr = self.meet.rdb.getrider(r, self.series)
                    if dbr is not None:
                        for i in range(1,4):
                            nr[i] = self.meet.rdb.getvalue(dbr, i)
            else:
                dbr = self.meet.rdb.getrider(r, self.series)
                if dbr is not None:
                    for i in range(1,4):
                        nr[i] = self.meet.rdb.getvalue(dbr, i)
            self.riders.append(nr)

        # race infos
        self.set_timetype(cr.get('race', 'timetype'))
        self.distance = strops.confopt_dist(cr.get('race', 'distance'))
        self.units = strops.confopt_distunits(cr.get('race', 'distunits'))
        self.topn_places = strops.confopt_dist(cr.get('race', 'topn_places'), 0)
        self.topn_event = cr.get('race', 'topn_event')
        self.info_expand.set_expanded(strops.confopt_bool(
                                       cr.get('race', 'showinfo')))
        self.set_start(cr.get('race', 'start'), cr.get('race', 'lstart'))
        self.set_finish(cr.get('race', 'finish'))
        self.set_elapsed()
        places = strops.reformat_placelist(cr.get('race', 'ctrl_places'))
        self.ctrl_places.set_text(places)
        self.placexfer(places)
        if places:
            self.setfinished()
コード例 #4
0
ファイル: roadmeet.py プロジェクト: gusgollings/scbdo
    def loadconfig(self):

#!! FIX !! -> loading distance
	  #-> loading/saving uscbsrv port
	  #-> defaults for uscbsrv
	  #-> default timy port should be ''

        """Load meet config from disk."""
        cr = ConfigParser.ConfigParser({'maintimer':'',
                                        'rfunit':wheeltime.WHEELIP,
                                        'resultcats':'No',
					'resultbibs':'Yes',
                                        'distance':'1.0',
                                        'docindex':'0',
                                        'line1':'',
                                        'line2':'',
                                        'line3':'',
                                        'uscbsrv':'',
                                        'uscbchan':'#announce',
                                        'uscbopt':'No',
                                        'logos':''})
        cr.add_section('meet')
        cwfilename = os.path.join(self.configpath, 'config')

        # re-set main log file
        if self.loghandler is not None:
            self.log.removeHandler(self.loghandler)
            self.loghandler.close()
            self.loghandler = None
        self.loghandler = logging.FileHandler(
                             os.path.join(self.configpath, 'log'))
        self.loghandler.setLevel(LOGHANDLER_LEVEL)
        self.loghandler.setFormatter(logging.Formatter(
                       '%(asctime)s %(levelname)s:%(name)s: %(message)s'))
        self.log.addHandler(self.loghandler)

        # setup scratchpad? for later thought with load/save/prev/next
        self.find_next_scratchfile()
        self.log.info('Initialised scratchpad #' + str(self.scratch_idx))

        # check for config file
        try:
            a = len(cr.read(cwfilename))
            if a == 0:
                self.log.warn('No config file - loading default values.')
        except e:
            self.log.error('Error reading meet config: ' + str(e))

        # set timer port
        nport = cr.get('meet', 'maintimer')
        if nport != self.timer_port:
            self.timer_port = nport
            self.timer.setport(nport)
            self.timer.sane()

        # set rfunit addr
        nport = cr.get('meet', 'rfunit')
        if nport != self.rfu_addr:
            self.rfu_addr = nport
            self.rfu.setaddr(nport)

        # set meet meta infos, and then copy into text entries
        self.line1 = cr.get('meet', 'line1')
        self.line2 = cr.get('meet', 'line2')
        self.line3 = cr.get('meet', 'line3')
        self.logos = cr.get('meet', 'logos')
        self.set_title()

        # result options
        self.bibs_in_results = strops.confopt_bool(
                                        cr.get('meet', 'resultbibs'))
        self.cats_in_results = strops.confopt_bool(
                                        cr.get('meet', 'resultcats'))

        # race length
        self.distance = strops.confopt_dist(cr.get('meet', 'distance'), 20)

        # document id
        self.docindex = strops.confopt_dist(cr.get('meet', 'docindex'), 0)

        self.rdb.clear()
        self.edb.clear()
        self.rdb.load(os.path.join(self.configpath, 'riders.csv'))
        self.edb.load(os.path.join(self.configpath, 'events.csv'))
        event = self.edb.getevent()
        if event is None:	# add a new event to the model
            event = self.edb.editevent(num='00', etype=self.etype)
        self.open_event(event) # always open on load if posible

        # restore printer preferences
        psfilename = os.path.join(self.configpath, 'print.prf')
        if os.path.isfile(psfilename):
            try:
                self.printprefs.load_file(psfilename)
            except:
                self.log.warn('Error loading print preferences.')
コード例 #5
0
    def loadconfig(self):
        """Load race config from disk."""
        self.riders.clear()
        # set defaults timetype based on event type
        deftimetype = 'start/finish'
        defdistance = ''
        defdistunits = 'laps'
        if self.evtype in ['sprint', 'keirin']:
            deftimetype = '200m'
            defdistunits = 'metres'
            defdistance = '200'
        cr = ConfigParser.ConfigParser({
            'startlist': '',
            'ctrl_places': '',
            'start': '',
            'lstart': '',
            'finish': '',
            'distance': defdistance,
            'distunits': defdistunits,
            'topn_places': '0',
            'topn_event': '',
            'showinfo': 'Yes',
            'timetype': deftimetype
        })
        cr.add_section('race')
        cr.add_section('riders')
        if os.path.isfile(self.configpath):
            self.log.debug('Attempting to read race config from path=' +
                           repr(self.configpath))
            cr.read(self.configpath)
        for r in cr.get('race', 'startlist').split():
            nr = [r, '', '', '', '', False, '']
            if cr.has_option('riders', r):
                ril = csv.reader([cr.get('riders', r)]).next()
                for i in range(0, 6):
                    if len(ril) > i:
                        nr[i + 1] = ril[i].strip()
                # Re-patch names if all null and in dbr
                if (nr[COL_FIRSTNAME] == '' and nr[COL_LASTNAME] == ''
                        and nr[COL_CLUB] == ''):
                    dbr = self.meet.rdb.getrider(r, self.series)
                    if dbr is not None:
                        for i in range(1, 4):
                            nr[i] = self.meet.rdb.getvalue(dbr, i)
            else:
                dbr = self.meet.rdb.getrider(r, self.series)
                if dbr is not None:
                    for i in range(1, 4):
                        nr[i] = self.meet.rdb.getvalue(dbr, i)
            self.riders.append(nr)

        # race infos
        self.set_timetype(cr.get('race', 'timetype'))
        self.distance = strops.confopt_dist(cr.get('race', 'distance'))
        self.units = strops.confopt_distunits(cr.get('race', 'distunits'))
        self.topn_places = strops.confopt_dist(cr.get('race', 'topn_places'),
                                               0)
        self.topn_event = cr.get('race', 'topn_event')
        self.info_expand.set_expanded(
            strops.confopt_bool(cr.get('race', 'showinfo')))
        self.set_start(cr.get('race', 'start'), cr.get('race', 'lstart'))
        self.set_finish(cr.get('race', 'finish'))
        self.set_elapsed()
        places = strops.reformat_placelist(cr.get('race', 'ctrl_places'))
        self.ctrl_places.set_text(places)
        self.placexfer(places)
        if places:
            self.setfinished()
コード例 #6
0
ファイル: roadtt.py プロジェクト: rijilks/scbdo
    def loadconfig(self):
        """Load meet config from disk."""
        cr = ConfigParser.ConfigParser({
            'maintimer': timy.MAINPORT,
            'rfunit': wheeltime.WHEELIP,
            'resultcats': 'No',
            'resultbibs': 'Yes',
            'distance': '20',
            'line1': '',
            'line2': '',
            'line3': '',
            'logos': ''
        })
        cr.add_section('meet')
        cwfilename = os.path.join(self.configpath, 'config')

        # re-set main log file
        if self.loghandler is not None:
            self.log.removeHandler(self.loghandler)
            self.loghandler.close()
            self.loghandler = None
        self.loghandler = logging.FileHandler(
            os.path.join(self.configpath, 'log'))
        self.loghandler.setLevel(LOGHANDLER_LEVEL)
        self.loghandler.setFormatter(
            logging.Formatter(
                '%(asctime)s %(levelname)s:%(name)s: %(message)s'))
        self.log.addHandler(self.loghandler)

        # check for config file
        try:
            a = len(cr.read(cwfilename))
            if a == 0:
                self.log.warn('No config file found - loading default values.')
        except e:
            self.log.error('Error reading meet config: ' + str(e))

        # set timer port
        nport = cr.get('meet', 'maintimer')
        if nport != self.timer_port:
            self.timer_port = nport
            self.timer.setport(nport)
            self.timer.sane()

        # set rfunit addr
        nport = cr.get('meet', 'rfunit')
        if nport != self.rfu_addr:
            self.rfu_addr = nport
            self.rfu.setaddr(nport)

        # set meet meta infos, and then copy into text entries
        self.line1 = cr.get('meet', 'line1')
        self.line2 = cr.get('meet', 'line2')
        self.line3 = cr.get('meet', 'line3')
        self.logos = cr.get('meet', 'logos')
        self.set_title()

        # result options
        self.bibs_in_results = strops.confopt_bool(cr.get(
            'meet', 'resultbibs'))
        self.cats_in_results = strops.confopt_bool(cr.get(
            'meet', 'resultcats'))

        # race length
        self.distance = strops.confopt_dist(cr.get('meet', 'distance'), 20)

        self.rdb.clear()
        self.edb.clear()
        self.rdb.load(os.path.join(self.configpath, 'riders.csv'))
        self.edb.load(os.path.join(self.configpath, 'events.csv'))
        tt_event = self.edb.getevent('tt')
        if tt_event is None:  # add a new event to the model
            tt_event = self.edb.editevent(num='tt', etype='irtt')
        self.open_event(tt_event)  # always open on load if possible