diff --git a/src/gen/lib/attribute.py b/src/gen/lib/attribute.py index 723d342c3..306287788 100644 --- a/src/gen/lib/attribute.py +++ b/src/gen/lib/attribute.py @@ -67,7 +67,7 @@ class Attribute(SecondaryObject, PrivacyBase, SourceBase, NoteBase): NoteBase.__init__(self, source) if source: - self.type = source.type + self.type = AttributeType(source.type) self.value = source.value else: self.type = AttributeType() diff --git a/src/gen/lib/childref.py b/src/gen/lib/childref.py index d2a8688a2..372dc6254 100644 --- a/src/gen/lib/childref.py +++ b/src/gen/lib/childref.py @@ -57,8 +57,8 @@ class ChildRef(SecondaryObject, PrivacyBase, SourceBase, NoteBase, RefBase): NoteBase.__init__(self, source) RefBase.__init__(self, source) if source: - self.frel = source.frel - self.mrel = source.mrel + self.frel = ChildRefType(source.frel) + self.mrel = ChildRefType(source.mrel) else: self.frel = ChildRefType() self.mrel = ChildRefType() diff --git a/src/gen/lib/event.py b/src/gen/lib/event.py index 8a650582d..db09164df 100644 --- a/src/gen/lib/event.py +++ b/src/gen/lib/event.py @@ -76,7 +76,7 @@ class Event(SourceBase, NoteBase, MediaBase, AttributeBase, if source: self.__description = source.__description - self.__type = source.__type + self.__type = EventType(source.__type) else: self.__description = "" self.__type = EventType() diff --git a/src/gen/lib/eventref.py b/src/gen/lib/eventref.py index e3dec30c8..2e8dc7daf 100644 --- a/src/gen/lib/eventref.py +++ b/src/gen/lib/eventref.py @@ -60,7 +60,7 @@ class EventRef(SecondaryObject, PrivacyBase, NoteBase, AttributeBase, RefBase): AttributeBase.__init__(self, source) RefBase.__init__(self, source) if source: - self.__role = source.__role + self.__role = EventRoleType(source.__role) else: self.__role = EventRoleType() diff --git a/src/gen/lib/genderstats.py b/src/gen/lib/genderstats.py index 573699c6d..150dac3cf 100644 --- a/src/gen/lib/genderstats.py +++ b/src/gen/lib/genderstats.py @@ -47,6 +47,7 @@ class GenderStats(object): if stats is None: self.stats = {} else: + # Current use of GenderStats is such that a shallow copy suffices. self.stats = stats def save_stats(self): diff --git a/src/gen/lib/name.py b/src/gen/lib/name.py index bfa1884c0..81620e476 100644 --- a/src/gen/lib/name.py +++ b/src/gen/lib/name.py @@ -90,7 +90,7 @@ class Name(SecondaryObject, PrivacyBase, SurnameBase, SourceBase, NoteBase, self.first_name = source.first_name self.suffix = source.suffix self.title = source.title - self.type = source.type + self.type = NameType(source.type) self.group_as = source.group_as self.sort_as = source.sort_as self.display_as = source.display_as diff --git a/src/gen/lib/reporef.py b/src/gen/lib/reporef.py index 0d8f3066a..dcfa7243c 100644 --- a/src/gen/lib/reporef.py +++ b/src/gen/lib/reporef.py @@ -53,7 +53,7 @@ class RepoRef(SecondaryObject, PrivacyBase, NoteBase, RefBase): RefBase.__init__(self, source) if source: self.call_number = source.call_number - self.media_type = source.media_type + self.media_type = SourceMediaType(source.media_type) else: self.call_number = "" self.media_type = SourceMediaType() diff --git a/src/gen/lib/styledtexttag.py b/src/gen/lib/styledtexttag.py index cda08301e..f97f24691 100644 --- a/src/gen/lib/styledtexttag.py +++ b/src/gen/lib/styledtexttag.py @@ -61,6 +61,7 @@ class StyledTextTag(object): if ranges is None: self.ranges = [] else: + # Current use of StyledTextTag is such that a shallow copy suffices. self.ranges = ranges def serialize(self): diff --git a/src/gen/lib/surname.py b/src/gen/lib/surname.py index 8b7232a92..19b2c7a13 100644 --- a/src/gen/lib/surname.py +++ b/src/gen/lib/surname.py @@ -53,7 +53,7 @@ class Surname(SecondaryObject): self.surname = source.surname self.prefix = source.prefix self.primary = source.primary - self.origintype = source.origintype + self.origintype = NameOriginType(source.origintype) self.connector = source.connector else: self.surname = "" diff --git a/src/gen/lib/tagbase.py b/src/gen/lib/tagbase.py index 7c759fec6..8e1ce4864 100644 --- a/src/gen/lib/tagbase.py +++ b/src/gen/lib/tagbase.py @@ -44,7 +44,7 @@ class TagBase(object): :type source: TagBase """ if source: - self.tag_list = source.tag_list + self.tag_list = list(source.tag_list) else: self.tag_list = [] diff --git a/src/gen/lib/url.py b/src/gen/lib/url.py index 6714acfcb..08e335536 100644 --- a/src/gen/lib/url.py +++ b/src/gen/lib/url.py @@ -60,7 +60,7 @@ class Url(SecondaryObject, PrivacyBase): if source: self.path = source.path self.desc = source.desc - self.type = source.type + self.type = UrlType(source.type) else: self.path = "" self.desc = ""