Exemplo n.º 1
0
def card():

    if request.method == 'GET':

        card_from = CardForm()

        return render_template('cards.html', form=card_from)

    else:
        title = request.form.get('title')

        content = request.form.get('content')

        note = Note(title=title, content=content)

        user_id = session.get('user_id')

        user = User.query.filter(User.id == user_id).first()

        note.author = user

        db.session.add(note)

        db.session.commit()

        return redirect(url_for('note.notes'))
Exemplo n.º 2
0
 def mutate(self, info, title, body, username):
     user = User.query.filter_by(username=username).first()
     note = Note(title=title, body=body)
     if user is not None:
         note.author = user
     db.session.add(note)
     db.session.commit()
     return CreateNote(note=note)
Exemplo n.º 3
0
 def test_note(self):
     s = b'<note name="love letter to Jane"><text color="red">Dear Jane,'\
         b'</text><text fontsize="16">I LOVE YOU!</text></note>'
     xml = ET.fromstring(s)
     n = Note(xml)
     self.assertEqual(n.attributes, {'name': 'love letter to Jane'})
     self.assertEqual(ET.tostring(n.to_xml()), s)
     self.assertEqual(len(n.Texts), 2)
Exemplo n.º 4
0
def index(request):
    # Cria uma lista de <li>'s para cada anotação
    # Se tiver curiosidade: https://docs.python.org/3/tutorial/datastructures.html#list-comprehensions

    # A string de request sempre começa com o tipo da requisição (ex: GET, POST)
    if request.startswith('POST'):
        request = request.replace('\r', '')  # Remove caracteres indesejados
        # Cabeçalho e corpo estão sempre separados por duas quebras de linha

        partes = request.split('\n\n')
        corpo = partes[1]

        params = {}
        # Preencha o dicionário params com as informações do corpo da requisição
        # O dicionário conterá dois valores, o título e a descrição.
        # Posteriormente pode ser interessante criar uma função que recebe a
        # requisição e devolve os parâmetros para desacoplar esta lógica.
        # Dica: use o método split da string e a função unquote_plus
        for chave_valor in corpo.split('&'):
            chave_valor = unquote_plus(chave_valor)
            split2 = chave_valor.split('=')
            params[split2[0]] = split2[1]

        note = Note()
        note.title = params['titulo']
        note.content = params['detalhes']

        if "update" in params.keys():
            note.id = params["update"]

            db.update(note)
            print(params["update"])
            print(id)

        elif "delete" in params.keys():
            db.delete(params["delete"])

        else:
            db.add(note)

        return build_response(code=303,
                              reason='See Other',
                              headers='Location: /')

    elif request.startswith('GET'):

        note_template = load_template('components/note.html')
        notes_li = [
            note_template.format(title=note.title,
                                 details=note.content,
                                 id=note.id) for note in db.get_all()
        ]
        notes = '\n'.join(notes_li)
        return build_response(load_template('index.html').format(notes=notes))
Exemplo n.º 5
0
    def post(self):

        json_data = request.get_json()

        if not json_data:
            return {'message': 'No input data provided'}, 400

        # Validate and deserialize input
        try:
            data, errors = note_schema.load(json_data)

            if not data.get('title') or not data.get('text'):
                raise ValidationError('Data not provided')

        except ValidationError as err:
            return err.messages, 422

        db_session = Session()

        # Create new note
        note = Note(id=str(uuid.uuid4()),
                    title=data.get('title'),
                    text=data.get('text'),
                    date_create=int(time.time()),
                    date_update=int(time.time()))

        db_session.add(note)
        db_session.commit()

        result, errors = note_schema.dump(
            db_session.query(Note).filter(Note.id == note.id).first())

        db_session.close()
        return result, 201
