code: function (json, callback) {
          if (json.character.length !== 0 && !isNaN(json.episode) && !isNaN(json.season)) {
              database.airDate(json.season, json.episode, function (date, error) {
                  if (error) {
                      callback(undefined, error);
                  } else {
                      var end = new Date(date.getTime() + ( 7 * 24 * 60 * 60 * 1000));
                      database.getSentimentForNameTimeframe(json.character, date.toISOString(), end.toISOString(), function (json, err) {
                          if (err) {
                              callback(undefined, err);
                          } else {
                              callback(json);
                          }
                      });
                  }
              });
          } else {
              var invalid = new SearchError('Invalid character / season / episode', undefined, json.character);
              callback(undefined, invalid);
          }
      }
docs: /*
  returns sentiments for name from airing date and the week after on (season,episode).
  Input:
  {
  "character" : "Jon Snow",
  "season" : 1,
  "episode" : 1
  }