Beispiel #1
0
def seed():
    "Adds seed data to the database."
    app.logger.info('Seeding database with sample data')
    app.logger.info('Adding cars..')
    db.session.add(
        Car(
            name='BMW M1',
            description='Carrera Digital 132 BMW M1 Procar Lotus Martini Mario Andretti Nr.1 1979',
            order_number='30814',
            image_link='https://slotcardatenbank.de/car/30814_1851/2120305396.jpeg'
        )
    )
    db.session.add(
        Car(
            name='Porsche 911 GT3 RSR',
            description='Carrera Digital 132 Porsche 911 GT3 RSR Lechner Racing Carrera Race Taxi',
            order_number='30828',
            image_link='https://slotcardatenbank.de/car/30828_2253/895352019.jpeg'
        )
    )
    db.session.add(
        Car(
            name='Mercedes-AMG GT3',
            description='Carrera Digital 132 Mercedes-AMG GT3 AKKA ASP Nr.87',
            order_number='30846',
            image_link='https://slotcardatenbank.de/car/30846_2200/1938848144.jpeg'
        )
    )
    db.session.add(
        Car(
            name='Mercedes-Benz SLS Polizei',
            description='Carrera Digital 132 Mercedes-Benz SLS AMG Polizei',
            order_number='30793',
            image_link='https://slotcardatenbank.de/car/30793_1847/1929172378.jpeg'
        )
    )
    db.session.add(
        Car(
            name='Chevrolet Corvette C7.R',
            description='Carrera Digital 132 Chevrolet Corvette C7.R Corvette Racing Nr.3',
            order_number='30701',
            image_link='https://slotcardatenbank.de/car/30701_874/58602446.jpeg'
        )
    )

    app.logger.info('Registering Racers..')
    db.session.add(Racer(name='Mika'))
    db.session.add(Racer(name='Papa'))

    db.session.commit()
    app.logger.info('..finished')
Beispiel #2
0
    def setUpTestData(cls):
        cls.manufacturer = Manufacturer(name="Volkswagen")
        cls.manufacturer.save()
        cls.car = Car(manufacturer=cls.manufacturer, name="Golf")
        cls.second_car = Car(manufacturer=cls.manufacturer, name="Passat")
        cls.car.save()
        cls.second_car.save()

        # Adding 3 rates for golf and 2 rates for passat
        for _ in range(3):
            cls.rate = Rate(car=cls.car, rating=4)
            cls.rate.save()
        for _ in range(2):
            cls.rate = Rate(car=cls.second_car, rating=2)
            cls.rate.save()
Beispiel #3
0
 def _tuple_to_model(self, c):
     return Car(
         vin=c.Vin,
         price=c.UsedVehiclePrice,
         autopilot=c.AutoPilot,
         badge=c.Badge,
         battery=c.Battery,
         config_id=c.ConfigId,
         decor=c.Decor,
         destination_handling_fee=c.DestinationHandlingFee or 0,
         discount=c.Discount or 0,
         drive_train=c.DriveTrain,
         metro_id=c.MetroId,
         model=c.Model,
         model_variant=c.ModelVariant,
         odometer=c.Odometer,
         odometer_type=c.OdometerType,
         option_code_list=c.OptionCodeList,
         option_code_list_with_price=c.OptionCodeListWithPrice,
         ownership_transfer_count=c.OwnerShipTransferCount or 0,
         paint=c.Paint,
         range=c.Range,
         roof=c.Roof,
         title_status=c.TitleStatus,
         title_sub_status=c.TitleSubStatus or '',
         trade_in_type=c.TradeInType or '',
         year=c.Year,
         is_autopilot=c.isAutopilot,
         is_first_registration_date=c.isFirstRegistrationDate,
         is_panoramic=c.isPanoramic,
         is_premium=c.isPremium,
         country_code=self.country_code,
     )
Beispiel #4
0
def addcar(request):
    token = request.session.get('token')
    goodid = request.GET.get('goodid')
    number = request.GET.get('number')
    print(goodid)
    if token:
        user = User.objects.get(token=token)
        good = Goods.objects.get(pk=goodid)
        # cart = Car()
        # cart.user=user
        # cart.good=good
        # cart.number=int(number)
        # cart.save()
        carts = Car.objects.filter(user=user).filter(good=good)

        if carts.exists():  # 存在
            cart = carts.first()
            cart.number = cart.number + int(number)
            cart.save()
        else:  # 不存在
            cart = Car()
            cart.user = user
            cart.good = good
            cart.number = int(number)
            cart.save()

        return JsonResponse({'status': 1})

    else:
        data = {}
        data['msg'] = '请登录后操作!'
        data['status'] = -1
        return JsonResponse(data)
def import_file():
    config_name = os.getenv('FLASK_CONFIG')
    app = create_app(config_name)
    app.app_context().push()

    with open('test3.json') as json_file:
        data = json.load(json_file)
        try:
            for data_row in data:
                vin = data_row['c'][0]['v']
                print(f'importing {vin}')
                if vin_generator.is_valid_vin(vin):
                    car_model = data_row['c'][4]['v']
                    opt_code = data_row['c'][5]['v']
                    ship_to = data_row['c'][6]['v']
                    sold_to = data_row['c'][7]['v']
                    address = data_row['c'][8]['v']
                    zip_code = data_row['c'][9]['v']
                    ext_color = data_row['c'][10]['v']
                    int_color = data_row['c'][11]['v']
                    created = data_row['c'][12]['v']
                    car = Car(vin, ext_color, int_color, car_model, opt_code,
                              sold_to, ship_to)
                    dealer = Dealer(ship_to, address, zip_code)
                    repository.create_dealer(dealer)
                    repository.create_car(car)
        except InvalidRequestError as requestError:
            print(requestError)
        except:
            print(f'failed with {sys.exc_info()[0]}')
def register():
    if current_user.is_authenticated:
        return redirect(url_for('map'))
    form = RegisterForm()
    if form.validate_on_submit():
        u = User(first_name=str(form.firstName.data), last_name=str(form.lastName.data), email=str(form.email.data),
                 contact_number=str(form.contactNumber.data), gender=str(form.gender.data), home_address=str(form.street.data),
                 home_city=str(form.city.data), home_state=str(form.state.data), gender_preferred=str(form.genderPreferred.data))
        u.set_password(str(form.password.data))

        if form.work.data == 'ballDrive':
            u.work_address = '2330 Ball Drive'
            u.work_city = 'St. Louis'
            u.work_state = 'MO'
        elif form.work.data == 'riderTrail':
            u.work_address = '3470 Rider Trail'
            u.work_city = 'Earth City'
            u.work_state = 'MO'
        else:
            u.work_address = '11432 Lackland Rd'
            u.work_city = 'St. Louis'
            u.work_state = 'MO'
        
        if form.car.data == 'yes':
            c = Car(email=str(form.email.data), num_seats=str(form.numberOfSeats.data), mpg=str(form.mpg.data), manufacturer=str(form.manufacturer.data),
                    model=str(form.model.data), license_plate_num=str(form.number.data))
            db.session.add(c)
            u.cars = [c]

        db.session.add(u)
        db.session.commit()

        return redirect(url_for('login'))
    return render_template('register.html', form=form)
