Beispiel #1
0
def main(send=False):
    key = get_value('key')
    html = None
    # get movie info for all categories
    for cat in CATEGORIES:
        td = Tmdb(key, cat)
        movies = td.get_movies(NUM_RES)
        ca = Cache(os.path.basename(cat))
        ca.shelve_results(movies)
        newMovies = ca.shelve_results(movies)
        movieObjects = ca.shelve_get_items(newMovies)  # only new ones
        op = Output(movieObjects)
        if html is None:
            html = [op.generate_header()]
        catPrettified = cat.title().replace("_", " ")
        html.append(op.generate_category_title(catPrettified))
        html.append(op.generate_movie_html_div())
    # save html
    f = open(OUTFILE, "w")
    f.write("\n".join(html))
    f.close()
    # email
    if send:
        subject = "Sharemovi.es / %s movies / week %s" % (
            ", ".join(CATEGORIES), str(THIS_WEEK))
        sender = get_value('sender')
        recipients = load_emails('recipients')
        ma = Mail(sender)
        ma.mail_html(recipients, subject, "\n".join(html))
Beispiel #2
0
def main(send=False):
  key = get_value('key')
  html = None
  # get movie info for all categories
  for cat in CATEGORIES:
    td = Tmdb(key, cat)
    movies = td.get_movies(NUM_RES)
    ca = Cache(os.path.basename(cat))
    ca.shelve_results(movies)
    newMovies = ca.shelve_results(movies)
    movieObjects = ca.shelve_get_items(newMovies) # only new ones
    op = Output(movieObjects)
    if html is None:
      html = [op.generate_header()]
    catPrettified = cat.title().replace("_", " ")
    html.append(op.generate_category_title(catPrettified))
    html.append(op.generate_movie_html_div())
  # save html
  f = open(OUTFILE, "w")
  f.write("\n".join(html))
  f.close() 
  # email
  if send:
    subject = "Sharemovi.es / %s movies / week %s" % (", ".join(CATEGORIES), str(THIS_WEEK))
    sender = get_value('sender')
    recipients = load_emails('recipients')
    ma = Mail(sender)
    ma.mail_html(recipients, subject, "\n".join(html))
Beispiel #3
0
def test_redis_call_set(mocker):
    class Redis:
        def get(self, key="teste"):
            if key == "julio":
                return "ops"
            if key == "patrick":
                return "dev"

    mocker.patch("main.StrictRedis", return_value=Redis())
    assert main.get_value("julio") == "ops"
    assert main.get_value("patrick") == "dev"
 def test_value(self):
     result = main.get_value(
         {"params": [{
             "id": -100,
             "title": "testcaseId",
             "value": 298
         }]})
     self.assertEqual(result, None)
Beispiel #5
0
    def test_default_values(self):
        """test empty default user_input"""
        result = main.set_value()
        assert result == []

        result = main.get_value()
        assert result == None

        result = main.delete_value()
        assert result == False
Beispiel #6
0
    def test_value_operations(self):
        """test set_value function for different cases"""
        # Case 1 - set value through set_value and check it is in
        # memcached and DB
        input = ['set', 'testkey1', 'testvalue1']

        result = main.set_value(input, self.client, self.mock_database)
        memcahed_expected = self.client.get('testkey1')
        assert result[1] == memcahed_expected.decode('utf-8')

        db_expected = self.db_conn['testkey1']
        assert result[1] == db_expected

        result = main.get_value(['get', 'testkey1'], self.client,
                                self.mock_database)
        assert result == memcahed_expected.decode('utf-8')

        # Case 2a - Get a value that is only in the DB
        user_input = ['get', 'testkey2']
        self.db_conn[user_input[1]] = 'testvalue2'
        response = self.client.get(user_input[1])
        assert response == None
        result = main.get_value(user_input, self.client, self.mock_database)
        # assert result.decode('utf-8') == 'testvalue2'
        LOG.info('TEST')
        LOG.info(result)

        # Case 2b -  Get a value that does not exist at all
        user_input[1] = 'does_not_exist'
        result = main.get_value(user_input, self.client, self.mock_database)
        assert result == None

        # Case 3 - Delete a value
        user_input[0] = 'delete'
        user_input[1] = 'testkey2'
        result = main.delete_value(user_input, self.client, self.mock_database)
        assert result == True
        # Let's try to delete again
        result = main.delete_value(user_input, self.client, self.mock_database)
        assert result == False
Beispiel #7
0
def test_redis_call_get(mocker):
    mocker.patch("main.StrictRedis")
    main.get_value()
    main.StrictRedis().get.assert_called()
    main.StrictRedis().get.assert_called_with("teste")
    assert main.StrictRedis().get.call_count == 2