Exemplo n.º 1
0
    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
Exemplo n.º 2
0
    def connection(self):
        try:
            connection = self.pool.connection()

            return connection
        except Exception as er:
            logger(str(er))
Exemplo n.º 3
0
    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)
Exemplo n.º 4
0
    def news(self):        
        try:
            sample_model = SampleModel()

            return sample_model.all_news(), None
        except Exception as er:
			logger(str(er))
			return None, str(er)
Exemplo n.º 5
0
    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)
Exemplo n.º 6
0
    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)
Exemplo n.º 7
0
    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)
Exemplo n.º 8
0
    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
Exemplo n.º 9
0
    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
Exemplo n.º 10
0
    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
Exemplo n.º 11
0
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.')
Exemplo n.º 12
0
    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))
Exemplo n.º 13
0
    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))
Exemplo n.º 14
0
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.')
Exemplo n.º 15
0
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.')
Exemplo n.º 16
0
    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)