Beispiel #7
0
def create_auto():

    context = None
    index = 'create_auto.html'

    if request.method == 'POST':
        # пришел запрос с методом POST (нажата кнопка ввода)
        # получаем название авто = значение поля input с атрибутом name="name_auto"
        name_auto = request.form['name_auto']
        # получаем описание = значение поля input с атрибутом name="describe"
        describe = request.form['describe']
        # получаем стоимость аренды = значение поля input с атрибутом name="rent_price"
        rent_price = request.form['rent_price']

        # получаем трансмиссию
        if request.form['transmission'] == "1":
            transmission = True  #bool
        else:
            transmission = False

        # Получаем 4 фото нашего авто
        img_url = request.form['img_url']
        img_url2 = request.form['img_url2']
        img_url3 = request.form['img_url3']
        img_url4 = request.form['img_url4']

        # добавляем данные полученные из полей формы в БД
        db.session.add(
            Car(name_auto=name_auto,
                describe=describe,
                rent_price=rent_price,
                transmission=transmission,
                img_url=img_url,
                img_url2=img_url2,
                img_url3=img_url3,
                img_url4=img_url4))

        # сохранить изменения в БД
        db.session.commit()

        # заполняем словарь контекста
        context = {
            'index': index,
            'method': 'POST',
            'name_auto': name_auto,
            'describe': describe,
            'rent_price': rent_price,
            'transmission': transmission,
        }

    elif request.method == 'GET':
        # пришел запрос с методом GET - открыта страница
        # просто передается в контекст имя метода
        context = {
            'index': index,
            'method': 'GET',
        }

    return render_template('layout.html', **context)
Beispiel #8
0
    def test_response_fix(self):
        manufacturer = Manufacturer(name="Volkswagen")
        car = Car(manufacturer=manufacturer, name="Golf")
        serialized_car = CarSerializer(car)
        fixed_response = fix_response(serialized_car)

        assert "manufacturer" not in fixed_response.keys()
        assert fixed_response["make"] == "Volkswagen"
Beispiel #9
0
def seed_cars():

    demo = Car(user_id=1,
               api_id=21374,
               make="Chevrolet",
               model="Equinox AWD",
               year=2005,
               miles_to_refuel=350,
               mpg=30)  # noqa
    mark = Car(user_id=1,
               api_id=29658,
               make="Honda",
               model="Accord",
               year=2010,
               miles_to_refuel=350,
               mpg=30)  # noqa
    ryan = Car(user_id=1,
               api_id=29823,
               make="BMW",
               model="128ci Convertible",
               year=2010,
               miles_to_refuel=350,
               mpg=30)  # noqa
    brandon = Car(user_id=1,
                  api_id=38911,
                  make="Volkswagen",
                  model="Beetle",
                  year=2018,
                  miles_to_refuel=350,
                  mpg=30)  # noqa
    alycia = Car(user_id=1,
                 api_id=39506,
                 make="Buick",
                 model="Regal",
                 year=2018,
                 miles_to_refuel=350,
                 mpg=30)  # noqa

    db.session.add(demo)
    db.session.add(mark)
    db.session.add(ryan)
    db.session.add(brandon)
    db.session.add(alycia)

    db.session.commit()
Beispiel #10
0
    def handle(self, *args, **options):
        with open(os.path.join(settings.BASE_DIR, 'app.json'),
                  encoding='utf-8') as file:
            reader = json.load(file)

            for i in reader:
                if i['model'] == 'app.car':
                    new_car = Car(brand=i['fields']['brand'],
                                  model=i['fields']['model'])
                    new_car.save()
Beispiel #11
0
def scrape_vin(vin):
    MODEL = "MODEL/OPT.CODE"
    EXT_COLOR = "EXTERIOR COLOR"
    INT_COLOR = "INTERIOR COLOR"
    VIN = "VEHICLE ID NUMBER"
    PORT = "PORT OF ENTRY"
    SOLD_TO = "Sold To"
    SHIP_TO = "Ship To"
    url = f'https://www.kia.com/us/services/en/windowsticker/load/{vin}'
    MODEL_YEAR = "Model Year"
    r = requests.get(url)
    f = io.BytesIO(r.content)
    p = PyPDF2.PdfFileReader(f)
    pdf_text = p.getPage(0).extractText()
    start = 0
    end = pdf_text.index(MODEL)
    car_description = pdf_text[start:end]

    start = end + len(MODEL) + 1
    end = pdf_text.index(EXT_COLOR)
    vin_code = [x.strip() for x in pdf_text[start:end].split('/')]
    model_code = vin_code[0]
    opt_code = vin_code[1]

    start = end + len(EXT_COLOR) + 1
    end = pdf_text.index(INT_COLOR)
    ext_color = pdf_text[start:end]

    start = end + len(INT_COLOR) + 1
    end = pdf_text.index(VIN)
    int_color = pdf_text[start:end]

    start = end + len(VIN) + 1
    end = pdf_text.index(PORT)
    vin = pdf_text[start:end]

    start = pdf_text.index(SOLD_TO) + len(SOLD_TO) + 2
    end = pdf_text.index(SHIP_TO)
    sold_to = pdf_text[start:end]

    start = end + len(SHIP_TO) + 2
    end = start + 5
    ship_to = pdf_text[start:end]
    dealer_address = sold_to.replace(ship_to, '')
    zip = dealer_address[len(dealer_address) - 5:]

    #start = pdf_text.index(MODEL_YEAR) + len(MODEL_YEAR) + 1
    #end = pdf_text.index(MODEL_YEAR)
    model_year = "2021"

    car = Car(vin, ext_color, int_color, model_code, opt_code, ship_to,
              ship_to, model_year)
    dealer = Dealer(ship_to, dealer_address, zip)
    car_model = CarModel(model_code, car_description)
    return car, dealer, car_model
Beispiel #12
0
def add_car(current_user):
    json_data = request.get_json()
    json_data['owner_id'] = current_user.id
    json_data['created_at'] = datetime.datetime.utcnow()
    data, error = car_schema.load(json_data)
    if error:
        return response('failed', error, 400)

    car = Car(current_user.id, data)
    car.save()
    data = car_schema.dump(car).data
    return response_for_added_car(car, 201)    
