123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293 |
- #!/usr/bin/env python
- # -*- coding=UTF-8 -*-
- # **************************************************************************
- # Copyright © 2016 jianglin
- # File Name: helpers.py
- # Author: jianglin
- # Email: xiyang0807@gmail.com
- # Created: 2016-05-20 13:56:43 (CST)
- # Last Update:星期日 2016-7-24 16:47:23 (CST)
- # By:
- # Description:
- # **************************************************************************
- from flask import abort, current_app
- from flask_login import current_user
- from time import time
- from random import randint
- from maple import redis_data
- def is_num(num):
- if num is not None:
- try:
- num = int(num)
- if num > 0:
- return num
- else:
- abort(404)
- except ValueError:
- abort(404)
- def replies_page(topicId):
- # app = current_app._get_current_object()
- replies = redis_data.hget('topic:%s' % str(topicId), 'replies')
- if not replies:
- replies = 0
- else:
- replies = int(replies)
- p = current_app.config['PER_PAGE']
- if replies % p == 0:
- q = replies // p
- else:
- q = replies // p + 1
- return q
- def register_api(site, view, endpoint, url, pk='uid', pk_type='int'):
- view_func = view.as_view(endpoint)
- site.add_url_rule(url,
- defaults={pk: None},
- view_func=view_func,
- methods=['GET', ])
- site.add_url_rule(url, view_func=view_func, methods=['POST', ])
- site.add_url_rule('%s/<%s:%s>' % (url, pk_type, pk),
- view_func=view_func,
- methods=['GET', 'PUT', 'DELETE'])
- def make_uid():
- a = str(int(time()))
- b = str(current_user.id).zfill(6)
- c = str(randint(10, 99))
- return a + b + c
- class Map(dict):
- def __init__(self, *args, **kwargs):
- super(Map, self).__init__(*args, **kwargs)
- for arg in args:
- if isinstance(arg, dict):
- for k, v in arg.items():
- self[k] = v
- if kwargs:
- for k, v in kwargs.items():
- self[k] = v
- def __getattr__(self, attr):
- return self.get(attr)
- def __setattr__(self, key, value):
- self.__setitem__(key, value)
- def __setitem__(self, key, value):
- super(Map, self).__setitem__(key, value)
- self.__dict__.update({key: value})
- def __delattr__(self, item):
- self.__delitem__(item)
- def __delitem__(self, key):
- super(Map, self).__delitem__(key)
- del self.__dict__[key]
|