def getpaginate(self, sql, perpage, page): data = {} try: self.cursor.execute(sql) lists = self.cursor.fetchall() pages = math.ceil(float(len(lists)) / float(perpage)) next = None if page < pages: next = page + 1 prev = None if page > 1: prev = page - 1 data = { 'total': len(lists), 'perpage': perpage, 'curpage': page, 'next': next, 'prev': prev, 'pages': pages, 'items': None } return data except Exception as er: logger(str(er)) return None
def connection(self): try: connection = self.pool.connection() return connection except Exception as er: logger(str(er))
def get_news_most_comment(self, limit): try: sample_model = SampleModel() return sample_model.get_news_mostcomment(limit), None except Exception as er: logger(str(er)) return None, str(er)
def news(self): try: sample_model = SampleModel() return sample_model.all_news(), None except Exception as er: logger(str(er)) return None, str(er)
def get_news_detail(self, id): try: sample_model = SampleModel() return sample_model.get_news_by_id(id), None except Exception as er: logger(str(er)) return None, str(er)
def get_news(self, perpage, page): try: sample_model = SampleModel() return sample_model.get_news_paginate(perpage, page), None except Exception as er: logger(str(er)) return None, str(er)
def get_news_detail_comment(self, slug): try: sample_model = SampleModel() row_data = sample_model.get_news_by_slug(slug) row_data['comment'] = sample_model.get_comment_by_news(row_data['id']) return row_data, None except Exception as er: logger(str(er)) return None, str(er)
def get(self): build = Delete.delete + Delete.query try: self.cursor.execute(' '.join(build)) return self.cursor.commit() except Exception as er: logger(str(er)) self.cursor.rollback() return None
def get(self): build = Update.update + [','.join(Update.change)] + Update.query try: self.cursor.execute(' '.join(build)) return self.cursor.commit() except Exception as er: logger(str(er)) self.cursor.rollback() return None
def get(self): build = Select.select + Select.query try: self.cursor.execute(' '.join(build)) if Select.fetch == 'one': return self.cursor.fetchone() else: return self.cursor.fetchall() except Exception as er: logger(str(er)) return None
def news_slug(slug): key = dictionary.get('apikey') if request.get_header('apikey') in key: row_data, msg = SampleController().get_news_detail_comment(slug) try: return Format().build(row_data, msg) except Exception as er: logger(str(er)) abort(500, "Internal Server Error.") else: abort(401, 'Sorry, access denied.')
def __init__(self, table): try: config = ConfigParser() config.read('config/api.conf') pool = MySql(MySQLdb, host=config.get('dbismaya', 'host'), user=config.get('dbismaya', 'username'), passwd=config.get('dbismaya', 'password'), db=config.get('dbismaya', 'database'), port=int(config.get('dbismaya', 'port')), charset='utf8') self.conn = pool.connection() self.cursor = self.conn.cursor(MySQLdb.cursors.DictCursor) Delete.delete.append("DELETE FROM {}".format(table)) except Exception as er: logger(str(er))
def __init__(self, table, field='*'): try: config = ConfigParser() config.read('config/api.conf') pool = MySql(MySQLdb, host=config.get('dbsample', 'host'), user=config.get('dbsample', 'username'), passwd=config.get('dbsample', 'password'), db=config.get('dbsample', 'database'), port=int(config.get('dbsample', 'port')), charset='utf8') self.conn = pool.connection() self.cursor = self.conn.cursor(MySQLdb.cursors.DictCursor) Select.select.append("SELECT {} FROM `{}`".format(field, table)) except Exception as er: logger(str(er))
def news_pagging(): key = dictionary.get('apikey') if request.get_header('apikey') in key: perpage = 6 if request.query.perpage: perpage = request.query.perpage page = 1 if request.query.page: page = request.query.page row_data, msg = SampleController().get_news(int(perpage), int(page)) try: return Format().build(row_data, msg) except Exception as er: logger(str(er)) abort(500, "Internal Server Error.") else: abort(401, 'Sorry, access denied.')
def news_sort(sort): key = dictionary.get('apikey') if request.get_header('apikey') in key: limit = 6 if request.query.limit: limit = request.query.limit if sort == 'likes': row_data, msg = SampleController().get_news_likes(int(limit)) elif sort == 'viwes': row_data, msg = SampleController().get_news_viwes(int(limit)) else: row_data, msg = SampleController().get_news_most_comment( int(limit)) try: return Format().build(row_data, msg) except Exception as er: logger(str(er)) abort(500, "Internal Server Error.") else: abort(401, 'Sorry, access denied.')
def get_news_comment(self, perpage, page): data = [] try: sample_model = SampleModel() row_data = sample_model.get_news_paginate(perpage, page) items = [] try: items = row_data['items'] except Exception as er: logger(str(er)) for row in items: row['comment'] = sample_model.get_comment_by_news(row['id']) data.append(row) row_data['items'] = data return row_data, None except Exception as er: logger(str(er)) return None, str(er)