예제 #1
0
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'
예제 #2
0
    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)
예제 #3
0
파일: api.py 프로젝트: CGHQ/uscout
    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)
예제 #4
0
파일: api.py 프로젝트: CGHQ/uscout
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()))
예제 #5
0
    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())
예제 #6
0
파일: api.py 프로젝트: CGHQ/uscout
 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}