Beispiel #13
0
def add():
    '''添加修改数据'''
    isAdd = request.form.get('add')
    carName = request.form.get('name')
    carId = request.form.get('id')
    carState = request.form.get('state', '在线')
    driver = request.form.get('driver', None)
    driverphone = request.form.get('driverphone', None)
    starttime = request.form.get('starttime')
    endtime = request.form.get('endtime')
    cartype = request.form.get('cartype')
    team = request.form.get('team')
    terminalid = request.form.get('terminalid')
    company = request.form.get('company')
    if isAdd == "yes":
        car = Car.query.filter(Car.carname == carName).first()
        carterminalid = Car.query.filter(Car.terminalid == terminalid).first()
        if (car or carterminalid):
            return u'失败,名称或终端id已存在'
        else:
            car = Car(carname=carName,
                      carstate=carState,
                      driver=driver,
                      driverphone=driverphone,
                      starttime=starttime,
                      endtime=endtime,
                      cartype=cartype,
                      team=team,
                      terminalid=terminalid,
                      company=company)
            db.session.add(car)
            db.session.commit()
            return u'成功'
    else:
        print carId
        car = Car.query.filter(Car.id == carId).first()
        # carname = Car.query.filter(Car.carname == carName).first()
        # carterminalid = Car.query.filter(Car.terminalid == terminalid).first()
        # if (carname and car!=carname) or (carterminalid and car!=carterminalid):
        #     return u'失败,名称或终端id已存在'
        # else:
        car.carname = carName
        # car.carstate = carState
        car.driver = driver
        car.driverphone = driverphone
        car.starttime = starttime
        car.endtime = endtime
        car.cartype = cartype
        car.team = team
        car.terminalid = terminalid
        car.company = company
        db.session.commit()
        return '成功'
def RegisterCar():
    form = AddVehicle()
    if form.validate_on_submit():
        car = Car(user=current_user.user,
                  car_vin=form.car_vin.data,
                  make=form.make.data,
                  model=form.model.data,
                  color=form.color.data,
                  mileage=form.mileage.data)
        db.session.add(car)
        db.session.commit()
        flash('You have added a car to use in our App!')
        return redirect(url_for('index'))
    return render_template('addVehicle.html', title='Add Vehicle', form=form)
Beispiel #15
0
def register():
    form = CarRegistrationForm()
    if form.validate_on_submit():
        car = Car(name=form.name.data,
                  description=form.description.data,
                  order_number=form.order_number.data,
                  image_link=form.image_link.data)
        db.session.add(car)
        db.session.commit()
        flash(_l('New car added to car park'))
        return redirect(url_for('index'))
    return render_template('car_registration.html',
                           title='Neues Auto registrieren',
                           form=form)
Beispiel #16
0
def create_car():
    form = CreateCarForm()
    if form.validate_on_submit():
        car = Car(brand=form.brand.data,
                  model=form.model.data,
                  color=form.color.data,
                  owner=current_user)
        db.session.add(car)
        db.session.commit()
        flash(_('Your car has been created. Find it in your profile'))
        return redirect(url_for('main.index'))
    return render_template('main/create_car.html',
                           title='Create Car',
                           form=form)
Beispiel #17
0
 def post(self):
     data = request.get_json()
     owners = Owner.query.all()
     owner = Owner(first_name='', second_name=0, last_name='')
     for g in owners:
         if data['owner'] == g.first_name:
             owner = g
     if owner.first_name == '':
         return {'success': False}
     s = Car(manufacturer=data['manufacturer'],
             model=data['model'],
             color=data['color'],
             car_id=data['car_id'])
     s.owner = owner
     db.session.add(s)
     db.session.commit()
     return {'success': True}
Beispiel #18
0
def post_car(user_id):
    data = request.json
    car = Car(user_id=user_id,
              api_id=data['apiId'],
              make=data['make'],
              model=data['model'],
              year=data['year'],
              mpg=data['mpg'],
              miles_to_refuel=int(data['mpg']) * int(data['tankSize']))
    try:
        db.session.add(car)
        db.session.commit()
        car_json = jsonify({'cars': normalize(car.to_dict())})
        return car_json
    except SQLAlchemyError as e:
        error = str(e.__dict__['orig'])
        print(error)
        db.session.rollback()
        return {'errors': ['An error occurred while creating data']}, 500
Beispiel #19
0
def addcart(request):
    # 拿到token
    token = request.session.get('token')
    # 根据token在缓存中找到对应用户
    if token:
        #获取对应用户
        userid = cache.get(token)
        user = User.objects.get(pk=userid)
        #获取对应商品信息
        goodsid = request.GET.get('goodsid')
        goods = Goods.objects.get(pk=goodsid)
        # 获取商品数量
        numb = request.GET.get('numb')
        # 获取选择的是购物车还是立即购买
        shopway = request.GET.get('shopway')
        #判断商品是否已经存在购物车中
        carts = Car.objects.filter(user=user).filter(goods=goods)

        if carts.exists():
            if shopway:
                cart = carts.first()
                cart.number = cart.number + int(numb)
                cart.isdelete = False
                cart.save()

        else:
            cart = Car()
            cart.user = user
            cart.goods = goods
            cart.number = numb
            cart.save()
        response_data = {
            'status':1,
            'msg':'添加购物车成功'
        }
        return JsonResponse(response_data)

    else:
        response_data = {
            'status': -1,
            'msg': '请登录再操作'
        }
        return JsonResponse(response_data)
Beispiel #20
0
    def car_create():
        """
        Creates a record based on params supplied
        Endpoint URL: /car/create
        :return: JSON successful message or exception response
        """
        if request.method == "POST":
            if request.data is None:
                return jsonify({
                    "status_code": 400,
                    "message": "Invalid request"
                })
            request_data = request.data

            try:
                # Find and validate required parameters in order to create car record
                make = helpers.check_missing('list', request_data, 'make')
                make = helpers.validate_string(make, 'make')
                model = helpers.check_missing('list', request_data, 'model')
                model = helpers.validate_string(model, 'model')
                year = helpers.check_missing('list', request_data, 'year')
                year = helpers.validate_year(year)
                assigned_type = helpers.check_missing('list', request_data,
                                                      'assigned_type')
                assigned_id = helpers.check_missing('list', request_data,
                                                    'assigned_id')
                assigned_id = helpers.validate_int(assigned_id, 'assigned_id')

                # Validate the assigned type and id, more logic for assigning in a helper function
                assigned_type, assigned_id = helpers.validate_assigning(
                    assigned_type, assigned_id)

                # Create object and save it in the database
                car = Car(make, model, year, assigned_type, assigned_id)
                car.save()
                return jsonify({"status_code": 201, "message": "Car created"})
            except Exception as e:
                return jsonify({
                    "status_code": e.args[0]['status_code'],
                    "message": e.args[0]['message']
                })
Beispiel #21
0
def create_car():
    CarForm.add_fields()
    form = CarForm()
    if form.validate_on_submit():
        car = Car()
        # Сколько языков заполнено столько и создаем
        langs = Language.query.all()
        for key in form.data:
            if key in [lang.code for lang in langs]:
                lang = [lang for lang in langs if lang.code == key]
                car.names.append(
                    CarLanguage(name=form.data[key], language=lang[0]))
        car.year = int(form.year.data)
        db.session.add(car)
        db.session.commit()
        flash('You successfuly create new car')
        return redirect(url_for('.cars'))

    return render_template('admin/create_car.html',
                           title='Create new Car',
                           form=form)
