当前位置: 首页>>代码示例>>Python>>正文


Python Event.create_from_str方法代码示例

本文整理汇总了Python中event.Event.create_from_str方法的典型用法代码示例。如果您正苦于以下问题:Python Event.create_from_str方法的具体用法?Python Event.create_from_str怎么用?Python Event.create_from_str使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在event.Event的用法示例。


在下文中一共展示了Event.create_from_str方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: ParsePersonalBestsTable

# 需要导入模块: from event import Event [as 别名]
# 或者: from event.Event import create_from_str [as 别名]
 def ParsePersonalBestsTable( swimmer, table, course_code, output ):
   for row in TableRows( table, pbs_headers_of_interest ):
     # The event as text is in row[3]
     event = Event.create_from_str( str( row[3] ), course_code )
     if event is None:
       logging.error( "Failed to parse event: " + str( row[3] ) + " " + course_code )
     else:
       swims.append( _create_swim( swimmer, event, row, output ) )
开发者ID:OliWright,项目名称:WinsfordASC,代码行数:10,代码来源:swim_parser.py

示例2: __init__

# 需要导入模块: from event import Event [as 别名]
# 或者: from event.Event import create_from_str [as 别名]
 def __init__(self, line):
   tokens = line.split( "|" )
   num_tokens = len( tokens )
   assert( (num_tokens == 2) or (num_tokens == 3) )
   
   self.event_code = Event.create_from_str( tokens[0], "S" ).get_short_course_event_code()
   self.time = float( RaceTime( tokens[1] ) )
   if num_tokens == 3:
     self.is_nt = (tokens[2] == 'nt\n')
   else:
     self.is_nt = False
开发者ID:OliWright,项目名称:ClubChamps,代码行数:13,代码来源:calculate_scores.py

示例3: _parse_spreadsheet_data

# 需要导入模块: from event import Event [as 别名]
# 或者: from event.Event import create_from_str [as 别名]
def _parse_spreadsheet_data( spreadsheet_data ):
  rows = spreadsheet_data.split( '\n' )

  num_events = len( short_course_events )
  nt_times_by_event = [ None ] * num_events
  
  for row in rows:
    columns = row.split( '\t' )
    # Parse the event name
    event_code = Event.create_from_str( columns[0], 'S' ).event_code
    if len( columns ) != 9:
      raise RuntimeError( "Unexpected number of columns in spreadsheet data" )
    nt_times_for_event = []
    nt_times_by_event[ event_code ] = nt_times_for_event
    for i in range( 1, 9 ):
      if len( columns[i] ) == 0:
        nt_times_for_event.append( None )
      else:
        nt_times_for_event.append( float( RaceTime( columns[i] ) ) )
  return nt_times_by_event
开发者ID:OliWright,项目名称:ClubChamps,代码行数:22,代码来源:nt_consideration_times.py

示例4: _parse_spreadsheet_data

# 需要导入模块: from event import Event [as 别名]
# 或者: from event.Event import create_from_str [as 别名]
def _parse_spreadsheet_data( spreadsheet_data ):
  rows = spreadsheet_data.split( '\n' )

  num_events = len( short_course_events )
  qt_by_event = [ None ] * num_events
  expected_num_columns = _max_age - _min_age + 2
  
  for row in rows:
    columns = row.split( '\t' )
    # Parse the event name
    event_code = Event.create_from_str( columns[0], 'S' ).event_code
    if len( columns ) != expected_num_columns:
      raise RuntimeError( "Unexpected number of columns in spreadsheet data" )
    qt_for_event = []
    qt_by_event[ event_code ] = qt_for_event
    for i in range( 1, expected_num_columns ):
      if len( columns[i] ) == 0:
        qt_for_event.append( None )
      else:
        qt_for_event.append( float( RaceTime( columns[i] ) ) )
  return qt_by_event
开发者ID:OliWright,项目名称:ClubChamps,代码行数:23,代码来源:qualifying_times.py

示例5: scrape_meet

