aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--uploader/species/models.py6
-rw-r--r--uploader/species/views.py2
2 files changed, 5 insertions, 3 deletions
diff --git a/uploader/species/models.py b/uploader/species/models.py
index 51f941c..078e1d0 100644
--- a/uploader/species/models.py
+++ b/uploader/species/models.py
@@ -58,7 +58,8 @@ def save_species(conn: mdb.Connection,
common_name: The species' common name.
scientific_name; The species' scientific name.
"""
- genus, species_name = scientific_name.split(" ")
+ genus, *species_name = scientific_name.split(" ")
+ species_name = " ".join(species_name)
families = species_families(conn)
with conn.cursor() as cursor:
cursor.execute("SELECT MAX(OrderId) FROM Species")
@@ -116,7 +117,8 @@ def update_species(# pylint: disable=[too-many-arguments]
species_order: The ordering of this species in relation to others
"""
with conn.cursor(cursorclass=DictCursor) as cursor:
- genus, species_name = scientific_name.split(" ")
+ genus, *species_name = scientific_name.split(" ")
+ species_name = " ".join(species_name)
species = {
"species_id": species_id,
"common_name": common_name,
diff --git a/uploader/species/views.py b/uploader/species/views.py
index fee5c75..a7e4d59 100644
--- a/uploader/species/views.py
+++ b/uploader/species/views.py
@@ -79,7 +79,7 @@ def create_species():
error = True
parts = tuple(name.strip() for name in scientific_name.split(" "))
- if len(parts) != 2 or not all(bool(name) for name in parts):
+ if (len(parts) != 2 and len(parts) != 3) or not all(bool(name) for name in parts):
flash("The scientific name you provided is invalid.", "alert-danger")
error = True