Beispiel #22
0
def create_auto():
    
    context = None

    if request.method == 'POST':
        
        name_auto = request.form['name']
        rent_price = request.form['price']
        description = request.form['description']
        transmission = True if request.form['transmission'] == " ДА " else False
        img_url = request.form['img_url']
        img_url2 = request.form['img_url2']
        img_url3 = request.form['img_url3']
        img_url4 = request.form['img_url4']

        db.session.add(Car(name_auto = name_auto, rent_price = rent_price, description = description,
         transmission = transmission, img_url = img_url, img_url2 = img_url2, img_url3 = img_url3, img_url4 = img_url4))
        db.session.commit()

        context = {'method': 'POST', 
                'name': name_auto,
                'price': rent_price, 
                'description': description,
                'transmission': transmission,
                'img_url': img_url,
                'img_url2': img_url2,
                'img_url3': img_url3,
                'img_url4': img_url4,
                }
        
    

    elif request.method == 'GET':

        context = {
            'method': 'GET',
        }

    
    return render_template('create_auto.html', **context)
Beispiel #23
0
def add_car():
    if (not request.json or not 'brand' in request.json
            or not 'model' in request.json or not 'dealer' in request.json
            or not 'price' in request.json or not 'color' in request.json):
        return make_response(jsonify({'error': 'Incorrect Request'}), 400)
    else:
        new_car = Car(brand=request.json['brand'],
                      model=request.json['model'],
                      price=int(request.json['price']),
                      vendor_id=int(request.json['dealer']),
                      color=request.json['color'])
        if 'year_built' in request.json:
            new_car.year_built = int(request.json['year_built'])
        if 'mileage' in request.json:
            new_car.mileage = int(request.json['mileage'])
        db.session.add(new_car)
        db.session.commit()
        sale = Sale(car=new_car.id,
                    dealer=new_car.vendor_id,
                    price=new_car.price)
        db.session.add(sale)
        db.session.commit()
        return make_response(jsonify({'result': 'Created Successfully'}), 201)
Beispiel #24
0
def cars(count=100):
    fake = Faker()
    i = 0
    user_count = User.query.count()
    langs = Language.query.all()
    car_names_len = len(car_names)
    while i < int(count):
        u = User.query.offset(randint(0, user_count - 1)).first()
        c = Car()
        c.year = randint(1970, datetime.now().year)
        c.timestamp = fake.past_date()
        c.users.append(u)
        for lang in langs:
            if lang.code == 'en':
                c.set_name(lang, car_names[randint(0, car_names_len - 1)][0])
            elif lang.code == 'ru':
                c.set_name(lang, car_names[randint(0, car_names_len - 1)][1])
        db.session.add(c)
        try:
            db.session.commit()
            i += 1
        except IntegrityError:
            db.session.rollback()
        print('{} fake cars were successfully created.'.format(i))
Beispiel #25
0
import csv, sys, os

project_path = sys.path[0] + '\cars'

sys.path.append(project_path)
os.environ['DJANGO_SETTINGS_MODULE'] = 'settings'

import django
import datetime

django.setup()

from app.models import Car

data = csv.reader(open(sys.path[0] + '\csv.csv'), delimiter=';')

for row in data:
    car = Car()
    car.brand_name = row[0]
    car.car_model = row[1]
    car.release_year = row[2]
    car.name = "{} - {}".format(row[0], row[1])
    try:
        car.last_year = int(row[3])
    except ValueError:
        car.last_year = datetime.datetime.today().year
    car.save()
def getCars():
    form = AddCarForm()
    if request.method == "GET":
        carlist = []
        allCars = db.session.query(Car).all()

        for car in allCars:
            c = {
                "id": car.id,
                "description": car.description,
                "year": car.year,
                "make": car.make,
                "model": car.model,
                "colour": car.colour,
                "transmission": car.transmission,
                "car_type": car.car_type,
                "price": car.price,
                "photo": car.photo,
                "user_id": car.user_id
            }
            carlist.append(c)
        return jsonify(carlist=carlist), 200
    if request.method == "POST" and form.validate_on_submit():
        make = form.make.data
        model = form.model.data
        colour = form.colour.data
        year = form.year.data
        price = form.price.data
        car_type = form.car_type.data
        transmission = form.transmission.data
        description = form.description.data
        photo = form.photo.data

        username = g.current_user['user']

        user = User.query.filter_by(username=username).first()
        user_id = user.id

        filename = secure_filename(photo.filename)
        hello = os.path.join(app.config['CAR_UPLOAD_FOLDER'], filename)
        print(
            "HELLOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO"
        )
        print(hello)
        photo.save(os.path.join(app.config['CAR_UPLOAD_FOLDER'], filename))
        newCar = Car(description, make, model, colour, year, transmission,
                     car_type, price, filename, user_id)
        #ADD TO DB
        db.session.add(newCar)
        db.session.commit()
        flash("Car added successfully", "success")
        data = {
            "id": newCar.id,
            "description": newCar.description,
            "year": newCar.year,
            "make": newCar.make,
            "model": newCar.model,
            "colour": newCar.colour,
            "transmission": newCar.transmission,
            "car_type": newCar.car_type,
            "price": newCar.price,
            "photo": newCar.photo,
            "user_id": newCar.user_id
        }
        return jsonify(data), 201
    else:
        errors = form_errors(form)
        return jsonify(errors)
