示例#1
0
def test_get_network_events():
    """
    Tests we can retrieve a network's events. For illustrative purposes,
    client returns mock data.
    """
    c = Client(mock=True)
    events = c.get_network_events(1, 10)
    assert_true(len(events) == 2)

    events1 = c.get_network_events(1, 1)
    assert_equal(events1[0]['id'], 3)
    assert_equal(len(events1), 1)

    events2 = c.get_network_events(1, 1, max_id=3)
    assert_equal(events2[0]['id'], 3)
    assert_equal(len(events2), 1)
示例#2
0
def network_events() :
  # TODO: A lot of this code is repeated from network(), with just minor variations.
  # This should be factored out.
  id_network = request.args.get('id')
  if not id_network :
    return render_template('404.html')
  c = Client(mock=False)
  try:
    id_network = int(id_network)
  except ValueError:
    return render_template('404.html')
  network = c.get_network(id_network)
  if not network:
    return render_template('404.html')

  events = None

  old_index = request.args.get('index')
  if not old_index:
    events = c.get_network_events(id_network, 10)
  else:
    try:
      old_index = int(old_index)
    except ValueError:
      return render_template('404.html')
    events = c.get_network_events(id_network, 10, old_index - 1)

  # TODO: Add better handling for when there's no posts left.

  if not events :
    event_index = old_index
  else :
    event_index = events[-1]['id']

  for event in events:
    utils.enhance_event_date_info(event)
    event['num_registered'] = c.get_event_reg_count(event['id'])['reg_count']

  id_user = current_user.id
  user_networks = c.get_user_networks(id_user, count=100)
  user_is_member = False
  for network_ in user_networks:
    if int(id_network) == int(network_['id']):
      user_is_member = True
      break

  network_info = {}
  network_info['id'] = id_network
  network_info['events'] = events
  network_info['network_title'] = get_network_title(network)
  network_info['user_is_member'] = user_is_member

  num_users = c.get_network_user_count(id_network)['user_count']
  num_posts = c.get_network_post_count(id_network)['post_count']

  network_info['num_users'] = num_users
  network_info['num_posts'] = num_posts

  referrer = request.headers.get("Referer")

  return render_template(
    'network_events.html', network_info=network_info,
    event_index=event_index, referer_url=referrer
  )