示例#1
0
文件: test.py 项目: xeBuz/Ordbogen
 def test_09_country_new(self):
     new_country = Country(
         iso_code=self.country['iso_code'],
         iso_code_long=self.country['iso_code_long'],
         short_name=self.country['short_name'],
         formal_name=self.country['formal_name'],
         demonym=self.country['demonym'],
         country_code=self.country['country_code'],
         continental_code=self.country['continental_code'],
         coordinates=self.country['coordinates'],
         elevation=self.country['elevation'],
         elevation_low=self.country['elevation_low'],
         area=self.country['area'],
         land=self.country['land'],
         fertility=self.country['fertility'],
         population=self.country['population'],
         population_urban=self.country['population_urban'],
         birth=self.country['birth'],
         death=self.country['death'],
         itu=self.country['itu'],
         web=self.country['web'],
         gis=self.country['gis'],
         statistics=self.country['statistics'],
         flag=self.country['flag'],
         government=self.country['government'],
         boundary_box=self.country['boundary_box'],
         currency=self.country['currency']
     )
     new_country.save()
     self.assertEqual(new_country.iso_code, self.country['iso_code'], "New Countru ISO Code")
示例#2
0
 def get_add_new_country(current_user, user_country):
     if request.method == 'GET':
         countries = Country.query.all()
         return make_response(
             jsonify({"countries": countries_schema.dump(countries)})), 200
     if request.method == 'POST':
         name = request.data.get('name', '')
         code = request.data.get('code', '')
         if name and code:
             new_country = Country(name, code)
             new_country.save()
             return make_response(
                 jsonify({
                     "message": "Country successfully saved!",
                     "country": country_schema.dump(new_country)
                 })), 201
         else:
             return make_response(
                 jsonify({"message": "Add a country name and code"})), 400
示例#3
0
    def post(self):
        """
        POST Method for Country. Login required

        :return: JSON response
        """
        errors = []
        try:
            self.validate_fields(Country.required_fields(), request.form)
        except ValueError:
            return self.response(400, 'Required fields: ' + ' '.join(Country.required_fields()))

        params = self.get_form_values(Country.get_columns(), request.form)

        validate = Country.query.filter_by(iso_code=params['iso_code']).first()
        if validate:
            errors.append("The iso_code already exists")

        if params['continental_code']:
            validate = Continent.query.filter_by(code=params['continental_code']).first()
            if validate is None:
                errors.append("The continental_code doesn't exists")

        if errors:
            return self.response(400, errors)

        new_country = Country(
            iso_code=params['iso_code'],
            iso_code_long=params['iso_code_long'],
            short_name=params['short_name'],
            formal_name=params['formal_name'],
            demonym=params['demonym'],
            country_code=params['country_code'],
            continental_code=params['continental_code'],
            coordinates=params['coordinates'],
            elevation=params['elevation'],
            elevation_low=params['elevation_low'],
            area=params['area'],
            land=params['land'],
            fertility=params['fertility'],
            death=params['death'],
            birth=params['birth'],
            population=params['population'],
            population_urban=params['population_urban'],
            itu=params['itu'],
            web=params['web'],
            gis=params['gis'],
            statistics=params['statistics'],
            flag=params['flag'],
            government=params['government'],
            boundary_box=params['boundary_box'],
            currency=params['currency'],
        )
        new_country.save()

        return self.response(201)
示例#4
0
    def put(self, iso_code):
        """
        PUT Method for Country. Login required

        :param iso_code:
        :return: JSON response
        """
        errors = []
        iso_code = str(iso_code).upper()
        country = Country.query.filter_by(iso_code=iso_code).first()

        if country is None:
            return self.response(404)

        params = self.get_form_values(Country.get_columns(), request.form)

        if params['continental_code']:
            validate = Continent.query.filter_by(code=params['continental_code']).first()
            if validate is None:
                errors.append("The continental_code doesn't exists")
        if errors:
            return self.response(400, errors)

        if params['iso_code_long']:
            country.iso_code_long = params['iso_code_long']
        if params['short_name']:
            country.short_name = params['short_name']
        if params['formal_name']:
            country.formal_name = params['formal_name']
        if params['demonym']:
            country.demonym = params['demonym']
        if params['country_code']:
            country.country_code = params['country_code']
        if params['continental_code']:
            country.continental_code = params['continental_code']
        if params['coordinates']:
            country.coordinates = params['coordinates']
        if params['elevation']:
            country.elevation = params['elevation']
        if params['elevation_low']:
            country.elevation_low = params['elevation_low']
        if params['area']:
            country.area = params['area']
        if params['land']:
            country.land = params['land']
        if params['fertility']:
            country.fertility = params['fertility']
        if params['population']:
            country.population = params['population']
        if params['population_urban']:
            country.population_urban = params['population_urban']
        if params['itu']:
            country.itu = params['itu']
        if params['web']:
            country.web = params['web']
        if params['gis']:
            country.gis = params['gis']
        if params['statistics']:
            country.statistics = params['statistics']
        if params['flag']:
            country.flag = params['flag']
        if params['government']:
            country.government = params['government']
        if params['boundary_box']:
            country.boundary_box = params['boundary_box']
        if params['currency']:
            country.currency = params['currency']

        country.save()
        return self.response(200)