Beispiel #27
0
def save_destination(form, destination=None, new=True):
    # PHOTOS
    try:
        request_featured_photo = request.files['featured_photo']
    except KeyError:
        request_featured_photo = False

    if request_featured_photo:
        if new:
            photo_folder_name = form.title.data + '-' + secrets.token_hex(16)
            featured_photo_with_folder = images.save(
                request.files['featured_photo'], folder=photo_folder_name)
            featured_photo = featured_photo_with_folder.split('/')[1]
            featured_photo_filename = featured_photo.split('.')[0]
            featured_photo_extension = featured_photo.split('.')[-1]
            photo_dir = os.path.join(
                current_app.config["UPLOADED_IMAGES_DEST"], photo_folder_name)

            photo_folder_url = images.url(featured_photo_with_folder).split(
                featured_photo)[0]

            current_app.q.enqueue(create_image_set, photo_dir, featured_photo)
        else:
            # Bruke tidligere skapt folder, og hente featured_photo fra form:
            photo_folder_name = destination.photo_folder_url.split(
                '/static/uploads/images/'
            )[-1]  # http://127.0.0.1:5000/static/uploads/images/Oskarshamn-7296b6784120247d3125ace582cdc17e/
            featured_photo_with_folder = images.save(
                request.files['featured_photo'], folder=photo_folder_name)
            featured_photo = featured_photo_with_folder.split('/')[1]
            featured_photo_filename = featured_photo.split('.')[0]
            featured_photo_extension = featured_photo.split('.')[-1]
            photo_dir = os.path.join(
                current_app.config["UPLOADED_IMAGES_DEST"], photo_folder_name
            )  # samma struktur som photo_dir: app/static/uploads/images/Oskarshamn-7296b6784120247d3125ace582cdc17e/
            # photo_folder_url = images.url(featured_photo_with_folder).split(featured_photo)[0]
            # Sende til enqueue
            current_app.q.enqueue(create_image_set, photo_dir, featured_photo)
            # Oppdatere befintlig destination med url/fil/extension
            # - Gjørs nedan

    # COUNTRY & CONTINENT
    country = pycountry_convert.country_alpha2_to_country_name(
        form.country.data)

    continent_code = pycountry_convert.country_alpha2_to_continent_code(
        form.country.data)
    continents = {
        'AF': 'Africa',
        'AN': 'Antarctica',
        'AS': 'Asia',
        'EU': 'Europe',
        'NA': 'North America',
        'OC': 'Oceania',
        'SA': 'South America'
    }
    continent = continents[continent_code]

    # Add new destination
    if new:
        d = Destination(title=form.title.data,
                        country=country,
                        continent=continent,
                        weather_ltd=form.weather_ltd.data,
                        weather_lng=form.weather_lng.data,
                        photo_folder_url=photo_folder_url,
                        featured_photo_filename=featured_photo_filename,
                        featured_photo_extension=featured_photo_extension,
                        description=form.description.data,
                        author=current_user)
        db.session.add(d)
        db.session.commit()
    else:
        destination.title = form.title.data
        destination.country = country
        destination.continent = continent
        destination.weather_ltd = form.weather_ltd.data
        destination.weather_ltd = form.weather_lng.data
        # destination.photo_folder_url = photo_folder_url  # trenger ikke oppdatere denne
        if request_featured_photo:
            destination.featured_photo_filename = featured_photo_filename
        if request_featured_photo:
            destination.featured_photo_extension = featured_photo_extension
        destination.description = form.description.data
        # edited by ??
        db.session.commit()

    if new:
        d = Destination.query.order_by(Destination.id.desc()).first()
    else:
        d = destination

    # Additional photos
    if request.files.getlist('additional_photos'):
        additional_photos_object = []
        for photo in request.files.getlist('additional_photos'):
            photo_folder_name = d.photo_folder_url.split(
                '/static/uploads/images/')[-1]
            additional_photo_folder_name = photo_folder_name + 'additional_photos'
            additional_photo_with_folder = images.save(
                photo, folder=additional_photo_folder_name)
            additional_photo = additional_photo_with_folder.split('/')[2]
            additional_photo_filename = additional_photo.split('.')[0]
            additional_photo_extension = additional_photo.split('.')[-1]
            photo_dir = os.path.join(
                current_app.config["UPLOADED_IMAGES_DEST"],
                additional_photo_folder_name)

            current_app.q.enqueue(create_image_set, photo_dir,
                                  additional_photo)

            additional_photos_object.append(
                AdditionalPhotos(
                    additional_photo_filename=additional_photo_filename,
                    additional_photo_extension=additional_photo_extension,
                    destination_id=d.id))
        db.session.bulk_save_objects(additional_photos_object)

    # COST
    cost_form_currency = form.cost_form_currency.data
    if cost_form_currency != 'EUR':  # EUR on default
        # Getting rate from ratesAPI
        payload = {'base': cost_form_currency, 'symbols': 'EUR'}
        api_currency_data = requests.get('https://api.ratesapi.io/api/latest',
                                         params=payload)

        if api_currency_data.status_code == 200:
            json_api_currency_data = api_currency_data.json()
            conversion_rate = json_api_currency_data['rates']['EUR']

            cost_form_currency = 'EUR'

            beer_at_establishment = Decimal(
                conversion_rate) * form.beer_at_establishment.data  # required
            coffee_at_establishment = Decimal(
                conversion_rate
            ) * form.coffee_at_establishment.data  # required
            restaurant_inexpensive_meal = Decimal(
                conversion_rate
            ) * form.restaurant_inexpensive_meal.data  # required
            groceries_one_week = Decimal(
                conversion_rate) * form.groceries_one_week.data  # required
            car_rent_one_week = \
                (Decimal(conversion_rate) * form.car_rent_one_week.data) if (type(form.car_rent_one_week.data) == Decimal) \
                else 0
            gas_one_liter = \
                (Decimal(conversion_rate) * form.gas_one_liter.data) if (type(form.gas_one_liter.data) == Decimal) else 0
            km_per_day = \
                (Decimal(conversion_rate) * form.km_per_day.data) if (type(form.km_per_day.data) == Decimal) else 0
            tent_per_day = \
                (Decimal(conversion_rate) * form.tent_per_day.data) if (type(form.tent_per_day.data) == Decimal) else None
            van_per_day = \
                (Decimal(conversion_rate) * form.van_per_day.data) if (type(form.van_per_day.data) == Decimal) else None
            camping_per_day = \
                (Decimal(conversion_rate) * form.camping_per_day.data) if (type(form.camping_per_day.data) == Decimal) \
                else None
            hostel_per_day = \
                (Decimal(conversion_rate) * form.hostel_per_day.data) if (type(form.hostel_per_day.data) == Decimal) \
                else None
            apartment_per_day = \
                (Decimal(conversion_rate) * form.apartment_per_day.data) if (type(form.apartment_per_day.data) == Decimal) \
                else None
            house_per_day = \
                (Decimal(conversion_rate) * form.house_per_day.data) if (type(form.house_per_day.data) == Decimal) else None
            hotel_per_day = \
                        (Decimal(conversion_rate) * form.hotel_per_day.data) if (type(form.hotel_per_day.data) == Decimal) else None
        else:
            beer_at_establishment = form.beer_at_establishment.data  # required
            coffee_at_establishment = form.coffee_at_establishment.data  # required
            restaurant_inexpensive_meal = form.restaurant_inexpensive_meal.data  # required
            groceries_one_week = form.groceries_one_week.data  # required
            car_rent_one_week = form.car_rent_one_week.data if (type(form.car_rent_one_week.data) == Decimal) \
                else 0
            gas_one_liter = form.gas_one_liter.data if (type(
                form.gas_one_liter.data) == Decimal) else 0
            km_per_day = form.km_per_day.data if (type(form.km_per_day.data)
                                                  == Decimal) else 0
            tent_per_day = form.tent_per_day.data if (type(
                form.tent_per_day.data) == Decimal) else None
            van_per_day = form.van_per_day.data if (type(form.van_per_day.data)
                                                    == Decimal) else None
            camping_per_day = form.camping_per_day.data if (type(
                form.camping_per_day.data) == Decimal) else None
            hostel_per_day = form.hostel_per_day.data if (type(
                form.hostel_per_day.data) == Decimal) else None
            apartment_per_day = form.apartment_per_day.data if (type(form.apartment_per_day.data) == Decimal) \
                else None
            house_per_day = form.house_per_day.data if (type(
                form.house_per_day.data) == Decimal) else None
            hotel_per_day = form.hotel_per_day.data if (type(
                form.hotel_per_day.data) == Decimal) else None
    else:
        beer_at_establishment = form.beer_at_establishment.data  # required
        coffee_at_establishment = form.coffee_at_establishment.data  # required
        restaurant_inexpensive_meal = form.restaurant_inexpensive_meal.data  # required
        groceries_one_week = form.groceries_one_week.data  # required
        car_rent_one_week = form.car_rent_one_week.data if (type(
            form.car_rent_one_week.data) == Decimal) else 0
        gas_one_liter = form.gas_one_liter.data if (type(
            form.gas_one_liter.data) == Decimal) else 0
        km_per_day = form.km_per_day.data if (type(form.km_per_day.data)
                                              == Decimal) else 0
        tent_per_day = form.tent_per_day.data if (type(form.tent_per_day.data)
                                                  == Decimal) else None
        van_per_day = form.van_per_day.data if (type(form.van_per_day.data)
                                                == Decimal) else None
        camping_per_day = form.camping_per_day.data if (type(
            form.camping_per_day.data) == Decimal) else None
        hostel_per_day = form.hostel_per_day.data if (type(
            form.hostel_per_day.data) == Decimal) else None
        apartment_per_day = form.apartment_per_day.data if (type(
            form.apartment_per_day.data) == Decimal) else None
        house_per_day = form.house_per_day.data if (type(
            form.house_per_day.data) == Decimal) else None
        hotel_per_day = form.hotel_per_day.data if (type(
            form.hotel_per_day.data) == Decimal) else None

    accomodations_form_data = {
        "tent_per_day": tent_per_day,
        "van_per_day": van_per_day,
        "camping_per_day": camping_per_day,
        "hostel_per_day": hostel_per_day,
        "apartment_per_day": apartment_per_day,
        "house_per_day": house_per_day,
        "hotel_per_day": hotel_per_day
    }

    for key in list(accomodations_form_data
                    ):  # Makes a list of al the keys in the dict
        if accomodations_form_data[key] is None:
            del accomodations_form_data[key]

    if accomodations_form_data:  # Checking so it's not empty
        cheapest_accomodation = min(accomodations_form_data,
                                    key=accomodations_form_data.get)
    else:  # if it is empty
        accomodations_form_data = {'no_info': 0}
        cheapest_accomodation = 'no_info'

    avg_weekly_cost = \
        3 * beer_at_establishment + \
        3 * coffee_at_establishment + \
        2 * restaurant_inexpensive_meal + \
        1 * groceries_one_week + \
        1 * car_rent_one_week + \
        7 * gas_one_liter * km_per_day + \
        7 * accomodations_form_data[cheapest_accomodation]

    avg_weekly_cost_rounded = int(avg_weekly_cost)

    if new:
        cost = Cost(
            cost_form_currency=cost_form_currency,
            beer_at_establishment=beer_at_establishment,
            coffee_at_establishment=coffee_at_establishment,
            restaurant_inexpensive_meal=restaurant_inexpensive_meal,
            groceries_one_week=groceries_one_week,
            car_rent_one_week=car_rent_one_week,
            gas_one_liter=gas_one_liter,
            km_per_day=km_per_day,
            tent_per_day=tent_per_day,
            van_per_day=van_per_day,
            camping_per_day=camping_per_day,
            hostel_per_day=hostel_per_day,
            apartment_per_day=apartment_per_day,
            house_per_day=house_per_day,
            hotel_per_day=hotel_per_day,
            accomodation_used_for_avg_weekly_cost=cheapest_accomodation,
            avg_weekly_cost=avg_weekly_cost_rounded,
            destination_id=d.id)
        db.session.add(cost)
    else:
        cost = Cost.query.filter(Cost.destination_id == d.id).first()
        cost.beer_at_establishment = beer_at_establishment
        cost.cost_form_currency = cost_form_currency
        cost.coffee_at_establishment = coffee_at_establishment
        cost.restaurant_inexpensive_meal = restaurant_inexpensive_meal
        cost.groceries_one_week = groceries_one_week
        cost.car_rent_one_week = car_rent_one_week
        cost.gas_one_liter = gas_one_liter
        cost.km_per_day = km_per_day
        cost.tent_per_day = tent_per_day
        cost.van_per_day = van_per_day
        cost.camping_per_day = camping_per_day
        cost.hostel_per_day = hostel_per_day
        cost.apartment_per_day = apartment_per_day
        cost.house_per_day = house_per_day
        cost.hotel_per_day = hotel_per_day
        cost.accomodation_used_for_avg_weekly_cost = cheapest_accomodation
        cost.avg_weekly_cost = avg_weekly_cost_rounded

    # ROUTES
    if new:
        routes = Routes(traditional=form.traditional.data,
                        sport=form.sport.data,
                        bouldering=form.bouldering.data,
                        main_discipline=form.main_discipline.data,
                        easy_routes=form.easy_routes.data,
                        intermediate_routes=form.intermediate_routes.data,
                        hard_routes=form.hard_routes.data,
                        very_hard_routes=form.very_hard_routes.data,
                        total_routes=form.total_routes.data,
                        total_trad=form.total_trad.data,
                        total_sport=form.total_sport.data,
                        total_boulders=form.total_boulders.data,
                        destination_id=d.id)
        db.session.add(routes)
    else:
        routes = Routes.query.filter(Routes.destination_id == d.id).first()
        routes.traditional = form.traditional.data
        routes.sport = form.sport.data
        routes.bouldering = form.bouldering.data
        routes.main_discipline = form.main_discipline.data
        routes.easy_routes = form.easy_routes.data
        routes.intermediate_routes = form.intermediate_routes.data
        routes.hard_routes = form.hard_routes.data
        routes.very_hard_routes = form.very_hard_routes.data
        routes.total_routes = form.total_routes.data
        routes.total_trad = form.total_trad.data
        routes.total_sport = form.total_sport.data
        routes.total_boulders = form.total_boulders.data
        # db.session.commit()  # her?

    # MONTHS
    if new:
        months = Months(january=form.january.data,
                        february=form.february.data,
                        march=form.march.data,
                        april=form.april.data,
                        may=form.may.data,
                        june=form.june.data,
                        july=form.july.data,
                        august=form.august.data,
                        september=form.september.data,
                        october=form.october.data,
                        november=form.november.data,
                        december=form.december.data,
                        destination_id=d.id)
        db.session.add(months)
    else:
        months = Months.query.filter(Months.destination_id == d.id).first()
        months.january = form.january.data
        months.february = form.february.data
        months.march = form.march.data
        months.april = form.april.data
        months.may = form.may.data
        months.june = form.june.data
        months.july = form.july.data
        months.august = form.august.data
        months.september = form.september.data
        months.october = form.october.data
        months.november = form.november.data
        months.december = form.december.data

    # ACCOMODATION
    if new:
        accomodation = Accomodation(tent=form.tent.data,
                                    van=form.van.data,
                                    hostel=form.hostel.data,
                                    camping=form.camping.data,
                                    apartment=form.apartment.data,
                                    house=form.house.data,
                                    hotel=form.hotel.data,
                                    destination_id=d.id)
        db.session.add(accomodation)
    else:
        accomodation = Accomodation.query.filter(
            Accomodation.destination_id == d.id).first()
        accomodation.tent = form.tent.data
        accomodation.van = form.van.data
        accomodation.hostel = form.hostel.data
        accomodation.camping = form.camping.data
        accomodation.apartment = form.apartment.data
        accomodation.house = form.house.data
        accomodation.hotel = form.hotel.data

    # APPROACH
    if new:
        approach = Approach(easy=form.easy.data,
                            moderate=form.moderate.data,
                            hardcore=form.hardcore.data,
                            destination_id=d.id)
        db.session.add(approach)
    else:
        approach = Approach.query.filter(
            Approach.destination_id == d.id).first()
        approach.easy = form.easy.data
        approach.moderate = form.moderate.data
        approach.hardcore = form.hardcore.data

    # CAR
    if new:
        car = Car(
            not_needed=form.not_needed.data,
            good_to_have=form.good_to_have.data,
            must_have=form.must_have.data,
            # rent_scooter_locally=form.rent_scooter_locally.data,
            # rent_car_locally=form.rent_car_locally.data,
            destination_id=d.id)
        db.session.add(car)
    else:
        car = Car.query.filter(Car.destination_id == d.id).first()
        car.not_needed = form.not_needed.data
        car.good_to_have = form.good_to_have.data
        car.must_have = form.must_have.data
        # car.rent_scooter_locally = form.rent_scooter_locally.data,
        # car.rent_car_locally = form.rent_car_locally.data

    db.session.commit()
    return True  # Hvordan returnere False hvis den failer?
