From f1b27bff5d8e5ad0043e1bc707250fb2971d77cc Mon Sep 17 00:00:00 2001 From: nberting Date: Mon, 11 Jun 2018 17:24:30 +0200 Subject: [PATCH] update upload form extra questions --- app/forms.py | 12 +++++- app/models.py | 4 +- app/templates/add_book.html | 7 +-- app/templates/edit_book_detail.html | 67 +++++++++++++++++++++-------- app/templates/show_book_detail.html | 6 +-- app/views.py | 34 ++++++++++++--- import_csv.py | 2 +- 7 files changed, 93 insertions(+), 39 deletions(-) diff --git a/app/forms.py b/app/forms.py index c3aacd0..3c749ac 100755 --- a/app/forms.py +++ b/app/forms.py @@ -25,7 +25,6 @@ class UploadForm(FlaskForm): sameness = DecimalRangeField('sameness', default=0) diversity = DecimalRangeField('diversity', default=0) gender = DecimalRangeField('gender', default=50) - time = StringField('time', [validators.Length(max=5)],default=None) choices = [('Student', 'Student'), ('Librarian', 'Librarian'), ('Pirate', 'Pirate'), @@ -43,6 +42,17 @@ class EditForm(FlaskForm): year_published = StringField('year published', [validators.Length(max=4)],default=None) file = FileField() message = StringField('message') + sameness = DecimalRangeField('sameness', default=0) + diversity = DecimalRangeField('diversity', default=0) + gender = DecimalRangeField('gender', default=50) + choices = [('Student', 'Student'), + ('Librarian', 'Librarian'), + ('Pirate', 'Pirate'), + ('Teacher', 'Teacher'), + ('Institution', 'Institution'), + ('All of the above', 'All of the above'), + ('None of the above', 'None of the above')] + who = SelectField('', choices=choices, default='Student') class ChatForm(FlaskForm): message = StringField('message', validators=[InputRequired()]) diff --git a/app/models.py b/app/models.py index 68b7a23..77cb93f 100755 --- a/app/models.py +++ b/app/models.py @@ -46,10 +46,9 @@ class Book(db.Model): diversity = db.Column(db.Numeric()) gender = db.Column(db.Numeric()) who = db.Column(db.String(255)) - time = db.Column(db.Numeric()) - def __init__(self, title, file, cover, fileformat, category, year_published, message, sameness, diversity, gender, who, time): + def __init__(self, title, file, cover, fileformat, category, year_published, message, sameness, diversity, gender, who): self.title = title self.file = file self.cover = cover @@ -64,7 +63,6 @@ class Book(db.Model): self.diversity = diversity self.gender = gender self.who = who - self.time = time def __repr__(self): diff --git a/app/templates/add_book.html b/app/templates/add_book.html index 6326174..9a97139 100755 --- a/app/templates/add_book.html +++ b/app/templates/add_book.html @@ -68,17 +68,12 @@ Check the bibliography. How diverse are the references in this book?



Check the writing. Who is speaking? Is the voice more often male or female?
-{{ form.diversity(min=1, max=100, oninput="outputUpdate3(value)") }}   +{{ form.gender(min=1, max=100, oninput="outputUpdate3(value)") }}   {{ form.gender.data }} % female


Who are you? {{ render_field(form.who) }} -


-How much time have you spent with this item? -Include the time spent looking for it, and uploading it.
-{{ form.time (size = 50, class="form-control")}} hours -



diff --git a/app/templates/edit_book_detail.html b/app/templates/edit_book_detail.html index 2fa5268..7a9675f 100755 --- a/app/templates/edit_book_detail.html +++ b/app/templates/edit_book_detail.html @@ -1,22 +1,36 @@ {% extends 'base.html' %} {% block main %} +{% from "_formhelpers.html" import render_field %} + + + +
back - -
{{ form.csrf_token }}

{{ form.title.label }} {{ form.title(size=20, class="form-control") }}

- +
+
-

+
- {{ form.author.label }} @@ -25,28 +39,45 @@ {% for author in form.author %} - + {% endfor %} -
{{ author.author_name }}{{ author.author_name (size=50, class="form-control") }}
-

-
- Category: {{ form.category(size=20, - class="form-control") }} -
-
- Year published: {{ form.year_published(size=8, class="form-control") }} -
+
+
+ Category:*
{{ form.category(size=50, class="form-control") }}

+ Year published:
{{ form.year_published(size=8, class="form-control") }}

+ +How different is this item to the rest of the collection? +Or is it more of the same?
+{{ form.sameness(min=0, max=100, oninput="outputUpdate(value)") }}   +{{ form.sameness.data }} % different + +


+ +Check the bibliography. How diverse are the references in this book?
+{{ form.diversity(min=0, max=100, oninput="outputUpdate2(value)") }}   +{{ form.diversity.data }} % diverse + +


+ +Check the writing. Who is speaking? Is the voice more often male or female?
+{{ form.gender(min=1, max=100, oninput="outputUpdate3(value)") }}   +{{ form.gender.data }} % female + +


+Who are you? {{ render_field(form.who)}} +


+
- Current file: {{ book.file }} + Current file: {{ book.file }}      Upload new file: {{form.file}}
- Upload new file: {{form.file}} +
- If uploading, write a new message: {{form.message(size=150, class="form-control") }} + If uploading, write a new message:
{{form.message(size=135, class="form-control") }}

diff --git a/app/templates/show_book_detail.html b/app/templates/show_book_detail.html index 06690c1..25ad556 100755 --- a/app/templates/show_book_detail.html +++ b/app/templates/show_book_detail.html @@ -1,6 +1,8 @@ {% extends 'base.html' %} {% block main %} + +

{{ book.title }}

@@ -58,10 +60,6 @@ Who is uploading
{{ book.who or '?' }} - - How much time has been spent with this item?
- {{ book.time or '?' }} - diff --git a/app/views.py b/app/views.py index b8b4447..04dcd31 100755 --- a/app/views.py +++ b/app/views.py @@ -172,7 +172,7 @@ def remove_book_by_id(id): @app.route('/books//edit', methods=['POST', 'GET']) def edit_book_by_id(id): book_to_edit = Book.query.filter_by(id=id).first() - user_form = EditForm(title = book_to_edit.title, author =book_to_edit.authors, category = book_to_edit.category, year_published= book_to_edit.year_published, message= book_to_edit.message) + user_form = EditForm(title = book_to_edit.title, author =book_to_edit.authors, category = book_to_edit.category, year_published= book_to_edit.year_published, message= book_to_edit.message, sameness=book_to_edit.sameness, gender=book_to_edit.gender, diversity=book_to_edit.diversity, who=book_to_edit.who) if request.method == 'POST': if user_form.validate_on_submit(): @@ -182,6 +182,11 @@ def edit_book_by_id(id): category = user_form.category.data year_published = user_form.year_published.data message = user_form.message.data + sameness = user_form.sameness.data + gender = user_form.gender.data + diversity = user_form.diversity.data + who = user_form.who.data + if year_published=="": year_published = None book = Book.query.filter_by(id=id).first() @@ -189,6 +194,10 @@ def edit_book_by_id(id): book.category = category book.year_published = year_published book.message = message + book.sameness = sameness + book.gender = gender + book.diversity = diversity + book.who = who #authors update book.authors.clear() @@ -258,7 +267,6 @@ def add_book(): sameness = upload_form.sameness.data gender = upload_form.gender.data diversity = upload_form.diversity.data - time = upload_form.time.data who = upload_form.who.data if year_published=="": @@ -308,9 +316,8 @@ def add_book(): html_string = render_template('potential_pdf.html', pbooks = pbooks) html = HTML(string=html_string) html.write_pdf(target='app/uploads/potential.pdf'); - print ('potential_pdf') - book = Book(title, filename, cover, file_extension, category, year_published, message, sameness, diversity, gender, who, time) + book = Book(title, filename, cover, file_extension, category, year_published, message, sameness, diversity, gender, who) db.session.add(book) for author in authors: author_name = author.get("author_name") @@ -667,17 +674,32 @@ def import_csv(): print("allreadyexists") else: cover = '' - if row['file']: + if row['file'] == '': + file = 'potential.pdf' + # file_extension = '.pdf' + # ptitle = row['title'] + # pbook = Potential(ptitle) + # db.session.add(pbook) + # db.session.commit() + # pbooks = Potential.query.all() + # template = 'app/templates/potential_pdf.html' + # html_string = render_template('potential_pdf.html', pbooks = pbooks) + # html = HTML(string=html_string) + # html.write_pdf(target='app/uploads/potential.pdf') + # print ('writing to potential_pdf') + + else: fullpath = os.path.join(app.config['UPLOAD_FOLDER'], row['file']) name, file_extension = os.path.splitext(row['file']) print ('get_cover', fullpath, name) cover = get_cover(fullpath, name) + file = str(id) + "_" + row['file'] if row['year_published']: year_published = int(row['year_published']) else: year_published = None; - book = Book(row['title'], row['file'], cover, row['fileformat'], row['category'],year_published, None, None, None, None, None, None) + book = Book(row['title'], file, cover, row['fileformat'], row['category'],year_published, None, None, None, None, None) book.scapeX = float(row['scapeX']) book.scapeY = float(row['scapeY']) diff --git a/import_csv.py b/import_csv.py index df681c0..de0df75 100644 --- a/import_csv.py +++ b/import_csv.py @@ -20,7 +20,7 @@ with open(args.csv) as f: print ('get_cover', fullpath, name) cover = get_cover(fullpath, name) - book = Book(row['Title'], row['Filename'], cover, row['Format'], row['Category'], None, None, None, None, None, None, None) + book = Book(row['Title'], row['Filename'], cover, row['Format'], row['Category'], None, None, None, None, None, None) db.session.add(book) authors = row['Author'].split(',')