def index(): news = News() page = request.args.get('page') if page is None: page = 1 data = news.list(page=int(page), limit=20) total = news.count() if data is None: return jsonResponse(type='404') for i, item in enumerate(data): data[i]['date'] = time.mktime(item['date'].timetuple()) return jsonResponse(data=data, extra_data=[{'total': total}])
def __get_news_from_api(self): news = News() news_ids_from_database = [news['news_id'] for news in news.list()] news_from_api = fetch_data(sectionUrl)['news'] news_ids_from_api = [news['news_id'] for news in news_from_api] fetch_log('fetching') if news_ids_from_api[0] != news_ids_from_database[0]: fetch_log("detected new data from api") matched = [idx for idx, val in enumerate(news_ids_from_api) if val == news_ids_from_database[0]] if len(matched) == 0: end = len(news_ids_from_api) else: end = matched[0] fetch_log("end index is %s" %end) for news in news_from_api[:end][::-1]: self.__fetch_news(news) else: fetch_log('Nothing new') return None