Beispiel #28
0
def gen_fake_data():
    # 生成假管理员。
    a1 = Admin(name='刘延', phone_num=app.config['SUPER_ADMIN_PHONE_NUM'])
    a2 = Admin(name='王宁', phone_num='15511127075')
    db.session.add_all([a1, a2])
    db.session.commit()

    # 生成假机器。
    m1 = Machine(
        latitude='38.0348631337',  # QQ地图坐标拾取器。 http://lbs.qq.com/tool/getpoint/
        longitude='114.5281523466',
        admin_id=1,
        state=1,
        info='育才街,金领大厦。')
    m2 = Machine(latitude='38.0481544341',
                 longitude='114.3547850847',
                 admin_id=1,
                 state=-2,
                 info='御园路。')
    m3 = Machine(latitude='38.0342006313',
                 longitude='114.4178228152',
                 admin_id=2,
                 state=-1,
                 info='裕华西路,苑东街。')
    db.session.add_all([m1, m2, m3])
    db.session.commit()

    # 生成假用户。
    u1 = User(openid='wx_test1')
    u2 = User(openid='wx_test2')
    db.session.add_all([u1, u2])
    db.session.commit()

    # 生成假车。
    c1 = Car(name='测试车1')
    c2 = Car(name='测试车2')
    db.session.add_all([c1, c2])
    db.session.commit()

    # 生成假订单。
    o1 = Order(transaction_id='fake_1',
               status=1,
               user=u1,
               machine=m1,
               admin=m1.admin,
               car=c1,
               fee=1000)
    o2 = Order(transaction_id='fake_2',
               status=1,
               user=u1,
               machine=m2,
               admin=m2.admin,
               car=c2,
               fee=1500)
    o3 = Order(transaction_id='fake_3',
               status=1,
               user=u2,
               machine=m3,
               admin=m3.admin,
               car=c1,
               fee=1000)
    o4 = Order(transaction_id='fake_4',
               status=1,
               user=u2,
               machine=m1,
               admin=m1.admin,
               car=c1,
               fee=1001)

    db.session.add_all([o1, o2, o3, o4])
    db.session.commit()