Exemplo n.º 6
0
def index(request, db):
    # A string de request sempre começa com o tipo da requisição (ex: GET, POST)
    if request.startswith('POST'):
        request = request.replace('\r', '')  # Remove caracteres indesejados
        # Cabeçalho e corpo estão sempre separados por duas quebras de linha
        partes = request.split('\n\n')
        corpo = partes[1]
        params = {}
        p1 = partes[1]
        # Preencha o dicionário params com as informações do corpo da requisição
        # O dicionário conterá dois valores, o título e a descrição.
        # Posteriormente pode ser interessante criar uma função que recebe a
        # requisição e devolve os parâmetros para desacoplar esta lógica.
        # Dica: use o método split da string e a função unquote_plus
        print('p1', p1)
        if (p1.startswith('id')):
            idd = p1[3:]
            db.delete(idd)
        elif (p1.startswith('update')):
            newNote = {}
            for chave_valor in p1.split('&'):
                if 'titulo' in chave_valor:
                    titulo = chave_valor[7:]
                    titulo = urllib.parse.unquote_plus(titulo)
                    newNote['title'] = titulo
                elif 'id' in chave_valor:
                    aiD = chave_valor[3:]
                    newNote['id'] = aiD
                elif 'detalhes' in chave_valor:
                    detalhes = chave_valor[9:]
                    detalhes = urllib.parse.unquote_plus(detalhes)
                    newNote['content'] = detalhes
            db.update(titulo, detalhes, aiD)

        else:
            for chave_valor in corpo.split('&'):
                if 'titulo' in chave_valor:
                    titulo = chave_valor[7:]
                    titulo = urllib.parse.unquote_plus(titulo)
                    params['titulo'] = titulo

                elif 'detalhes' in chave_valor:
                    detalhes = chave_valor[9:]
                    detalhes = urllib.parse.unquote_plus(detalhes)
                    params['detalhes'] = detalhes

            note = Note(title=params['titulo'], content=params['detalhes'])
            db.add(note)


# O RESTO DO CÓDIGO DA FUNÇÃO index CONTINUA DAQUI PARA BAIXO..
    note_template = load_template('components/note.html')
    notes_li = [
        note_template.format(id=dados.id,
                             title=dados.title,
                             details=dados.content) for dados in load_data(db)
    ]
    notes = '\n'.join(notes_li)

    return load_template('index.html').format(notes=notes).encode()
Exemplo n.º 7
0
def get_note_from_post(corpo):
    note = []
    for chave_valor in corpo.split('&'):
        split = chave_valor.split('=')
        key = unquote_plus(split[0])
        value = unquote_plus(split[1])
        note.append(value)

    return Note(note[0], note[1], note[2])
Exemplo n.º 8
0
def save_note():
    myNote = Note(request.form['title'], request.form['text'],
                  session['user_id'])
    # Create
    db.session.add(myNote)
    try:
        db.session.commit()
    except:
        db.session.rollback()

    return redirect(url_for('dashboard'))
Exemplo n.º 9
0
def index(request):
    db = Database('banco-notes')

    if request.startswith('POST'):
        params = save_params(
            request
        )  #params = {'titulo':algm coisa, 'detalhes':outra coisa, 'id':outra coisa}
        #add_to_jsonfile(params, 'notes.json')
        if 'deletar' in params.keys():
            db.delete(params['deletar'])  #id
        elif params['id'] == 'None':
            db.add(
                Note(title=params['titulo'],
                     content=params['detalhes'],
                     id=params['id']))
        else:
            db.update(
                Note(title=params['titulo'],
                     content=params['detalhes'],
                     id=params['id']))

        return build_response(code=303,
                              reason='See Other',
                              headers='Location: /')

    else:
        # Cria uma lista de <li>'s para cada anotação
        print('notas do banco: ', db.get_all())

        note_template = load_template('components/note.html')
        notes_li = [
            note_template.format(id=note.id,
                                 title=note.title,
                                 details=note.content)
            for note in db.get_all()
        ]
        notes = '\n'.join(notes_li)

        print('----------------------------------------')

        return build_response(load_template('index.html').format(notes=notes))
