code: def split_page_artid(page_artid):
      
      page_start = None
      page_end = None
      artid = None
  
      if not page_artid:
          return None, None, None
  
      # normalize unicode dashes
      page_artid = unidecode(six.text_type(page_artid))
  
      if '-' in page_artid:
          # if it has a dash it's a page range
          page_range = page_artid.replace('--', '-').split('-')
          if len(page_range) == 2:
              page_start, page_end = page_range
          else:
              artid = page_artid
      elif _RE_2_CHARS.search(page_artid):
          # if it has 2 or more letters it's an article ID
          artid = page_artid
      elif len(_RE_CHAR.sub('', page_artid)) >= 5:
          # if there are more than 5 digits it's an article ID
          artid = page_artid
      else:
          if artid is None:
              artid = page_artid
          if page_start is None:
              page_start = page_artid
  
      return page_start, page_end, artid
docs: Split page_artid into page_start/end and artid.