Beispiel #29
0
def index():
    add_spend_form = AddCarSpendForm()
    add_spend_form.car.choices = [
        (c.id, c.model.manufacturer + ' ' + c.model.model)
        for c in Car.query.filter(Car.user_id == current_user.id)
    ]
    add_spend_form.spend_type.choices = [(t.id, t.type)
                                         for t in CarSpendType.query.all()]
    if add_spend_form.validate_on_submit():
        spend = CarSpend(timestamp=add_spend_form.timestamp.data,
                         trip=add_spend_form.trip.data,
                         price=add_spend_form.price.data,
                         amount=add_spend_form.amount.data,
                         car_id=add_spend_form.car.data,
                         car_spend_type_id=add_spend_form.spend_type.data)
        db.session.add(spend)
        db.session.commit()
        flash(_('Spend added'))
        return redirect(url_for('spends.index'))

    add_spend_type_form = AddCarSpendTypeForm()
    if add_spend_type_form.validate_on_submit():
        type = CarSpendType(type=add_spend_type_form.type.data)
        db.session.add(type)
        db.session.commit()
        flash(_('New type car spend was added'))
        return redirect(url_for('spends.index'))

    add_new_car_form = AddNewCarForm()
    if add_new_car_form.validate_on_submit():
        car = CarModel(manufacturer=add_new_car_form.manufacturer.data,
                       model=add_new_car_form.model.data,
                       fuel_type=add_new_car_form.fueltype.data,
                       engine_volume=add_new_car_form.enginevolume.data,
                       engine_power=add_new_car_form.enginepower.data)
        db.session.add(car)
        db.session.commit()
        flash(_('New model added'))
        return redirect(url_for('spends.index'))

    add_car_form = AddCarForm()
    add_car_form.car.choices = [
        (m.id, m.manufacturer + ' ' + m.model + ', ' + str(m.engine_volume))
        for m in CarModel.query.all()
    ]
    if add_car_form.validate_on_submit():
        car = Car(car_model_id=add_car_form.car.data, user_id=current_user.id)
        db.session.add(car)
        db.session.commit()
        flash(_('New car added'))
        return redirect(url_for('spends.index'))

    cars = Car.query.filter(Car.user_id == current_user.id).all()
    car_id = [c.id for c in cars]
    page = request.args.get('page', 1, type=int)
    spends = CarSpend.query.filter(CarSpend.car_id.in_(car_id)).order_by(
        CarSpend.timestamp.desc()).paginate(
            page, current_app.config['POSTS_PER_PAGE'], False)
    next_url = url_for('spends.index', car_id=car_id,
                       page=spends.next_num) if spends.has_next else None
    prev_url = url_for('spends.index', car_id=car_id,
                       page=spends.prev_num) if spends.has_prev else None
    return render_template('spends.html',
                           title=_('Spends'),
                           spends=spends.items,
                           next_url=next_url,
                           prev_url=prev_url,
                           add_spend_form=add_spend_form,
                           add_spend_type_form=add_spend_type_form,
                           cars=cars,
                           add_new_car_form=add_new_car_form,
                           add_car_form=add_car_form)
