def dettaglio_corso(corso_id): # Gestione aggiunta serate form = SerataForm() if form.validate_on_submit(): data = form.data.data nome = form.nome.data descrizione = form.descrizione.data link_partecipazione = form.link_partecipazione.data link_registrazione = form.link_registrazione.data nuova_serata = Serata(nome, descrizione, data, link_partecipazione, link_registrazione) nuova_serata.corso_id = corso_id # Reset dei campi della form form.data.data = "" form.nome.data = "" form.descrizione.data = "" form.link_partecipazione.data = "" form.link_registrazione.data = "" try: db.session.add(nuova_serata) db.session.commit() except Exception as e: flash("Errore durante l'inserimento della serata: %s" % str(e), 'error') db.session.rollback() corso = Corso.query.get_or_404(corso_id) return render_template('corsi_dettaglio.html', corso=corso, form=form)
def create_db(): FLASK_CONFIG = os.getenv("FLASK_CONFIG", "None") app = create_app(FLASK_CONFIG) app_context = app.app_context() app_context.push() from project.serate.models import Serata from project.corsi.models import Corso from project.tags.models import Tag from project.ruoli.models import Ruolo try: ruolo_list = Ruolo.query.all() except Exception as message: print("No db data") print("Creazione struttura senza utenti, post e commenti") db.create_all() print("Start creating roles") Ruolo.insert_roles() print("Start creating tags") Tag.insert_test_tags() print("Start creating corsi") Corso.insert_test_corsi() print("Start creating serate") Serata.insert_test_serate() db.session.remove() app_context.pop()
def setUp(self): self.app = create_app('testing') self.app_context = self.app.app_context() self.app_context.push() db.create_all() Tag.insert_test_tags() Corso.insert_test_corsi() Serata.insert_test_serate() self.client = self.app.test_client()
def dettaglio_corso(corso_id): # Gestione aggiunta serate form = SerataForm() if form.validate_on_submit(): data = form.data.data #date (not datetime!) object txt_time = form.txt_time.data #string formato HH:MM if not txt_time: txt_time = "00:00" # Converto in oggetto datetime.time per combinarlo con la data # in fase di creazione oggetto Serata data_time = datetime.datetime.strptime(txt_time, '%H:%M').time() nome = form.nome.data descrizione = form.descrizione.data link_partecipazione = form.link_partecipazione.data link_registrazione = form.link_registrazione.data form_corso_id = form.select_corsi.data nuova_serata = Serata( nome, descrizione, datetime.datetime.combine( data, data_time), # Combino data con ore-minuti link_partecipazione, link_registrazione) nuova_serata.corso_id = form_corso_id # Reset dei campi della form serate form.data.data = "" form.txt_time.data = "" form.nome.data = "" form.descrizione.data = "" form.link_partecipazione.data = "" form.link_registrazione.data = "" db.session.add(nuova_serata) try: db.session.commit() flash('Inserimento avvenuto con successo.', 'success') except Exception as e: flash("Errore durante l'inserimento della serata: %s" % str(e), 'error') db.session.rollback() # Preselezione nel form serate (comunque modificabile) del corso visualizzato form.select_corsi.data = corso_id corso = Corso.query.get_or_404(corso_id) return render_template('corsi_dettaglio.html', corso=corso, form=form)
def create_test_db(): print("Start creating test db") FLASK_CONFIG = os.getenv("FLASK_CONFIG", "None") app = create_app(FLASK_CONFIG) app_context = app.app_context() app_context.push() from project.serate.models import Serata from project.corsi.models import Corso from project.tags.models import Tag from project.ruoli.models import Ruolo from project.utenti.models import Utente from project.blog.models import Post from project.commenti.models import Comment from random import randint from faker import Faker try: user_list = Utente.query.all() course_list = Corso.query.all() post_list = Post.query.all() comment_list = Comment.query.all() post_list = Post.query.all() ruolo_list = Ruolo.query.all() print("DB Tables already exists") except Exception as message: print(f"No db data exist, inserting them:") def users(count=100): fake = Faker("it_IT") i = 0 while i < count: u = Utente( email=fake.email(), username=fake.user_name(), password="******", confirmed=True, name=fake.name(), location=fake.city(), about_me=fake.text(), member_since=fake.past_date(), ) db.session.add(u) try: db.session.commit() i += 1 except IntegrityError: db.session.rollback() def posts(count=100): fake = Faker("it_IT") user_count = Utente.query.count() for i in range(count): u = Utente.query.offset(randint(0, user_count - 1)).first() p = Post(body=fake.text(), timestamp=fake.past_date(), author=u) db.session.add(p) db.session.commit() def comments(count=100): fake = Faker("it_IT") user_count = Utente.query.count() post_count = Post.query.count() for i in range(count): u = Utente.query.offset(randint(0, user_count - 1)).first() p = Post.query.offset(randint(0, post_count - 1)).first() c = Comment(body=fake.text(), timestamp=fake.past_date(), post=p, author=u) db.session.add(c) db.session.commit() print("Creating structure") db.create_all() db.session.commit() print("Creating roles") Ruolo.insert_roles() print("Creating fake users") users(2) print("Creating test users") Utente.insert_test_users() print("Creating tags") Tag.insert_test_tags() print("Creating corsi") Corso.insert_test_corsi() print("Creating serate") Serata.insert_test_serate() print("Creating posts fake") posts(3) print("Creating commenti fake") comments(3) print("\nDB Dummy data inserted succesfully") db.session.remove() app_context.pop()
print("Creating roles") Ruolo.insert_roles() print("Creating fake users") users(20) print("Creating test users") Utente.insert_test_users() print("Creating tags") Tag.insert_test_tags() print("Creating corsi") Corso.insert_test_corsi() print("Creating serate") Serata.insert_test_serate() print("Creating posts fake") posts() print("Creating commenti fake") comments() ###DEBUGS print("\n#### DATA DEBUG ####\n") # Read a course courses = Corso.query.all() print(f"\nList of all courses: {courses}") # Get a course by name
try: db.session.add(c) db.session.commit() except Exception as e: print(f"Eccezione: {e}") db.session.rollback() ################################################# ##### 3. Create Serate ###### print("Start creating serate") c = Corso.query.filter_by( nome="Flask").first() # Ritorna tutti i risultati s1 = Serata( "Flask 1", "Introduzione a Flask e ai web server con Jinja Base", datetime.date(2020, 10, 12), ) s1.link_registrazione = 'https://www.youtube.com/watch?v=FPI5-oGKiVI&t=759s' s2 = Serata("Flask 2", "Jinja avanzato e Forms", datetime.date(2020, 10, 19)) s2.link_registrazione = 'https://www.youtube.com/watch?v=C-iEkd-BpE4' s3 = Serata("Flask 3", "Flask con Database", datetime.date(2020, 10, 26)) s3.link_registrazione = 'https://www.youtube.com/watch?v=rCXhuSiOcZU' s4 = Serata("Flask 4", "Review", datetime.date(2020, 11, 2)) s4.link_registrazione = 'https://www.youtube.com/watch?v=izIKXOrbI5U' s5 = Serata("Flask 5", "Review con Mario", datetime.date(2020, 11, 9)) '''TO BE DEFINED s6 = Serata( "Flask 6",