Exemplo n.º 10
0
 def post(self, username):
     if username != auth.current_user().username:
         abort(401)
     args = self.reqparse.parse_args()
     try:
         user = auth.current_user()
         course_id = args['course_id']
         print("Course id = ", course_id)
         if course_id is not None:
             course = user.courses.filter_by(id=course_id).first()
             if not course:
                 abort(422)
             print("Course found: ", course)
             note = Note(text=args['text'], course=course, user_id=user.id)
         else:
             note = Note(text=args['text'], user_id=user.id)
         user.notes.append(note)
         db.session.add(note)
         db.session.commit()
         return note.to_dict()
     except SQLAlchemyError as e:
         abort(422)
Exemplo n.º 11
0
def add_new_note():
    form = AddNoteForm()
    if form.validate_on_submit():
        course_name = form.course_name.data
        n_translated = translation.createTranslation(form.note.data, "EN")
        n_translated = n_translated.replace('&#39;', '\'')
        new_note = Note(form.course_key.data, course_name.lower(),
                        n_translated)
        note_key = notesManager.add_note_to_db(new_note)
        flash(
            'Note Added: With course key: {} and Course Name: {} .  Share your notes with your friends or save it for future use: {}'
            .format(form.course_key.data, form.course_name.data, note_key))
        auto_gen_super_note(course_name.lower())
        return redirect('/index')
    return render_template('add_note.html', title='Add New Note', form=form)
Exemplo n.º 12
0
def post_into_note(corpo):
    new_note = []
    for chave_valor in corpo.split('&'):
        unquote = urllib.parse.unquote_plus(chave_valor).split('=')
        print('Unquote: {}'.format(unquote))

        if unquote[0] == 'deleteNote':
            db.delete(unquote[1])
            return None

        else:
            valor = unquote[1]
            print('Valor: {}'.format(valor))
            new_note.append(valor)

            print("New note: {}".format(new_note))

    return Note(new_note[0], new_note[1], new_note[2])
Exemplo n.º 13
0
def update_Entry(params, database_db):
    db = Database(database_db)
    val_list = list(params.values())
    db.update(Note(title=val_list[0], content=val_list[1], id=val_list[2]))
Exemplo n.º 14
0
def add_Entry(params, database_db):
    db = Database(database_db)
    val_list = list(params.values())
    db.add(Note(title=val_list[0], content=val_list[1]))
Exemplo n.º 15
0
from database import Database, Note

#Após executar este programa, um arquivo chamado banco.db deve ter aparecido na sua pasta
db = Database('banco')

#db.add(Note(title='Pão doce', content='Abra o pão e coloque o seu suco em pó favorito.'))
#db.add(Note(title=None, content='Lembrar de tomar água'))

notes = db.get_all()
for note in notes:
    print(f'Anotação {note.id}:\n  Título: {note.title}\n  Conteúdo: {note.content}\n')

db.update(Note(title='cabeleleila leila', content='hidratracao para o cabelo e para as unhas', id=4))

db.delete(1)
db.delete(2)
db.delete(3)

notes = db.get_all()
for note in notes:
    print(f'Anotação {note.id}:\n  Título: {note.title}\n  Conteúdo: {note.content}\n')
Exemplo n.º 16
0
from database import Database, Note

db = Database('banco')
db.add(
    Note(title='Pão doce',
         content='Abra o pão e coloque o seu suco em pó favorito.'))
db.add(Note(title='Lembrete', content='Lembrar de tomar água'))

notes = db.get_all()

for note in notes:
    print(
        f'Anotação {note.id}:\n  Título: {note.title}\n  Conteúdo: {note.content}\n'
    )
Exemplo n.º 17
0
from utils import load_data
from database import Database, Note

db = Database("notes")
# Filling the table
for valores in load_data('notes.json'):
    db.add(Note(None, valores['titulo'], valores['detalhes']))