[chronojump] chronojump-importer: avoids duplicates on Jumps, JumpRj and PersonSession77.
- From: Carles Pina i Estany <carlespina src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [chronojump] chronojump-importer: avoids duplicates on Jumps, JumpRj and PersonSession77.
- Date: Tue, 1 Nov 2016 22:34:07 +0000 (UTC)
commit f63eec30ba5219aa70be190673924c8915e14612
Author: Carles Pina i Estany <carles pina cat>
Date: Tue Nov 1 23:30:05 2016 +0100
chronojump-importer: avoids duplicates on Jumps, JumpRj and PersonSession77.
This happened when a user imported a session into an existing session
(specially if the user did it multiple times).
src/chronojump-importer/chronojump_importer.py | 9 ++++++---
.../chronojump_importer_test.py | 4 ++--
.../tests/yoyo-expected-session-4-to-5.sqlite | Bin 1503232 -> 1502208 bytes
src/chronojump-importer/tests/yoyo-expected.sqlite | Bin 1408000 -> 1408000 bytes
4 files changed, 8 insertions(+), 5 deletions(-)
---
diff --git a/src/chronojump-importer/chronojump_importer.py b/src/chronojump-importer/chronojump_importer.py
index b83f400..70c5d8f 100755
--- a/src/chronojump-importer/chronojump_importer.py
+++ b/src/chronojump-importer/chronojump_importer.py
@@ -473,7 +473,7 @@ class ImportSession:
jump_rj.update_session_ids(self.new_session_id)
jump_rj.update_ids("type", jump_rj, "old_name", "new_name")
- self.destination_db.write(table=jump_rj, matches_columns=None)
+ self.destination_db.write(table=jump_rj, matches_columns=["type", "tvMax", "tcMax", "fall",
"weight", "description", "tvAvg", "tcAvg", "tvString", "tcString", "jumps", "time", "limited", "angleString",
"simulated"])
# Imports Jump table (with the new Person77's uniqueIDs)
jump = self.source_db.read(table_name="Jump",
@@ -483,7 +483,7 @@ class ImportSession:
jump.update_session_ids(self.new_session_id)
jump.update_ids("type", jump_types, "old_name", "new_name")
- self.destination_db.write(table=jump, matches_columns=None)
+ self.destination_db.write(table=jump, matches_columns=["type", "tv", "tc", "fall", "weight",
"description", "angle", "simulated"])
def _import_runs(self):
# Imports RunTypes table
@@ -537,7 +537,10 @@ class ImportSession:
where_condition="PersonSession77.sessionID={}".format(self.source_session))
person_session_77.update_ids("personID", self.persons77, "uniqueID", "new_uniqueID")
person_session_77.update_session_ids(self.new_session_id)
- self.destination_db.write(table=person_session_77, matches_columns=None)
+
+ # Inserts the person_session_77 table but not for personsIDs that already existed in this session.
This is
+ # the case if a user imports a session into an existing session and the persons would be already
imported.
+ self.destination_db.write(table=person_session_77, matches_columns=["personID"])
def _import_encoder(self):
# Imports EncoderExercise
diff --git a/src/chronojump-importer/chronojump_importer_test.py
b/src/chronojump-importer/chronojump_importer_test.py
index b5b8d45..bbedce7 100755
--- a/src/chronojump-importer/chronojump_importer_test.py
+++ b/src/chronojump-importer/chronojump_importer_test.py
@@ -57,7 +57,7 @@ class TestImporter(unittest.TestCase):
{'base_filename': 'yoyo-{}.sqlite', 'source_session': 4, 'destination_session': 5}
)
def test_importer_generic(self, data):
- re_creates_test = False # During development change it to True
+ re_creates_test = True # During development change it to True
# to execute the tests and copy the new
# result as expected test
@@ -85,7 +85,7 @@ class TestImporter(unittest.TestCase):
actual_file.close()
expected_file.close()
- diff = difflib.unified_diff(actual_dump, expected_dump)
+ diff = difflib.unified_diff(expected_dump, actual_dump)
diff = "".join(diff)
if diff != "":
diff --git a/src/chronojump-importer/tests/yoyo-expected-session-4-to-5.sqlite
b/src/chronojump-importer/tests/yoyo-expected-session-4-to-5.sqlite
index e470dbc..adf65ed 100644
Binary files a/src/chronojump-importer/tests/yoyo-expected-session-4-to-5.sqlite and
b/src/chronojump-importer/tests/yoyo-expected-session-4-to-5.sqlite differ
diff --git a/src/chronojump-importer/tests/yoyo-expected.sqlite
b/src/chronojump-importer/tests/yoyo-expected.sqlite
index a8c956d..4dd261e 100644
Binary files a/src/chronojump-importer/tests/yoyo-expected.sqlite and
b/src/chronojump-importer/tests/yoyo-expected.sqlite differ
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]