def createPost(): session = getSession() name = request.form.get('name') location = request.form.get('location') size = request.form.get('size') try: """ connection.execute( "INSERT INTO tracks(name,location,size) VALUES(%s, %s,%s)", name, location, size ) """ track = Track() track.name = name track.location = location track.size = size session.add(track) session.commit() files = request.files.getlist("images") imagesPaths = uploadfiles(files, folderTracks) for imagesPath in imagesPaths: trackImage = TrackImage() trackImage.src = imagesPath trackImage.track_id = track.id session.add(trackImage) session.commit() return redirect(url_for('track.tracks')) except Exception as error: session.rollback() raise error return render_template('createTracks.html')
def run(self): session = getSession() for item in data: track = self.db.session.query(Track).filter( Track.name == item.get("name") ).first() exist = bool(track) if not exist: track = Track() track.name = item.get("name") track.location = item.get("location") track.size = item.get("size") or 5000 if not exist: self.db.session.add(track) self.db.session.commit() images = item.get("images") if images: for image in images: haveImage = self.db.session.query(TrackImage).filter( TrackImage.track_id == track.id ).first() if not haveImage: ext = Path(image).suffix namefile = uuid.uuid4().hex + ext file = open(path + image, 'rb') s3.put_object(Bucket=bucket, Key=to + namefile, Body=file) trackImage = TrackImage() trackImage.src = namefile trackImage.track_id = track.id self.db.session.add(trackImage)