# 需要导入模块: from event import Event [as 别名]
# 或者: from event.Event import create_from_str [as 别名]
def scrape_meet( asa_meet_code, page_number, meet_name, date, course_code ):
  logging.info( "Attempting to parse meet " + meet_name + ", meet code: " + str( asa_meet_code ) + ", page: " + str(page_number) )
  # Load a meet page from a URL like this...
  # https://www.swimmingresults.org/showmeetsbyclub/index.php?meetcode=19611&targetclub=WINNCHRN 
  url = "https://www.swimmingresults.org/showmeetsbyclub/index.php?meetcode=" + str( asa_meet_code ) + "&targetclub=WINNCHRN&page=" + str( page_number )
  page = helpers.FetchUrl( url )

  if page is None:
    logging.error( "Failed to get page " + url )
    return 503
  tree = html.fromstring( page )
  meet_has_been_parsed( asa_meet_code )
  try:
    table = tree.get_element_by_id( "rankTable" )
  except:
    logging.info( "No rankTable for " + url + ". Presuming no Winsford swimmers at that meet" )
    return
  
  if page_number == 1:
    # When scraping the first page, one of our jobs is to count how many other pages
    # there are and add tasks to scrape those pages
    num_pages = scrape_num_pages( tree )
    logging.info( "Meet contains " + str( num_pages ) + " pages ")
    date_str = date.strftime( "%d/%m/%y" )
    for i in range( 2, num_pages+1 ):
      logging.info( "Queing update of page " + str(i) + " of " + meet_name )
      taskqueue.add(url='/admin/scrape_meet', params={'asa_meet_code': str(asa_meet_code), 'meet_name' : meet_name, 'date' : date_str, 'course_code' : course_code, 'page' : str(i) })

  swimmers_checked = set()
  update_swimmer_list = False
  for row in TableRows( table, _meet_headers_of_interest ):
    # First we look at the swimmer.
    # Is it one we've already seen while scraping this meet, or is it a new one?
    # If it's a new one, is it a swimmer that's in our database?
    # Perhaps it's a swimmer that's in our database as Cat 1 and needs upgrading.
    asa_number = int( row[0].text )
    if asa_number not in swimmers_checked:
      swimmers_checked.add( asa_number )
      swimmer = Swimmer.get( "Winsford", asa_number )
      if swimmer is None:
        swimmer = SwimmerCat1.get( "Winsford", asa_number )
        if swimmer is None:
          # This looks like a new Winsford swimmer that isn't in the database
          # Add a task to add them
          logging.info( "Found new Winsford swimmer: " + str( asa_number ) + ". Adding task to scrape." )
          taskqueue.add(url='/admin/update_swimmers', params={'name_search': str(asa_number)})
          #QueueUpdateSwimsForSwimmer( str(asa_number) )
          update_swimmer_list = True
        else:
          # This is a swimmer that's in our database as Cat1
          # Add a task to upgrade them
          logging.info( "Found new Cat 2 Winsford swimmer: " + str( asa_number ) + ". Adding task to upgrade." )
          taskqueue.add(url='/admin/check_for_swimmer_upgrade', params={'asa_number': str(asa_number)})
          update_swimmer_list = True
      else:
        logging.info( "Found existing Winsford swimmer: " + swimmer.full_name() )

  if update_swimmer_list:
    taskqueue.add(url='/admin/update_swimmer_list')

  swims_for_swimmer = {}
  for row in TableRows( table, _meet_headers_of_interest ):
    # Now look at the actual swims.
    # If there's a swim link, then that means there are some splits. In those
    # cases we also add a task to parse the splits and add them to the Swim.
    asa_number = int( row[0].text )
    event_str = row[1].text
    date_of_birth = helpers.ParseDate_dmy( row[2].text )
    race_time = float( RaceTime( row[3].text ) )
    event = Event.create_from_str( event_str, course_code )
    asa_swim_id = get_asa_swim_id( row[3] )
      
    swim = Swim.create( asa_number, date_of_birth, event, date, meet_name, race_time, asa_swim_id )

    if asa_swim_id is not None:
      # Swim link. Add a task to parse the splits.
      swim_key_str = swim.create_swim_key_str()
      logging.info( "Adding split scraping task for swim " + swim_key_str )
      taskqueue.add(url='/admin/scrape_splits', params={'swim': swim_key_str})

    # Record this swim
    if asa_number not in swims_for_swimmer:
      swims_for_swimmer[ asa_number ] = [];
      
    swims_for_swimmer[ asa_number ].append( swim )
    
  for asa_number, swims in swims_for_swimmer.iteritems():
    num_swims = len( swims )
    logging.info( "Putting " + str(num_swims) + " swims for " + str( asa_number ) )
    put_new_swims( asa_number, swims )
开发者ID:OliWright,项目名称:WinsfordASC,代码行数:92,代码来源:meets_parser.py


注:本文中的event.Event.create_from_str方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。