<%include>global.ecpp</%include>
<%pre>

#include <time.h>
#include <stdlib.h>
#include <tnt/httperror.h>

unsigned int seed = static_cast<unsigned int>(time(0));

</%pre>
<%cpp>

  do
  {
    zim::size_type idx = static_cast<zim::size_type>(static_cast<double>(articleFile.getCountArticles()) * rand_r(&seed) / RAND_MAX);

    article = articleFile.getArticle(idx);
    log_debug("consider article " << article.getIndex() << ": " << article.getTitle());
    log_debug("mime-type: " << article.getLibraryMimeType() << " namespace: " << article.getNamespace());

  } while (article.getMimeType() != "text/html"
        || article.getNamespace() != 'A');

  log_info("choose article " << article.getIndex() << ": " << article.getTitle());

  reply.redirect('/' + article.getLongUrl());

</%cpp>