Beispiel #30
0
def seed_data():
    users = [
        User(
            data={
                'username': '******',
                'email': '*****@*****.**',
                'password': '******'
            }
        ),
        User(
            data={
                'username': '******',
                'email': '*****@*****.**',
                'password': '******'
            }
        ),
        User(
            data={
                'username': '******',
                'email': '*****@*****.**',
                'password': '******'
            }
        ),
        User(
            data={
                'username': '******',
                'email': '*****@*****.**',
                'password': '******'
            }
        ),
        User(
            data={
                'username': '******',
                'email': '*****@*****.**',
                'password': '******'
            }
        ),
        User(
            data={
                'username': '******',
                'email': '*****@*****.**',
                'password': '******'
            }
        ),
        User(
            data={
                'username': '******',
                'email': '*****@*****.**',
                'password': '******'
            }
        )
    ]
    users[0].role = 0
    users[1].role = 1
    users[2].role = 3
    db.session.bulk_save_objects(users)

    cars = [
        Car(
            data={
                'name': 'car123',
                'make': 'tesla',
                'body_type': 1,
                'colour': 1,
                'seats': 4,
                'location': '[-37.177378, 144.159114]',
                'rate': 5.5,
                'status': 1
            }
        ),
        Car(
            data={
                'name': 'cybertruck',
                'make': 'tesla',
                'body_type': 2,
                'colour': 2,
                'seats': 6,
                'location': '[-37.277378, 144.259114]',
                'rate': 5.5,
                'status': 1
            }
        ),
        Car(
            data={
                'name': 'car2',
                'make': 'honda',
                'body_type': 3,
                'colour': 3,
                'seats': 4,
                'location': '[-37.377378, 144.359114]',
                'rate': 5.5,
                'status': 1
            }
        ),
        Car(
            data={
                'name': 'motorcycle',
                'make': 'kawasaki',
                'body_type': 4,
                'colour': 4,
                'seats': 4,
                'location': '[-37.477378, 144.459114]',
                'rate': 5.5,
                'status': 1
            }
        ),
        Car(
            data={
                'name': 'dragon',
                'make': 'SpaceX',
                'body_type': 6,
                'colour': 6,
                'seats': 7,
                'location': '[-37.577378, 144.559114]',
                'rate': 160000000,
                'status': 1
            }
        ),
        Car(
            data={
                'name': 'car1',
                'make': 'toyota',
                'body_type': 5,
                'colour': 5,
                'seats': 4,
                'location': '[-37.777378, 144.759114]',
                'rate': 5.5,
                'status': 1
            }
        )
    ]
    db.session.bulk_save_objects(cars)

    db.session.commit()

    bookings = [
        Booking(
            data={
                "car_id": 1,
                "hours": 1,
                "status": 2,
                "timebooked": "2020-06-10T01:02:49",
                "timeend": "2020-06-10T03:16:24",
                "time_start": "2020-06-10T02:02:00",
                "user_id": 3
            }
        ),
        Booking(
            data={
                "car_id": 2,
                "hours": 1,
                "status": 2,
                "timebooked": "2020-06-11T01:02:49",
                "timeend": "2020-06-11T03:16:24",
                "time_start": "2020-06-11T02:02:00",
                "user_id": 4
            }
        ),
        Booking(
            data={
                "car_id": 3,
                "hours": 1,
                "status": 2,
                "timebooked": "2020-06-12T01:02:49",
                "timeend": "2020-06-12T03:16:24",
                "time_start": "2020-06-12T02:02:00",
                "user_id": 5
            }
        ),
        Booking(
            data={
                "car_id": 4,
                "hours": 1,
                "status": 2,
                "timebooked": "2020-06-13T01:02:49",
                "timeend": "2020-06-13T03:16:24",
                "time_start": "2020-06-13T02:02:00",
                "user_id": 6
            }
        ),
        Booking(
            data={
                "car_id": 5,
                "hours": 1,
                "status": 2,
                "timebooked": "2020-06-14T01:02:49",
                "timeend": "2020-06-14T03:16:24",
                "time_start": "2020-06-14T02:02:00",
                "user_id": 7
            }
        ),
        Booking(
            data={
                "car_id": 6,
                "hours": 1,
                "status": 2,
                "timebooked": "2020-06-14T01:02:49",
                "timeend": "2020-06-14T03:16:24",
                "time_start": "2020-06-14T02:02:00",
                "user_id": 3
            }
        ),
        Booking(
            data={
                "car_id": 5,
                "hours": 1,
                "status": 2,
                "timebooked": "2020-06-13T01:02:49",
                "timeend": "2020-06-13T03:16:24",
                "time_start": "2020-06-13T02:02:00",
                "user_id": 3
            }
        ),
        Booking(
            data={
                "car_id": 4,
                "hours": 1,
                "status": 2,
                "timebooked": "2020-06-12T01:02:49",
                "timeend": "2020-06-12T03:16:24",
                "time_start": "2020-06-12T02:02:00",
                "user_id": 5
            }
        ),
        Booking(
            data={
                "car_id": 3,
                "hours": 1,
                "status": 2,
                "timebooked": "2020-06-11T01:02:49",
                "timeend": "2020-06-11T03:16:24",
                "time_start": "2020-06-11T02:02:00",
                "user_id": 3
            }
        ),
        Booking(
            data={
                "car_id": 2,
                "hours": 1,
                "status": 2,
                "timebooked": "2020-06-11T01:02:49",
                "timeend": "2020-06-11T03:16:24",
                "time_start": "2020-06-11T02:02:00",
                "user_id": 7
            }
        ),
        Booking(
            data={
                "car_id": 1,
                "hours": 1,
                "status": 3,
                "timebooked": "2020-06-11T01:02:49",
                "timeend": "2020-06-11T03:16:24",
                "time_start": "2020-06-11T02:02:00",
                "user_id": 2
            }
        ),
        Booking(
            data={
                "car_id": 2,
                "hours": 1,
                "status": 3,
                "timebooked": "2020-06-11T01:02:49",
                "timeend": "2020-06-11T03:16:24",
                "time_start": "2020-06-11T02:02:00",
                "user_id": 2
            }
        ),
        Booking(
            data={
                "car_id": 2,
                "hours": 1,
                "status": 3,
                "timebooked": "2020-06-11T01:02:49",
                "timeend": "2020-06-11T03:16:24",
                "time_start": "2020-06-11T02:02:00",
                "user_id": 2
            }
        )
    ]
    db.session.bulk_save_objects(bookings)

    db.session.commit()