MCPcopy Create free account
hub / github.com/alephdata/aleph / update

Method update

aleph/model/collection.py:93–127  ·  view source on GitHub ↗
(self, data, authz)

Source from the content-addressed store, hash-verified

91 db.session.add(self)
92
93 def update(self, data, authz):
94 self.label = data.get("label", self.label)
95 self.summary = data.get("summary", self.summary)
96 self.publisher = data.get("publisher", self.publisher)
97 self.publisher_url = data.get("publisher_url", self.publisher_url)
98 if self.publisher_url is not None:
99 self.publisher_url = stringify(self.publisher_url)
100 self.info_url = data.get("info_url", self.info_url)
101 if self.info_url is not None:
102 self.info_url = stringify(self.info_url)
103 self.data_url = data.get("data_url", self.data_url)
104 if self.data_url is not None:
105 self.data_url = stringify(self.data_url)
106 countries = ensure_list(data.get("countries", self.countries))
107 self.countries = [registry.country.clean(val) for val in countries]
108 languages = ensure_list(data.get("languages", self.languages))
109 self.languages = [registry.language.clean(val) for val in languages]
110 self.frequency = data.get("frequency", self.frequency)
111 self.restricted = data.get("restricted", self.restricted)
112 self.xref = data.get("xref", self.xref)
113 self.updated_at = datetime.utcnow()
114
115 # Some fields are editable only by admins in order to have
116 # a strict separation between source evidence and case
117 # material.
118 if authz.is_admin:
119 self.category = data.get("category", self.category)
120 creator = ensure_dict(data.get("creator"))
121 creator_id = data.get("creator_id", creator.get("id"))
122 creator = Role.by_id(creator_id)
123 if creator is not None:
124 self.creator = creator
125
126 db.session.add(self)
127 db.session.flush()
128
129 @property
130 def team_id(self):

Callers 2

to_dictMethod · 0.45
createMethod · 0.45

Calls 4

addMethod · 0.80
getMethod · 0.45
by_idMethod · 0.45
flushMethod · 0.45

Tested by

no test coverage detected