def serialize(value): if isinstance(value, datetime): return value.isoformat() if isinstance(value, date): return value.isoformat() if isinstance(value, time): return value.isoformat() if isinstance(value, Decimal): return text_type(value) if isinstance(value, uuid.UUID): return text_type(value) if hasattr(value, 'serialize'): return value.serialize() return value
def generate_random_string(length=12): """Generate a random ascii string of the requested length.""" msg = hashlib.sha256() word = '' for _ in range(length): word += random.choice(string.ascii_letters) msg.update(word.encode('ascii')) return text_type(msg.hexdigest()[:length])
def default(self, o): # for Enum Type if isinstance(o, enum.Enum): return o.value # for Enum Select Integer if isinstance(o, EnumInt): return o.key if isinstance(o, (datetime, date)): return o.isoformat() if isinstance(o, Decimal): return _number_str(o) if isinstance(o, uuid.UUID): return text_type(o) if isinstance(o, ObjectId): return text_type(o) return super(JSONEncoder, self).default(o)
def activation_email(request, user): """Return the data for an 'activate your account' email for the given user. :rtype: dict """ link = request.route_url( 'register_activate', code='-'.join( [text_type(user.pid), user.activation.code])) # link = '-'.join(['register.activate', text_type(user.pid), user.activation.code]) emailtext = _("Please validate your email and activate your account by visiting: {link}") body = emailtext.format(link=link) return { "request": request, "subject": _("Please activate your account"), "recipients": [user.email], "body": body }
def _hash_password(self, password): if not self.salt: self.salt = helper.generate_random_string(24) return text_type(CRYPT.encode(password + self.salt))
def __repr__(self): return text_type(self.o)
def err_func(context, request): if not isinstance(context, Exception): context = request.exception or context request.response.status = '509 {}'.format(text_type(context)) # request.response.status_code = 500 return target(context, request)