Esempio n. 1
0
    def test_get_top(self):
        """
        Test retrieval of first and last items from /top endpoint
        """
        con = ApiConnector()
        top = con.get_top()
        self.assertTrue(len(top) == 500)

        item_0 = con.get_item(top[0])
        self.assertTrue(con.is_api_item(item_0))

        item_100 = con.get_item(top[-1])
        self.assertTrue(con.is_api_item(item_100))
Esempio n. 2
0
    def test_get_top(self):
        """
        Test retrieval of first and last items from /top endpoint
        """
        con = ApiConnector()
        top = con.get_top()
        self.assertTrue(len(top) == 500)

        item_0 = con.get_item(top[0])
        self.assertTrue(con.is_api_item(item_0))

        item_100 = con.get_item(top[-1])
        self.assertTrue(con.is_api_item(item_100))
Esempio n. 3
0
def main(logger, known_users):
    conn = ApiConnector()
    csvio = CsvIo()
    article_list = conn.get_top()
    stories = []

    for i in article_list:
        try:
            story = conn.get_item(i)
            if (not conn.is_valid_item(story)) or (
                    not conn.is_story_item(story)):
                continue
            logger.debug(csvio.story_to_csv(story))
            stories.append(story)
        except NetworkError as e:
            logger.exception(e)

    csvio.write_stories_csv(stories)

    for story in stories:
        try:
            conn.get_kids(story)
        except NetworkError as e:
            logger.exception(e)

    users = []
    for u in sorted(conn.user_dict.keys()):
        if known_users.get(u) == None:
            logger.debug("Skipping get_user call for %s" % u)
            continue
        try:
            userjson = conn.get_user(u)
            users.append(userjson)
        except NetworkError as e:
            logger.exception(e)
        except RuntimeError as e:
            logger.exception(e)

    csvio.write_users_csv(users)
Esempio n. 4
0
def main(logger, known_users):
  conn = ApiConnector()
  csvio = CsvIo()
  article_list = conn.get_top()
  stories = []

  for i in article_list:
    try:
      story = conn.get_item(i)
      if (not conn.is_valid_item(story)) or (not conn.is_story_item(story)):
        continue
      logger.debug(csvio.story_to_csv(story))
      stories.append(story)
    except NetworkError as e:
      logger.exception(e)

  csvio.write_stories_csv(stories)

  for story in stories:
    try:
      conn.get_kids(story)
    except NetworkError as e:
      logger.exception(e)

  users = []
  for u in sorted(conn.user_dict.keys()):
    if known_users.get(u) == None:
      logger.debug("Skipping get_user call for %s" % u)
      continue
    try:
      userjson = conn.get_user(u)
      users.append(userjson)
    except NetworkError as e:
      logger.exception(e)
    except RuntimeError as e:
      logger.exception(e)

  csvio.write_users_csv(users)