Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import os
- os.environ['DJANGO_SETTINGS_MODULE'] = 'gravezoneapp.gravezoneapp.settings'
- import json
- from gravezoneapp.main.models import PayPalPayment
- def required(field, value):
- s_boolean_true = ['true', '1']
- if field == '' or not field:
- result = False
- else:
- result = True
- parsed_value = value in s_boolean_true
- if parsed_value == result:
- return True
- else:
- return False
- def length_min(field, value):
- if len(field) <= int(value):
- return False
- else:
- return True
- class TornadoRequestWrapper():
- validators = {
- 'required': required,
- 'length_min': length_min
- }
- def __init__(self, model):
- self.model = model
- def validate(self, request):
- try:
- post_data = json.loads(request)
- except Exception as e:
- print e
- print "====="
- return False
- else:
- if 'meta_model' in self.model:
- self.meta_model = self.model['meta_model']
- for field in self.model["fields"]:
- try:
- self.__dict__[field['name']] = post_data[field['name']]
- except KeyError as e:
- print e, " field is required"
- return
- else:
- if 'validators' in field:
- for validation, value in field['validators'].iteritems():
- if not self.validators[validation](post_data[field['name']], value):
- print "Validation error:", field['name'], validation
- return False
- return True
- def api_list(self):
- if self.meta_model:
- res = []
- objects = self.meta_model.objects.all()
- for object in objects:
- res.append(object.to_json())
- return res
- else:
- return {}
- model = {
- "meta_model": PayPalPayment,
- "fields":
- [
- {"name": "username", "validators": {"length_min": "4"}},
- {"name": "password", "validators": {"required": "true"}},
- {"name": "email"}
- ]
- }
- query = '{"username": "redrush", "password": "345345345", "email": "redrush85@ukr.net"}'
- query1 = '{"username": "redrush", "password": "", "email": "redrush85@ukr.net"}'
- query2 = '{"username": "red", "password": "tes_pwd", "email": "redrush85@ukr.net"}'
- query3 = 'dfdfgdfgdfgd'
- wrapper = TornadoRequestWrapper(model)
- if wrapper.validate(query):
- print "Request is valid"
- print wrapper.username, wrapper.password, wrapper.email
- print wrapper.api_list()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement