def test_prepare_json(): test_dict = {'date': datetime.now(), 'name': 'P.T. Anderson', 'nested': {'date': datetime.now()}} prepare_json(test_dict) assert isinstance(test_dict['date'], str) assert isinstance(test_dict['nested']['date'], str) assert test_dict['name'] == 'P.T. Anderson'
def get_case(self, cust_id, case_id, include_pdf=False): """Fetch a case form the database.""" try: case_obj = Case.objects.get(display_name=case_id, owner=cust_id) except DoesNotExist: return None json_obj = case_obj.to_mongo() if not include_pdf: # suppress raw PDF binary transfer json_obj["coverage_report"] = None return prepare_json(json_obj)
def get(self, cust_id, case_id): """Fetch a case from the database.""" try: case_obj = Case.objects.get(display_name=case_id, owner=cust_id) except DoesNotExist: return abort(404, 'no case found in the database') json_obj = case_obj.to_mongo() if not request.args.get('include_pdf'): # suppress raw PDF binary transfer json_obj['coverage_report'] = None return prepare_json(json_obj)
def init(): """Initialize Scout database with an admin user account.""" admin_email = request.form['email'] admin_name = request.form.get('name', admin_email) admin_institutes = request.form.getlist('institutes') try: logger.debug('whitelist the email account') whitelist_obj = Whitelist(email=admin_email) whitelist_obj.save() except NotUniqueError: logger.debug('email already whitelisted') try: logger.debug('setup the Scout admin account') user_obj = User(email=admin_email, name=admin_name, institutes=admin_institutes, roles=['admin']) user_obj.save() except NotUniqueError: logger.debug('user account already created') return jsonify(success=False) return jsonify(**prepare_json(user_obj.to_mongo()))
def init(self, admin_mail=None, admin_name=None, admin_institutes=None): """Initialize Scout database with an admin user account.""" admin_config = self.config["scout"]["admin"] admin_mail = admin_mail or admin_config["email"] admin_name = admin_name or admin_config.get("name") admin_institutes = admin_institutes or admin_config.get("institutes") try: logger.debug("whitelist the email account") whitelist_obj = Whitelist(email=admin_mail) whitelist_obj.save() except NotUniqueError: logger.debug("email already whitelisted") try: logger.debug("setup the Scout admin account") user_obj = User(email=admin_mail, name=admin_name, institutes=(admin_institutes or []), roles=["admin"]) user_obj.save() except NotUniqueError: logger.debug("user account already created") return None return prepare_json(user_obj.to_mongo())
def get(self): """Fetch all cases from the database.""" case_dicts = [prepare_json(case_obj.to_mongo()) for case_obj in Case.objects] return {'cases': case_dicts}