Rename *_media_object methods to *_media
This commit is contained in:
parent
2eeda93617
commit
157604b40e
@ -392,7 +392,7 @@ class CommandLineReport(object):
|
|||||||
self.options_help[name].append(id_list)
|
self.options_help[name].append(id_list)
|
||||||
elif isinstance(option, MediaOption):
|
elif isinstance(option, MediaOption):
|
||||||
id_list = []
|
id_list = []
|
||||||
for mhandle in self.database.get_media_object_handles():
|
for mhandle in self.database.get_media_handles():
|
||||||
mobject = self.database.get_media_from_handle(mhandle)
|
mobject = self.database.get_media_from_handle(mhandle)
|
||||||
id_list.append(mobject.get_gramps_id())
|
id_list.append(mobject.get_gramps_id())
|
||||||
self.options_help[name].append(id_list)
|
self.options_help[name].append(id_list)
|
||||||
|
|||||||
@ -365,7 +365,7 @@ class DbReadBase(object):
|
|||||||
"""
|
"""
|
||||||
raise NotImplementedError
|
raise NotImplementedError
|
||||||
|
|
||||||
def get_media_object_handles(self, sort_handles=False):
|
def get_media_handles(self, sort_handles=False):
|
||||||
"""
|
"""
|
||||||
Return a list of database handles, one handle for each Media in
|
Return a list of database handles, one handle for each Media in
|
||||||
the database.
|
the database.
|
||||||
@ -461,7 +461,7 @@ class DbReadBase(object):
|
|||||||
"""
|
"""
|
||||||
raise NotImplementedError
|
raise NotImplementedError
|
||||||
|
|
||||||
def get_number_of_media_objects(self):
|
def get_number_of_media(self):
|
||||||
"""
|
"""
|
||||||
Return the number of media objects currently in the database.
|
Return the number of media objects currently in the database.
|
||||||
"""
|
"""
|
||||||
@ -983,13 +983,13 @@ class DbReadBase(object):
|
|||||||
"""
|
"""
|
||||||
raise NotImplementedError
|
raise NotImplementedError
|
||||||
|
|
||||||
def iter_media_object_handles(self):
|
def iter_media_handles(self):
|
||||||
"""
|
"""
|
||||||
Return an iterator over handles for Media in the database
|
Return an iterator over handles for Media in the database
|
||||||
"""
|
"""
|
||||||
raise NotImplementedError
|
raise NotImplementedError
|
||||||
|
|
||||||
def iter_media_objects(self):
|
def iter_media(self):
|
||||||
"""
|
"""
|
||||||
Return an iterator over objects for Medias in the database
|
Return an iterator over objects for Medias in the database
|
||||||
"""
|
"""
|
||||||
@ -1380,7 +1380,7 @@ class DbWriteBase(DbReadBase):
|
|||||||
"""
|
"""
|
||||||
raise NotImplementedError
|
raise NotImplementedError
|
||||||
|
|
||||||
def commit_media_object(self, obj, transaction, change_time=None):
|
def commit_media(self, obj, transaction, change_time=None):
|
||||||
"""
|
"""
|
||||||
Commit the specified Media to the database, storing the changes
|
Commit the specified Media to the database, storing the changes
|
||||||
as part of the transaction.
|
as part of the transaction.
|
||||||
@ -1825,7 +1825,7 @@ class DbWriteBase(DbReadBase):
|
|||||||
source_len = self.get_number_of_sources()
|
source_len = self.get_number_of_sources()
|
||||||
place_len = self.get_number_of_places()
|
place_len = self.get_number_of_places()
|
||||||
repo_len = self.get_number_of_repositories()
|
repo_len = self.get_number_of_repositories()
|
||||||
obj_len = self.get_number_of_media_objects()
|
obj_len = self.get_number_of_media()
|
||||||
|
|
||||||
return person_len + family_len + event_len + \
|
return person_len + family_len + event_len + \
|
||||||
place_len + source_len + obj_len + repo_len
|
place_len + source_len + obj_len + repo_len
|
||||||
@ -1877,8 +1877,8 @@ class DbWriteBase(DbReadBase):
|
|||||||
else:
|
else:
|
||||||
raise ValueError("invalid instance type: %s" % instance.__class__.__name__)
|
raise ValueError("invalid instance type: %s" % instance.__class__.__name__)
|
||||||
|
|
||||||
def select(self, table, fields=None, sort=False, start=0, limit=50,
|
def select(self, table, fields=None, start=0, limit=50,
|
||||||
filter=None):
|
filter=None, order_by=None):
|
||||||
"""
|
"""
|
||||||
Default implementation of a select for those databases
|
Default implementation of a select for those databases
|
||||||
that don't support SQL. Returns a list of dicts, total,
|
that don't support SQL. Returns a list of dicts, total,
|
||||||
@ -1886,7 +1886,6 @@ class DbWriteBase(DbReadBase):
|
|||||||
|
|
||||||
table - Person, Family, etc.
|
table - Person, Family, etc.
|
||||||
fields - used by object.get_field()
|
fields - used by object.get_field()
|
||||||
sort - use sort order (argument to DB.get_X_handles)
|
|
||||||
start - position to start
|
start - position to start
|
||||||
limit - count to get; -1 for all
|
limit - count to get; -1 for all
|
||||||
filter - (field, SQL string_operator, value) |
|
filter - (field, SQL string_operator, value) |
|
||||||
@ -1901,16 +1900,6 @@ class DbWriteBase(DbReadBase):
|
|||||||
"""
|
"""
|
||||||
total = 0
|
total = 0
|
||||||
time = 0.0
|
time = 0.0
|
||||||
def hash_name(table, name):
|
|
||||||
"""
|
|
||||||
Used in filter to eval expressions involving selected
|
|
||||||
data.
|
|
||||||
"""
|
|
||||||
name = self._tables[table]["class_func"].get_field_alias(name)
|
|
||||||
return (name
|
|
||||||
.replace(".", "_D_")
|
|
||||||
.replace("(", "_P_")
|
|
||||||
.replace(")", "_P_"))
|
|
||||||
def compare(v, op, value):
|
def compare(v, op, value):
|
||||||
"""
|
"""
|
||||||
Compare values in a SQL-like way
|
Compare values in a SQL-like way
|
||||||
@ -1961,7 +1950,7 @@ class DbWriteBase(DbReadBase):
|
|||||||
"""
|
"""
|
||||||
if len(condition) == 2: # ["AND" [...]] | ["OR" [...]] | ["NOT" expr]
|
if len(condition) == 2: # ["AND" [...]] | ["OR" [...]] | ["NOT" expr]
|
||||||
connector, exprs = condition
|
connector, exprs = condition
|
||||||
if connector in ["AND", "OR"]:
|
if connector in ["AND", "OR"]:
|
||||||
for expr in exprs:
|
for expr in exprs:
|
||||||
evaluate_values(expr, item, db, table, env)
|
evaluate_values(expr, item, db, table, env)
|
||||||
else: # "NOT"
|
else: # "NOT"
|
||||||
@ -1969,7 +1958,7 @@ class DbWriteBase(DbReadBase):
|
|||||||
elif len(condition) == 3: # (name, op, value)
|
elif len(condition) == 3: # (name, op, value)
|
||||||
(name, op, value) = condition
|
(name, op, value) = condition
|
||||||
# just the ones we need for filter
|
# just the ones we need for filter
|
||||||
hname = hash_name(table, name)
|
hname = self._hash_name(table, name)
|
||||||
if hname not in env:
|
if hname not in env:
|
||||||
value = item.get_field(name, db, ignore_errors=True)
|
value = item.get_field(name, db, ignore_errors=True)
|
||||||
env[hname] = value
|
env[hname] = value
|
||||||
@ -1993,7 +1982,7 @@ class DbWriteBase(DbReadBase):
|
|||||||
raise Exception("No such connector: '%s'" % connector)
|
raise Exception("No such connector: '%s'" % connector)
|
||||||
elif len(condition) == 3: # (name, op, value)
|
elif len(condition) == 3: # (name, op, value)
|
||||||
(name, op, value) = condition
|
(name, op, value) = condition
|
||||||
v = env.get(hash_name(table, name))
|
v = env.get(self._hash_name(table, name))
|
||||||
return compare(v, op, value)
|
return compare(v, op, value)
|
||||||
|
|
||||||
# Fields is None or list, maybe containing "*":
|
# Fields is None or list, maybe containing "*":
|
||||||
@ -2004,19 +1993,16 @@ class DbWriteBase(DbReadBase):
|
|||||||
if "*" in fields:
|
if "*" in fields:
|
||||||
fields.remove("*")
|
fields.remove("*")
|
||||||
fields.extend(self._tables[table]["class_func"].get_schema().keys())
|
fields.extend(self._tables[table]["class_func"].get_schema().keys())
|
||||||
# Get iterator of handles, possibly sorted by name, etc.:
|
#FIXME: add order_by to iter_funcs
|
||||||
if sort:
|
#data = self._tables[table]["iter_func"](order_by=order_by)
|
||||||
data = self._tables[table]["handles_func"](sort_handles=True)
|
data = self._tables[table]["iter_func"]()
|
||||||
else:
|
|
||||||
data = self._tables[table]["handles_func"]()
|
|
||||||
position = 0
|
position = 0
|
||||||
selected = 0
|
selected = 0
|
||||||
result = Result()
|
result = Result()
|
||||||
start_time = time.time()
|
start_time = time.time()
|
||||||
if filter:
|
if filter:
|
||||||
for handle in data:
|
for item in data:
|
||||||
# have to evaluate all, because there is a filter
|
# have to evaluate all, because there is a filter
|
||||||
item = self._tables[table]["handle_func"](handle)
|
|
||||||
row = {}
|
row = {}
|
||||||
env = {}
|
env = {}
|
||||||
# Go through all fliters and evaluate the fields:
|
# Go through all fliters and evaluate the fields:
|
||||||
@ -2033,11 +2019,10 @@ class DbWriteBase(DbReadBase):
|
|||||||
position += 1
|
position += 1
|
||||||
result.total = position
|
result.total = position
|
||||||
else: # no filter
|
else: # no filter
|
||||||
for handle in data:
|
for item in data:
|
||||||
if position >= start:
|
if position >= start:
|
||||||
if selected >= limit:
|
if selected >= limit:
|
||||||
break
|
break
|
||||||
item = self._tables[table]["handle_func"](handle)
|
|
||||||
row = {}
|
row = {}
|
||||||
for field in fields:
|
for field in fields:
|
||||||
value = item.get_field(field, self, ignore_errors=True)
|
value = item.get_field(field, self, ignore_errors=True)
|
||||||
@ -2048,3 +2033,11 @@ class DbWriteBase(DbReadBase):
|
|||||||
result.total = self._tables[table]["count_func"]()
|
result.total = self._tables[table]["count_func"]()
|
||||||
result.time = time.time() - start_time
|
result.time = time.time() - start_time
|
||||||
return result
|
return result
|
||||||
|
|
||||||
|
def _hash_name(self, table, name):
|
||||||
|
"""
|
||||||
|
Used in filter to eval expressions involving selected
|
||||||
|
data.
|
||||||
|
"""
|
||||||
|
name = self._tables[table]["class_func"].get_field_alias(name)
|
||||||
|
return name.replace(".", "__")
|
||||||
|
|||||||
@ -529,14 +529,14 @@ class DbGeneric(DbWriteBase, DbReadBase, UpdateCallback, Callback):
|
|||||||
"gramps_id_func": self.get_media_from_gramps_id,
|
"gramps_id_func": self.get_media_from_gramps_id,
|
||||||
"class_func": Media,
|
"class_func": Media,
|
||||||
"cursor_func": self.get_media_cursor,
|
"cursor_func": self.get_media_cursor,
|
||||||
"handles_func": self.get_media_object_handles,
|
"handles_func": self.get_media_handles,
|
||||||
"add_func": self.add_object,
|
"add_func": self.add_object,
|
||||||
"commit_func": self.commit_media_object,
|
"commit_func": self.commit_media,
|
||||||
"iter_func": self.iter_media_objects,
|
"iter_func": self.iter_media,
|
||||||
"ids_func": self.get_media_gramps_ids,
|
"ids_func": self.get_media_gramps_ids,
|
||||||
"has_handle_func": self.has_handle_for_media,
|
"has_handle_func": self.has_handle_for_media,
|
||||||
"has_gramps_id_func": self.has_gramps_id_for_media,
|
"has_gramps_id_func": self.has_gramps_id_for_media,
|
||||||
"count_func": self.get_number_of_media_objects,
|
"count_func": self.get_number_of_media,
|
||||||
"raw_func": self._get_raw_media_data,
|
"raw_func": self._get_raw_media_data,
|
||||||
"raw_id_func": self._get_raw_media_from_id_data,
|
"raw_id_func": self._get_raw_media_from_id_data,
|
||||||
"del_func": self.remove_object,
|
"del_func": self.remove_object,
|
||||||
@ -1391,7 +1391,7 @@ class DbGeneric(DbWriteBase, DbReadBase, UpdateCallback, Callback):
|
|||||||
if (not obj.gramps_id):
|
if (not obj.gramps_id):
|
||||||
# give it a random value for the moment:
|
# give it a random value for the moment:
|
||||||
obj.gramps_id = str(random.random())
|
obj.gramps_id = str(random.random())
|
||||||
self.commit_media_object(obj, transaction)
|
self.commit_media(obj, transaction)
|
||||||
return obj.handle
|
return obj.handle
|
||||||
|
|
||||||
def add_to_surname_list(self, person, batch_transaction):
|
def add_to_surname_list(self, person, batch_transaction):
|
||||||
@ -1823,7 +1823,7 @@ class DbGeneric(DbWriteBase, DbReadBase, UpdateCallback, Callback):
|
|||||||
def iter_events(self):
|
def iter_events(self):
|
||||||
return (Event.create(data[1]) for data in self.get_event_cursor())
|
return (Event.create(data[1]) for data in self.get_event_cursor())
|
||||||
|
|
||||||
def iter_media_objects(self):
|
def iter_media(self):
|
||||||
return (Media.create(data[1]) for data in self.get_media_cursor())
|
return (Media.create(data[1]) for data in self.get_media_cursor())
|
||||||
|
|
||||||
def iter_notes(self):
|
def iter_notes(self):
|
||||||
@ -1892,7 +1892,7 @@ class DbGeneric(DbWriteBase, DbReadBase, UpdateCallback, Callback):
|
|||||||
_("Number of sources"): self.get_number_of_sources(),
|
_("Number of sources"): self.get_number_of_sources(),
|
||||||
_("Number of citations"): self.get_number_of_citations(),
|
_("Number of citations"): self.get_number_of_citations(),
|
||||||
_("Number of events"): self.get_number_of_events(),
|
_("Number of events"): self.get_number_of_events(),
|
||||||
_("Number of media"): self.get_number_of_media_objects(),
|
_("Number of media"): self.get_number_of_media(),
|
||||||
_("Number of places"): self.get_number_of_places(),
|
_("Number of places"): self.get_number_of_places(),
|
||||||
_("Number of repositories"): self.get_number_of_repositories(),
|
_("Number of repositories"): self.get_number_of_repositories(),
|
||||||
_("Number of notes"): self.get_number_of_notes(),
|
_("Number of notes"): self.get_number_of_notes(),
|
||||||
|
|||||||
@ -219,6 +219,24 @@ class Person(CitationBase, NoteBase, AttributeBase, MediaBase,
|
|||||||
"surnames": "primary_name.surname_list.surname",
|
"surnames": "primary_name.surname_list.surname",
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@classmethod
|
||||||
|
def get_extra_secondary_fields(cls):
|
||||||
|
"""
|
||||||
|
Return a list of full field names and types for secondary
|
||||||
|
fields that are not directly listed in the schema.
|
||||||
|
"""
|
||||||
|
return [
|
||||||
|
("primary_name.first_name", str),
|
||||||
|
("primary_name.surname_list.0.surname", str),
|
||||||
|
]
|
||||||
|
|
||||||
|
@classmethod
|
||||||
|
def get_index_fields(cls):
|
||||||
|
return [
|
||||||
|
"primary_name.first_name",
|
||||||
|
"primary_name.surname_list.0.surname",
|
||||||
|
]
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def get_labels(cls, _):
|
def get_labels(cls, _):
|
||||||
return {
|
return {
|
||||||
|
|||||||
@ -149,6 +149,32 @@ class BasicPrimaryObject(TableObject, PrivacyBase, TagBase):
|
|||||||
"""
|
"""
|
||||||
return {}
|
return {}
|
||||||
|
|
||||||
|
@classmethod
|
||||||
|
def get_extra_secondary_fields(cls):
|
||||||
|
"""
|
||||||
|
Return a list of full field names and types for secondary
|
||||||
|
fields that are not directly listed in the schema.
|
||||||
|
"""
|
||||||
|
return []
|
||||||
|
|
||||||
|
@classmethod
|
||||||
|
def get_index_fields(cls):
|
||||||
|
"""
|
||||||
|
Return a list of full field names for indices.
|
||||||
|
"""
|
||||||
|
return []
|
||||||
|
|
||||||
|
@classmethod
|
||||||
|
def get_secondary_fields(cls):
|
||||||
|
"""
|
||||||
|
Return all seconday fields and their types
|
||||||
|
"""
|
||||||
|
from .handle import HandleClass
|
||||||
|
return ([(key, value) for (key, value) in cls.get_schema().items()
|
||||||
|
if value in [str, int, float, bool] and
|
||||||
|
not isinstance(value, HandleClass)] +
|
||||||
|
cls.get_extra_secondary_fields())
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def get_label(cls, field, _):
|
def get_label(cls, field, _):
|
||||||
"""
|
"""
|
||||||
|
|||||||
@ -86,7 +86,7 @@ class MergeCitationQuery(object):
|
|||||||
obj = self.database.get_media_from_handle(handle)
|
obj = self.database.get_media_from_handle(handle)
|
||||||
assert(obj.has_citation_reference(old_handle))
|
assert(obj.has_citation_reference(old_handle))
|
||||||
obj.replace_citation_references(old_handle, new_handle)
|
obj.replace_citation_references(old_handle, new_handle)
|
||||||
self.database.commit_media_object(obj, trans)
|
self.database.commit_media(obj, trans)
|
||||||
elif class_name == Repository.__name__:
|
elif class_name == Repository.__name__:
|
||||||
repository = self.database.get_repository_from_handle(handle)
|
repository = self.database.get_repository_from_handle(handle)
|
||||||
assert(repository.has_citation_reference(old_handle))
|
assert(repository.has_citation_reference(old_handle))
|
||||||
|
|||||||
@ -57,7 +57,7 @@ class MergeMediaQuery(object):
|
|||||||
self.phoenix.merge(self.titanic)
|
self.phoenix.merge(self.titanic)
|
||||||
|
|
||||||
with DbTxn(_("Merge Media Objects"), self.database) as trans:
|
with DbTxn(_("Merge Media Objects"), self.database) as trans:
|
||||||
self.database.commit_media_object(self.phoenix, trans)
|
self.database.commit_media(self.phoenix, trans)
|
||||||
for (class_name, handle) in self.database.find_backlink_handles(
|
for (class_name, handle) in self.database.find_backlink_handles(
|
||||||
old_handle):
|
old_handle):
|
||||||
if class_name == Person.__name__:
|
if class_name == Person.__name__:
|
||||||
|
|||||||
@ -93,7 +93,7 @@ class MergeNoteQuery(object):
|
|||||||
obj = self.database.get_media_from_handle(handle)
|
obj = self.database.get_media_from_handle(handle)
|
||||||
assert(obj.has_note_reference(old_handle))
|
assert(obj.has_note_reference(old_handle))
|
||||||
obj.replace_note_references(old_handle, new_handle)
|
obj.replace_note_references(old_handle, new_handle)
|
||||||
self.database.commit_media_object(obj, trans)
|
self.database.commit_media(obj, trans)
|
||||||
elif class_name == Repository.__name__:
|
elif class_name == Repository.__name__:
|
||||||
repo = self.database.get_repository_from_handle(handle)
|
repo = self.database.get_repository_from_handle(handle)
|
||||||
assert(repo.has_note_reference(old_handle))
|
assert(repo.has_note_reference(old_handle))
|
||||||
|
|||||||
@ -256,7 +256,7 @@ class TextDoc(object):
|
|||||||
else:
|
else:
|
||||||
self.write_text(piece, links=links)
|
self.write_text(piece, links=links)
|
||||||
|
|
||||||
def add_media_object(self, name, align, w_cm, h_cm, alt='', style_name=None, crop=None):
|
def add_media(self, name, align, w_cm, h_cm, alt='', style_name=None, crop=None):
|
||||||
"""
|
"""
|
||||||
Add a photo of the specified width (in centimeters).
|
Add a photo of the specified width (in centimeters).
|
||||||
|
|
||||||
|
|||||||
@ -143,12 +143,12 @@ def insert_image(database, doc, photo, user,
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
object_handle = photo.get_reference_handle()
|
object_handle = photo.get_reference_handle()
|
||||||
media_object = database.get_media_from_handle(object_handle)
|
media = database.get_media_from_handle(object_handle)
|
||||||
mime_type = media_object.get_mime_type()
|
mime_type = media.get_mime_type()
|
||||||
if mime_type and mime_type.startswith("image"):
|
if mime_type and mime_type.startswith("image"):
|
||||||
filename = media_path_full(database, media_object.get_path())
|
filename = media_path_full(database, media.get_path())
|
||||||
if os.path.exists(filename):
|
if os.path.exists(filename):
|
||||||
doc.add_media_object(filename, align, w_cm, h_cm,
|
doc.add_media(filename, align, w_cm, h_cm,
|
||||||
alt=alt, style_name=style_name,
|
alt=alt, style_name=style_name,
|
||||||
crop=photo.get_rectangle())
|
crop=photo.get_rectangle())
|
||||||
else:
|
else:
|
||||||
|
|||||||
@ -281,7 +281,7 @@ class PrivateProxyDb(ProxyDbBase):
|
|||||||
obj = self.get_unfiltered_place(handle)
|
obj = self.get_unfiltered_place(handle)
|
||||||
return obj and not obj.get_privacy()
|
return obj and not obj.get_privacy()
|
||||||
|
|
||||||
def include_media_object(self, handle):
|
def include_media(self, handle):
|
||||||
"""
|
"""
|
||||||
Predicate returning True if object is to be included, else False
|
Predicate returning True if object is to be included, else False
|
||||||
"""
|
"""
|
||||||
@ -463,8 +463,8 @@ def copy_media_ref_list(db, original_obj, clean_obj):
|
|||||||
for media_ref in original_obj.get_media_list():
|
for media_ref in original_obj.get_media_list():
|
||||||
if media_ref and not media_ref.get_privacy():
|
if media_ref and not media_ref.get_privacy():
|
||||||
handle = media_ref.get_reference_handle()
|
handle = media_ref.get_reference_handle()
|
||||||
media_object = db.get_media_from_handle(handle)
|
media = db.get_media_from_handle(handle)
|
||||||
if media_object and not media_object.get_privacy():
|
if media and not media.get_privacy():
|
||||||
clean_obj.add_media_reference(sanitize_media_ref(db, media_ref))
|
clean_obj.add_media_reference(sanitize_media_ref(db, media_ref))
|
||||||
|
|
||||||
def copy_citation_ref_list(db, original_obj, clean_obj):
|
def copy_citation_ref_list(db, original_obj, clean_obj):
|
||||||
|
|||||||
@ -116,7 +116,7 @@ class ProxyDbBase(DbReadBase):
|
|||||||
self.repository_map = ProxyMap(self, self.get_raw_repository_data,
|
self.repository_map = ProxyMap(self, self.get_raw_repository_data,
|
||||||
self.get_repository_handles)
|
self.get_repository_handles)
|
||||||
self.media_map = ProxyMap(self, self.get_raw_object_data,
|
self.media_map = ProxyMap(self, self.get_raw_object_data,
|
||||||
self.get_media_object_handles)
|
self.get_media_handles)
|
||||||
self.note_map = ProxyMap(self, self.get_raw_note_data,
|
self.note_map = ProxyMap(self, self.get_raw_note_data,
|
||||||
self.get_note_handles)
|
self.get_note_handles)
|
||||||
|
|
||||||
@ -150,7 +150,7 @@ class ProxyDbBase(DbReadBase):
|
|||||||
include_source = \
|
include_source = \
|
||||||
include_citation = \
|
include_citation = \
|
||||||
include_place = \
|
include_place = \
|
||||||
include_media_object = \
|
include_media = \
|
||||||
include_repository = \
|
include_repository = \
|
||||||
include_note = \
|
include_note = \
|
||||||
include_tag = \
|
include_tag = \
|
||||||
@ -182,7 +182,7 @@ class ProxyDbBase(DbReadBase):
|
|||||||
|
|
||||||
def get_media_cursor(self):
|
def get_media_cursor(self):
|
||||||
return ProxyCursor(self.get_raw_object_data,
|
return ProxyCursor(self.get_raw_object_data,
|
||||||
self.get_media_object_handles)
|
self.get_media_handles)
|
||||||
|
|
||||||
def get_repository_cursor(self):
|
def get_repository_cursor(self):
|
||||||
return ProxyCursor(self.get_raw_repository_data,
|
return ProxyCursor(self.get_raw_repository_data,
|
||||||
@ -256,13 +256,13 @@ class ProxyDbBase(DbReadBase):
|
|||||||
else:
|
else:
|
||||||
return []
|
return []
|
||||||
|
|
||||||
def get_media_object_handles(self, sort_handles=False):
|
def get_media_handles(self, sort_handles=False):
|
||||||
"""
|
"""
|
||||||
Return a list of database handles, one handle for each Media in
|
Return a list of database handles, one handle for each Media in
|
||||||
the database.
|
the database.
|
||||||
"""
|
"""
|
||||||
if self.db.is_open:
|
if self.db.is_open:
|
||||||
return list(self.iter_media_object_handles())
|
return list(self.iter_media_handles())
|
||||||
else:
|
else:
|
||||||
return []
|
return []
|
||||||
|
|
||||||
@ -346,12 +346,12 @@ class ProxyDbBase(DbReadBase):
|
|||||||
"""
|
"""
|
||||||
return filter(self.include_place, self.db.iter_place_handles())
|
return filter(self.include_place, self.db.iter_place_handles())
|
||||||
|
|
||||||
def iter_media_object_handles(self):
|
def iter_media_handles(self):
|
||||||
"""
|
"""
|
||||||
Return an iterator over database handles, one handle for each Media
|
Return an iterator over database handles, one handle for each Media
|
||||||
Object in the database.
|
Object in the database.
|
||||||
"""
|
"""
|
||||||
return filter(self.include_media_object, self.db.iter_media_object_handles())
|
return filter(self.include_media, self.db.iter_media_handles())
|
||||||
|
|
||||||
def iter_repository_handles(self):
|
def iter_repository_handles(self):
|
||||||
"""
|
"""
|
||||||
@ -416,12 +416,12 @@ class ProxyDbBase(DbReadBase):
|
|||||||
"""
|
"""
|
||||||
return self.__iter_object(self.include_citation, self.db.iter_citations)
|
return self.__iter_object(self.include_citation, self.db.iter_citations)
|
||||||
|
|
||||||
def iter_media_objects(self):
|
def iter_media(self):
|
||||||
"""
|
"""
|
||||||
Return an iterator over Media objects in the database
|
Return an iterator over Media objects in the database
|
||||||
"""
|
"""
|
||||||
return self.__iter_object(self.include_media_object,
|
return self.__iter_object(self.include_media,
|
||||||
self.db.iter_media_objects)
|
self.db.iter_media)
|
||||||
|
|
||||||
def iter_repositories(self):
|
def iter_repositories(self):
|
||||||
"""
|
"""
|
||||||
@ -528,7 +528,7 @@ class ProxyDbBase(DbReadBase):
|
|||||||
Finds an Object in the database from the passed gramps handle.
|
Finds an Object in the database from the passed gramps handle.
|
||||||
If no such Object exists, None is returned.
|
If no such Object exists, None is returned.
|
||||||
"""
|
"""
|
||||||
return self.gfilter(self.include_media_object,
|
return self.gfilter(self.include_media,
|
||||||
self.db.get_media_from_handle(handle))
|
self.db.get_media_from_handle(handle))
|
||||||
|
|
||||||
def get_repository_from_handle(self, handle):
|
def get_repository_from_handle(self, handle):
|
||||||
@ -608,7 +608,7 @@ class ProxyDbBase(DbReadBase):
|
|||||||
Finds a Media in the database from the passed gramps' ID.
|
Finds a Media in the database from the passed gramps' ID.
|
||||||
If no such Media exists, None is returned.
|
If no such Media exists, None is returned.
|
||||||
"""
|
"""
|
||||||
return self.gfilter(self.include_media_object,
|
return self.gfilter(self.include_media,
|
||||||
self.db.get_media_from_gramps_id(val))
|
self.db.get_media_from_gramps_id(val))
|
||||||
|
|
||||||
def get_repository_from_gramps_id(self, val):
|
def get_repository_from_gramps_id(self, val):
|
||||||
@ -689,11 +689,11 @@ class ProxyDbBase(DbReadBase):
|
|||||||
"""
|
"""
|
||||||
return len(self.get_citation_handles())
|
return len(self.get_citation_handles())
|
||||||
|
|
||||||
def get_number_of_media_objects(self):
|
def get_number_of_media(self):
|
||||||
"""
|
"""
|
||||||
Return the number of media objects currently in the database.
|
Return the number of media objects currently in the database.
|
||||||
"""
|
"""
|
||||||
return len(self.get_media_object_handles())
|
return len(self.get_media_handles())
|
||||||
|
|
||||||
def get_number_of_repositories(self):
|
def get_number_of_repositories(self):
|
||||||
"""
|
"""
|
||||||
@ -875,7 +875,7 @@ class ProxyDbBase(DbReadBase):
|
|||||||
"""
|
"""
|
||||||
returns True if the handle exists in the current Mediadatabase.
|
returns True if the handle exists in the current Mediadatabase.
|
||||||
"""
|
"""
|
||||||
return self.gfilter(self.include_media_object,
|
return self.gfilter(self.include_media,
|
||||||
self.db.get_media_from_handle(handle)) is not None
|
self.db.get_media_from_handle(handle)) is not None
|
||||||
|
|
||||||
def has_repository_handle(self, handle):
|
def has_repository_handle(self, handle):
|
||||||
|
|||||||
@ -410,9 +410,9 @@ class ReferencedBySelectionProxyDb(ProxyDbBase):
|
|||||||
self.process_attributes(media_ref)
|
self.process_attributes(media_ref)
|
||||||
self.process_citation_ref_list(media_ref)
|
self.process_citation_ref_list(media_ref)
|
||||||
handle = media_ref.get_reference_handle()
|
handle = media_ref.get_reference_handle()
|
||||||
media_object = self.db.get_media_from_handle(handle)
|
media = self.db.get_media_from_handle(handle)
|
||||||
if media_object:
|
if media:
|
||||||
self.process_media(media_object)
|
self.process_media(media)
|
||||||
|
|
||||||
def process_lds_ords(self, original_obj):
|
def process_lds_ords(self, original_obj):
|
||||||
""" Find all of the primary objects referred to """
|
""" Find all of the primary objects referred to """
|
||||||
@ -474,7 +474,7 @@ class ReferencedBySelectionProxyDb(ProxyDbBase):
|
|||||||
"""
|
"""
|
||||||
return handle in self.referenced["Family"]
|
return handle in self.referenced["Family"]
|
||||||
|
|
||||||
def include_media_object(self, handle):
|
def include_media(self, handle):
|
||||||
"""
|
"""
|
||||||
Filter for media objects
|
Filter for media objects
|
||||||
"""
|
"""
|
||||||
|
|||||||
@ -67,7 +67,7 @@ from gramps.gen.const import URL_MANUAL_SECT2
|
|||||||
#
|
#
|
||||||
#-------------------------------------------------------------------------
|
#-------------------------------------------------------------------------
|
||||||
WIKI_HELP_PAGE = URL_MANUAL_SECT2
|
WIKI_HELP_PAGE = URL_MANUAL_SECT2
|
||||||
WIKI_HELP_SEC = _('manual|Select_a_media_object_selector')
|
WIKI_HELP_SEC = _('manual|Select_a_media_selector')
|
||||||
|
|
||||||
#-------------------------------------------------------------------------
|
#-------------------------------------------------------------------------
|
||||||
#
|
#
|
||||||
|
|||||||
@ -390,7 +390,7 @@ class DeleteCitationQuery(object):
|
|||||||
for handle in media_list:
|
for handle in media_list:
|
||||||
media = self.db.get_media_from_handle(handle)
|
media = self.db.get_media_from_handle(handle)
|
||||||
media.remove_citation_references(ctn_handle_list)
|
media.remove_citation_references(ctn_handle_list)
|
||||||
self.db.commit_media_object(media, trans)
|
self.db.commit_media(media, trans)
|
||||||
|
|
||||||
for handle in repo_list:
|
for handle in repo_list:
|
||||||
repo = self.db.get_repository_from_handle(handle)
|
repo = self.db.get_repository_from_handle(handle)
|
||||||
|
|||||||
@ -328,7 +328,7 @@ class EditMedia(EditPrimary):
|
|||||||
else:
|
else:
|
||||||
if not self.obj.get_gramps_id():
|
if not self.obj.get_gramps_id():
|
||||||
self.obj.set_gramps_id(self.db.find_next_object_gramps_id())
|
self.obj.set_gramps_id(self.db.find_next_object_gramps_id())
|
||||||
self.db.commit_media_object(self.obj, trans)
|
self.db.commit_media(self.obj, trans)
|
||||||
msg = _("Edit Media Object (%s)") % self.obj.get_description()
|
msg = _("Edit Media Object (%s)") % self.obj.get_description()
|
||||||
trans.set_description(msg)
|
trans.set_description(msg)
|
||||||
|
|
||||||
|
|||||||
@ -516,7 +516,7 @@ class EditMediaRef(EditReference):
|
|||||||
if self.source.handle:
|
if self.source.handle:
|
||||||
with DbTxn(_("Edit Media Object (%s)") %
|
with DbTxn(_("Edit Media Object (%s)") %
|
||||||
self.source.get_description(), self.db) as trans:
|
self.source.get_description(), self.db) as trans:
|
||||||
self.db.commit_media_object(self.source, trans)
|
self.db.commit_media(self.source, trans)
|
||||||
else:
|
else:
|
||||||
if self.check_for_duplicate_id('Media'):
|
if self.check_for_duplicate_id('Media'):
|
||||||
return
|
return
|
||||||
|
|||||||
@ -393,7 +393,7 @@ class DeleteNoteQuery(object):
|
|||||||
for handle in media_list:
|
for handle in media_list:
|
||||||
media = self.db.get_media_from_handle(handle)
|
media = self.db.get_media_from_handle(handle)
|
||||||
media.remove_note(note_handle)
|
media.remove_note(note_handle)
|
||||||
self.db.commit_media_object(media, trans)
|
self.db.commit_media(media, trans)
|
||||||
|
|
||||||
for handle in repo_list:
|
for handle in repo_list:
|
||||||
repo = self.db.get_repository_from_handle(handle)
|
repo = self.db.get_repository_from_handle(handle)
|
||||||
|
|||||||
@ -292,7 +292,7 @@ class DeleteSrcQuery(object):
|
|||||||
for handle in media_list:
|
for handle in media_list:
|
||||||
media = self.db.get_media_from_handle(handle)
|
media = self.db.get_media_from_handle(handle)
|
||||||
media.remove_citation_references(ctn_handle_list)
|
media.remove_citation_references(ctn_handle_list)
|
||||||
self.db.commit_media_object(media, trans)
|
self.db.commit_media(media, trans)
|
||||||
|
|
||||||
for handle in repo_list:
|
for handle in repo_list:
|
||||||
repo = self.db.get_repository_from_handle(handle)
|
repo = self.db.get_repository_from_handle(handle)
|
||||||
|
|||||||
@ -1219,7 +1219,7 @@ class FilterEditor(ManagedWindow):
|
|||||||
elif self.namespace == 'Place':
|
elif self.namespace == 'Place':
|
||||||
return self.db.iter_place_handles()
|
return self.db.iter_place_handles()
|
||||||
elif self.namespace == 'Media':
|
elif self.namespace == 'Media':
|
||||||
return self.db.get_media_object_handles()
|
return self.db.get_media_handles()
|
||||||
elif self.namespace == 'Repository':
|
elif self.namespace == 'Repository':
|
||||||
return self.db.get_repository_handles()
|
return self.db.get_repository_handles()
|
||||||
elif self.namespace == 'Note':
|
elif self.namespace == 'Note':
|
||||||
|
|||||||
@ -310,7 +310,7 @@ class TextBufDoc(BaseDoc, TextDoc):
|
|||||||
if self.cell_lines[self.cellnum] > self.maxlines:
|
if self.cell_lines[self.cellnum] > self.maxlines:
|
||||||
self.maxlines = self.cell_lines[self.cellnum]
|
self.maxlines = self.cell_lines[self.cellnum]
|
||||||
|
|
||||||
def add_media_object(self, name, align, w_cm, h_cm, alt=''):
|
def add_media(self, name, align, w_cm, h_cm, alt=''):
|
||||||
return
|
return
|
||||||
|
|
||||||
this_text = '(photo)'
|
this_text = '(photo)'
|
||||||
|
|||||||
@ -1265,7 +1265,7 @@ class ViewManager(CLIManager):
|
|||||||
hbox = Gtk.Box()
|
hbox = Gtk.Box()
|
||||||
bytes = 0
|
bytes = 0
|
||||||
mbytes = "0"
|
mbytes = "0"
|
||||||
for media in self.dbstate.db.iter_media_objects():
|
for media in self.dbstate.db.iter_media():
|
||||||
fullname = media_path_full(self.dbstate.db, media.get_path())
|
fullname = media_path_full(self.dbstate.db, media.get_path())
|
||||||
try:
|
try:
|
||||||
bytes += posixpath.getsize(fullname)
|
bytes += posixpath.getsize(fullname)
|
||||||
|
|||||||
@ -505,7 +505,7 @@ class OrganizeTagsDialog(object):
|
|||||||
'Repository': (self.db.get_repository_from_handle,
|
'Repository': (self.db.get_repository_from_handle,
|
||||||
self.db.commit_repository),
|
self.db.commit_repository),
|
||||||
'Media': (self.db.get_media_from_handle,
|
'Media': (self.db.get_media_from_handle,
|
||||||
self.db.commit_media_object),
|
self.db.commit_media),
|
||||||
'Note': (self.db.get_note_from_handle,
|
'Note': (self.db.get_note_from_handle,
|
||||||
self.db.commit_note)}
|
self.db.commit_note)}
|
||||||
|
|
||||||
|
|||||||
@ -231,7 +231,7 @@ class DbBsddbRead(DbReadBase, Callback):
|
|||||||
|
|
||||||
For each object class, there are methods to retrieve data in various ways.
|
For each object class, there are methods to retrieve data in various ways.
|
||||||
In the methods described below, <object> can be one of person, family,
|
In the methods described below, <object> can be one of person, family,
|
||||||
event, place, source, media_object, respository or note unless otherwise
|
event, place, source, media, respository or note unless otherwise
|
||||||
specified.
|
specified.
|
||||||
|
|
||||||
.. method:: get_<object>_from_handle()
|
.. method:: get_<object>_from_handle()
|
||||||
@ -263,7 +263,7 @@ class DbBsddbRead(DbReadBase, Callback):
|
|||||||
|
|
||||||
returns an iterator that yields one object per call.
|
returns an iterator that yields one object per call.
|
||||||
The objects available are: people, families, events, places,
|
The objects available are: people, families, events, places,
|
||||||
sources, media_objects, repositories and notes.
|
sources, media, repositories and notes.
|
||||||
|
|
||||||
.. method:: get_<object>_event_types()
|
.. method:: get_<object>_event_types()
|
||||||
|
|
||||||
@ -335,7 +335,7 @@ class DbBsddbRead(DbReadBase, Callback):
|
|||||||
"gramps_id_func": self.get_media_from_gramps_id,
|
"gramps_id_func": self.get_media_from_gramps_id,
|
||||||
"class_func": Media,
|
"class_func": Media,
|
||||||
"cursor_func": self.get_media_cursor,
|
"cursor_func": self.get_media_cursor,
|
||||||
"handles_func": self.get_media_object_handles,
|
"handles_func": self.get_media_handles,
|
||||||
})
|
})
|
||||||
self._tables['Place'].update(
|
self._tables['Place'].update(
|
||||||
{
|
{
|
||||||
@ -980,7 +980,7 @@ class DbBsddbRead(DbReadBase, Callback):
|
|||||||
"""
|
"""
|
||||||
return self.get_number_of_records(self.citation_map)
|
return self.get_number_of_records(self.citation_map)
|
||||||
|
|
||||||
def get_number_of_media_objects(self):
|
def get_number_of_media(self):
|
||||||
"""
|
"""
|
||||||
Return the number of media objects currently in the database.
|
Return the number of media objects currently in the database.
|
||||||
"""
|
"""
|
||||||
@ -1093,7 +1093,7 @@ class DbBsddbRead(DbReadBase, Callback):
|
|||||||
return handle_list
|
return handle_list
|
||||||
return []
|
return []
|
||||||
|
|
||||||
def get_media_object_handles(self, sort_handles=False):
|
def get_media_handles(self, sort_handles=False):
|
||||||
"""
|
"""
|
||||||
Return a list of database handles, one handle for each Media in
|
Return a list of database handles, one handle for each Media in
|
||||||
the database.
|
the database.
|
||||||
@ -1193,7 +1193,7 @@ class DbBsddbRead(DbReadBase, Callback):
|
|||||||
iter_place_handles = _f(get_place_cursor)
|
iter_place_handles = _f(get_place_cursor)
|
||||||
iter_source_handles = _f(get_source_cursor)
|
iter_source_handles = _f(get_source_cursor)
|
||||||
iter_citation_handles = _f(get_citation_cursor)
|
iter_citation_handles = _f(get_citation_cursor)
|
||||||
iter_media_object_handles = _f(get_media_cursor)
|
iter_media_handles = _f(get_media_cursor)
|
||||||
iter_repository_handles = _f(get_repository_cursor)
|
iter_repository_handles = _f(get_repository_cursor)
|
||||||
iter_note_handles = _f(get_note_cursor)
|
iter_note_handles = _f(get_note_cursor)
|
||||||
iter_tag_handles = _f(get_tag_cursor)
|
iter_tag_handles = _f(get_tag_cursor)
|
||||||
@ -1219,7 +1219,7 @@ class DbBsddbRead(DbReadBase, Callback):
|
|||||||
iter_places = _f(get_place_cursor, Place)
|
iter_places = _f(get_place_cursor, Place)
|
||||||
iter_sources = _f(get_source_cursor, Source)
|
iter_sources = _f(get_source_cursor, Source)
|
||||||
iter_citations = _f(get_citation_cursor, Citation)
|
iter_citations = _f(get_citation_cursor, Citation)
|
||||||
iter_media_objects = _f(get_media_cursor, Media)
|
iter_media = _f(get_media_cursor, Media)
|
||||||
iter_repositories = _f(get_repository_cursor, Repository)
|
iter_repositories = _f(get_repository_cursor, Repository)
|
||||||
iter_notes = _f(get_note_cursor, Note)
|
iter_notes = _f(get_note_cursor, Note)
|
||||||
iter_tags = _f(get_tag_cursor, Tag)
|
iter_tags = _f(get_tag_cursor, Tag)
|
||||||
@ -1986,7 +1986,7 @@ class DbBsddbRead(DbReadBase, Callback):
|
|||||||
_("Number of sources"): self.get_number_of_sources(),
|
_("Number of sources"): self.get_number_of_sources(),
|
||||||
_("Number of citations"): self.get_number_of_citations(),
|
_("Number of citations"): self.get_number_of_citations(),
|
||||||
_("Number of events"): self.get_number_of_events(),
|
_("Number of events"): self.get_number_of_events(),
|
||||||
_("Number of media"): self.get_number_of_media_objects(),
|
_("Number of media"): self.get_number_of_media(),
|
||||||
_("Number of places"): self.get_number_of_places(),
|
_("Number of places"): self.get_number_of_places(),
|
||||||
_("Number of repositories"): self.get_number_of_repositories(),
|
_("Number of repositories"): self.get_number_of_repositories(),
|
||||||
_("Number of notes"): self.get_number_of_notes(),
|
_("Number of notes"): self.get_number_of_notes(),
|
||||||
|
|||||||
@ -63,7 +63,7 @@ class DbTest(unittest.TestCase):
|
|||||||
"get_media_attribute_types",
|
"get_media_attribute_types",
|
||||||
"get_media_bookmarks",
|
"get_media_bookmarks",
|
||||||
"get_media_cursor",
|
"get_media_cursor",
|
||||||
"get_media_object_handles",
|
"get_media_handles",
|
||||||
"get_mediapath",
|
"get_mediapath",
|
||||||
"get_name_group_keys",
|
"get_name_group_keys",
|
||||||
"get_name_group_mapping",
|
"get_name_group_mapping",
|
||||||
@ -76,7 +76,7 @@ class DbTest(unittest.TestCase):
|
|||||||
"get_note_types",
|
"get_note_types",
|
||||||
"get_number_of_events",
|
"get_number_of_events",
|
||||||
"get_number_of_families",
|
"get_number_of_families",
|
||||||
"get_number_of_media_objects",
|
"get_number_of_media",
|
||||||
"get_number_of_notes",
|
"get_number_of_notes",
|
||||||
"get_number_of_people",
|
"get_number_of_people",
|
||||||
"get_number_of_places",
|
"get_number_of_places",
|
||||||
@ -144,8 +144,8 @@ class DbTest(unittest.TestCase):
|
|||||||
"iter_events",
|
"iter_events",
|
||||||
"iter_families",
|
"iter_families",
|
||||||
"iter_family_handles",
|
"iter_family_handles",
|
||||||
"iter_media_object_handles",
|
"iter_media_handles",
|
||||||
"iter_media_objects",
|
"iter_media",
|
||||||
"iter_note_handles",
|
"iter_note_handles",
|
||||||
"iter_notes",
|
"iter_notes",
|
||||||
"iter_people",
|
"iter_people",
|
||||||
@ -195,7 +195,7 @@ class DbTest(unittest.TestCase):
|
|||||||
"commit_base",
|
"commit_base",
|
||||||
"commit_event",
|
"commit_event",
|
||||||
"commit_family",
|
"commit_family",
|
||||||
"commit_media_object",
|
"commit_media",
|
||||||
"commit_note",
|
"commit_note",
|
||||||
"commit_person",
|
"commit_person",
|
||||||
"commit_place",
|
"commit_place",
|
||||||
|
|||||||
@ -50,7 +50,7 @@ class GrampsDbBaseTest(unittest.TestCase):
|
|||||||
num_families = 0,
|
num_families = 0,
|
||||||
num_events = 0,
|
num_events = 0,
|
||||||
num_places = 0,
|
num_places = 0,
|
||||||
num_media_objects = 0,
|
num_media = 0,
|
||||||
num_links = 1):
|
num_links = 1):
|
||||||
# start with sources
|
# start with sources
|
||||||
sources = []
|
sources = []
|
||||||
@ -65,7 +65,7 @@ class GrampsDbBaseTest(unittest.TestCase):
|
|||||||
(num_families, self._add_family_with_sources),
|
(num_families, self._add_family_with_sources),
|
||||||
(num_events, self._add_event_with_sources),
|
(num_events, self._add_event_with_sources),
|
||||||
(num_places, self._add_place_with_sources),
|
(num_places, self._add_place_with_sources),
|
||||||
(num_media_objects, self._add_media_object_with_sources)):
|
(num_media, self._add_media_with_sources)):
|
||||||
|
|
||||||
source_idx = 1
|
source_idx = 1
|
||||||
for person_idx in range(num):
|
for person_idx in range(num):
|
||||||
@ -155,9 +155,9 @@ class GrampsDbBaseTest(unittest.TestCase):
|
|||||||
self._db.add_place,
|
self._db.add_place,
|
||||||
self._db.commit_place)
|
self._db.commit_place)
|
||||||
|
|
||||||
def _add_media_object_with_sources(self, citations):
|
def _add_media_with_sources(self, citations):
|
||||||
|
|
||||||
return self._add_object_with_source(citations,
|
return self._add_object_with_source(citations,
|
||||||
Media,
|
Media,
|
||||||
self._db.add_object,
|
self._db.add_object,
|
||||||
self._db.commit_media_object)
|
self._db.commit_media)
|
||||||
|
|||||||
@ -73,7 +73,7 @@ class ReferenceMapTest(GrampsDbBaseTest):
|
|||||||
self._add_family_with_sources([citation])
|
self._add_family_with_sources([citation])
|
||||||
self._add_event_with_sources([citation])
|
self._add_event_with_sources([citation])
|
||||||
self._add_place_with_sources([citation])
|
self._add_place_with_sources([citation])
|
||||||
self._add_media_object_with_sources([citation])
|
self._add_media_with_sources([citation])
|
||||||
|
|
||||||
# make sure that we have the correct number of references (one for each object)
|
# make sure that we have the correct number of references (one for each object)
|
||||||
references = list(self._db.find_backlink_handles(citation.get_handle()))
|
references = list(self._db.find_backlink_handles(citation.get_handle()))
|
||||||
@ -159,7 +159,7 @@ class ReferenceMapTest(GrampsDbBaseTest):
|
|||||||
num_families = 10
|
num_families = 10
|
||||||
num_events = 10
|
num_events = 10
|
||||||
num_places = 10
|
num_places = 10
|
||||||
num_media_objects = 10
|
num_media = 10
|
||||||
num_links = 10
|
num_links = 10
|
||||||
|
|
||||||
self._populate_database(num_sources,
|
self._populate_database(num_sources,
|
||||||
@ -167,7 +167,7 @@ class ReferenceMapTest(GrampsDbBaseTest):
|
|||||||
num_families,
|
num_families,
|
||||||
num_events,
|
num_events,
|
||||||
num_places,
|
num_places,
|
||||||
num_media_objects,
|
num_media,
|
||||||
num_links)
|
num_links)
|
||||||
|
|
||||||
|
|
||||||
@ -200,13 +200,13 @@ class ReferenceMapTest(GrampsDbBaseTest):
|
|||||||
"num_families = %d \n"
|
"num_families = %d \n"
|
||||||
"num_events = %d \n"
|
"num_events = %d \n"
|
||||||
"num_places = %d \n"
|
"num_places = %d \n"
|
||||||
"num_media_objects = %d \n"
|
"num_media = %d \n"
|
||||||
"num_links = %d" % (num_sources,
|
"num_links = %d" % (num_sources,
|
||||||
num_persons,
|
num_persons,
|
||||||
num_families,
|
num_families,
|
||||||
num_events,
|
num_events,
|
||||||
num_places,
|
num_places,
|
||||||
num_media_objects,
|
num_media,
|
||||||
num_links))
|
num_links))
|
||||||
logger.info("with refs %s\n", str(with_reference_map))
|
logger.info("with refs %s\n", str(with_reference_map))
|
||||||
logger.info("without refs %s\n", str(without_reference_map))
|
logger.info("without refs %s\n", str(without_reference_map))
|
||||||
|
|||||||
@ -306,10 +306,10 @@ class DbBsddb(DbBsddbRead, DbWriteBase, UpdateCallback):
|
|||||||
"gramps_id_func": self.get_media_from_gramps_id,
|
"gramps_id_func": self.get_media_from_gramps_id,
|
||||||
"class_func": Media,
|
"class_func": Media,
|
||||||
"cursor_func": self.get_media_cursor,
|
"cursor_func": self.get_media_cursor,
|
||||||
"handles_func": self.get_media_object_handles,
|
"handles_func": self.get_media_handles,
|
||||||
"add_func": self.add_object,
|
"add_func": self.add_object,
|
||||||
"commit_func": self.commit_media_object,
|
"commit_func": self.commit_media,
|
||||||
"count_func": self.get_number_of_media_objects,
|
"count_func": self.get_number_of_media,
|
||||||
"del_func": self.remove_object,
|
"del_func": self.remove_object,
|
||||||
})
|
})
|
||||||
self._tables['Place'].update(
|
self._tables['Place'].update(
|
||||||
@ -1638,7 +1638,7 @@ class DbBsddb(DbBsddbRead, DbWriteBase, UpdateCallback):
|
|||||||
"""
|
"""
|
||||||
return self.__add_object(obj, transaction,
|
return self.__add_object(obj, transaction,
|
||||||
self.find_next_object_gramps_id if set_gid else None,
|
self.find_next_object_gramps_id if set_gid else None,
|
||||||
self.commit_media_object)
|
self.commit_media)
|
||||||
|
|
||||||
def add_repository(self, obj, transaction, set_gid=True):
|
def add_repository(self, obj, transaction, set_gid=True):
|
||||||
"""
|
"""
|
||||||
@ -1945,7 +1945,7 @@ class DbBsddb(DbBsddbRead, DbWriteBase, UpdateCallback):
|
|||||||
if attr.type.is_custom() and str(attr.type)]
|
if attr.type.is_custom() and str(attr.type)]
|
||||||
self.media_attributes.update(attr_list)
|
self.media_attributes.update(attr_list)
|
||||||
|
|
||||||
def commit_media_object(self, obj, transaction, change_time=None):
|
def commit_media(self, obj, transaction, change_time=None):
|
||||||
"""
|
"""
|
||||||
Commit the specified Media to the database, storing the changes
|
Commit the specified Media to the database, storing the changes
|
||||||
as part of the transaction.
|
as part of the transaction.
|
||||||
@ -2491,7 +2491,7 @@ class DbBsddb(DbBsddbRead, DbWriteBase, UpdateCallback):
|
|||||||
_("Number of sources"): self.get_number_of_sources(),
|
_("Number of sources"): self.get_number_of_sources(),
|
||||||
_("Number of citations"): self.get_number_of_citations(),
|
_("Number of citations"): self.get_number_of_citations(),
|
||||||
_("Number of events"): self.get_number_of_events(),
|
_("Number of events"): self.get_number_of_events(),
|
||||||
_("Number of media"): self.get_number_of_media_objects(),
|
_("Number of media"): self.get_number_of_media(),
|
||||||
_("Number of places"): self.get_number_of_places(),
|
_("Number of places"): self.get_number_of_places(),
|
||||||
_("Number of repositories"): self.get_number_of_repositories(),
|
_("Number of repositories"): self.get_number_of_repositories(),
|
||||||
_("Number of notes"): self.get_number_of_notes(),
|
_("Number of notes"): self.get_number_of_notes(),
|
||||||
|
|||||||
@ -151,7 +151,7 @@ class DictionaryDb(DbGeneric):
|
|||||||
def get_repository_handles(self):
|
def get_repository_handles(self):
|
||||||
return self._repository_dict.keys()
|
return self._repository_dict.keys()
|
||||||
|
|
||||||
def get_media_object_handles(self, sort_handles=False):
|
def get_media_handles(self, sort_handles=False):
|
||||||
## Fixme: implement sort
|
## Fixme: implement sort
|
||||||
return self._media_dict.keys()
|
return self._media_dict.keys()
|
||||||
|
|
||||||
@ -189,7 +189,7 @@ class DictionaryDb(DbGeneric):
|
|||||||
def get_number_of_sources(self):
|
def get_number_of_sources(self):
|
||||||
return len(self._source_dict)
|
return len(self._source_dict)
|
||||||
|
|
||||||
def get_number_of_media_objects(self):
|
def get_number_of_media(self):
|
||||||
return len(self._media_dict)
|
return len(self._media_dict)
|
||||||
|
|
||||||
def get_number_of_repositories(self):
|
def get_number_of_repositories(self):
|
||||||
@ -532,7 +532,7 @@ class DictionaryDb(DbGeneric):
|
|||||||
if emit:
|
if emit:
|
||||||
self.emit(emit, ([tag.handle],))
|
self.emit(emit, ([tag.handle],))
|
||||||
|
|
||||||
def commit_media_object(self, media, trans, change_time=None):
|
def commit_media(self, media, trans, change_time=None):
|
||||||
emit = None
|
emit = None
|
||||||
old_media = None
|
old_media = None
|
||||||
if media.handle in self.media_map:
|
if media.handle in self.media_map:
|
||||||
@ -667,7 +667,7 @@ class DictionaryDb(DbGeneric):
|
|||||||
def iter_event_handles(self):
|
def iter_event_handles(self):
|
||||||
return (key for key in self._event_dict.keys())
|
return (key for key in self._event_dict.keys())
|
||||||
|
|
||||||
def iter_media_object_handles(self):
|
def iter_media_handles(self):
|
||||||
return (key for key in self._media_dict.keys())
|
return (key for key in self._media_dict.keys())
|
||||||
|
|
||||||
def iter_note_handles(self):
|
def iter_note_handles(self):
|
||||||
|
|||||||
@ -370,7 +370,7 @@ class AsciiDoc(BaseDoc, TextDoc):
|
|||||||
if self.cell_lines[self.cellnum] > self.maxlines:
|
if self.cell_lines[self.cellnum] > self.maxlines:
|
||||||
self.maxlines = self.cell_lines[self.cellnum]
|
self.maxlines = self.cell_lines[self.cellnum]
|
||||||
|
|
||||||
def add_media_object(self, name, align, w_cm, h_cm, alt='',
|
def add_media(self, name, align, w_cm, h_cm, alt='',
|
||||||
style_name=None, crop=None):
|
style_name=None, crop=None):
|
||||||
this_text = '(photo)'
|
this_text = '(photo)'
|
||||||
if self.in_cell:
|
if self.in_cell:
|
||||||
|
|||||||
@ -538,7 +538,7 @@ class HtmlDoc(BaseDoc, TextDoc):
|
|||||||
#end div element
|
#end div element
|
||||||
self.__reduce_list()
|
self.__reduce_list()
|
||||||
|
|
||||||
def add_media_object(self, name, pos, w_cm, h_cm, alt='', style_name=None, crop=None):
|
def add_media(self, name, pos, w_cm, h_cm, alt='', style_name=None, crop=None):
|
||||||
"""
|
"""
|
||||||
Overwrite base method
|
Overwrite base method
|
||||||
"""
|
"""
|
||||||
|
|||||||
@ -1207,7 +1207,7 @@ class LaTeXDoc(BaseDoc, TextDoc):
|
|||||||
self.emit('', CELL_END)
|
self.emit('', CELL_END)
|
||||||
|
|
||||||
|
|
||||||
def add_media_object(self, infile, pos, x, y, alt='',
|
def add_media(self, infile, pos, x, y, alt='',
|
||||||
style_name=None, crop=None):
|
style_name=None, crop=None):
|
||||||
"""Add photo to report"""
|
"""Add photo to report"""
|
||||||
outfile = os.path.splitext(infile)[0]
|
outfile = os.path.splitext(infile)[0]
|
||||||
|
|||||||
@ -998,7 +998,7 @@ class ODFDoc(BaseDoc, TextDoc, DrawDoc):
|
|||||||
'</style:style>\n'
|
'</style:style>\n'
|
||||||
)
|
)
|
||||||
|
|
||||||
def add_media_object(self, file_name, pos, x_cm, y_cm, alt='', style_name=None, crop=None):
|
def add_media(self, file_name, pos, x_cm, y_cm, alt='', style_name=None, crop=None):
|
||||||
"""
|
"""
|
||||||
Add multi-media documents : photos
|
Add multi-media documents : photos
|
||||||
"""
|
"""
|
||||||
|
|||||||
@ -391,7 +391,7 @@ class RTFDoc(BaseDoc,TextDoc):
|
|||||||
# dumped as a string of HEX numbers.
|
# dumped as a string of HEX numbers.
|
||||||
#
|
#
|
||||||
#--------------------------------------------------------------------
|
#--------------------------------------------------------------------
|
||||||
def add_media_object(self, name, pos, x_cm, y_cm, alt='', style_name=None, crop=None):
|
def add_media(self, name, pos, x_cm, y_cm, alt='', style_name=None, crop=None):
|
||||||
|
|
||||||
nx, ny = image_size(name)
|
nx, ny = image_size(name)
|
||||||
|
|
||||||
|
|||||||
@ -181,7 +181,7 @@ class PackageWriter(object):
|
|||||||
|
|
||||||
# Write media files first, since the database may be modified
|
# Write media files first, since the database may be modified
|
||||||
# during the process (i.e. when removing object)
|
# during the process (i.e. when removing object)
|
||||||
for m_id in self.db.get_media_object_handles(sort_handles=True):
|
for m_id in self.db.get_media_handles(sort_handles=True):
|
||||||
mobject = self.db.get_media_from_handle(m_id)
|
mobject = self.db.get_media_from_handle(m_id)
|
||||||
filename = media_path_full(self.db, mobject.get_path())
|
filename = media_path_full(self.db, mobject.get_path())
|
||||||
archname = str(mobject.get_path())
|
archname = str(mobject.get_path())
|
||||||
|
|||||||
@ -209,7 +209,7 @@ class GrampsXmlWriter(UpdateCallback):
|
|||||||
source_len = self.db.get_number_of_sources()
|
source_len = self.db.get_number_of_sources()
|
||||||
place_len = self.db.get_number_of_places()
|
place_len = self.db.get_number_of_places()
|
||||||
repo_len = self.db.get_number_of_repositories()
|
repo_len = self.db.get_number_of_repositories()
|
||||||
obj_len = self.db.get_number_of_media_objects()
|
obj_len = self.db.get_number_of_media()
|
||||||
note_len = self.db.get_number_of_notes()
|
note_len = self.db.get_number_of_notes()
|
||||||
tag_len = self.db.get_number_of_tags()
|
tag_len = self.db.get_number_of_tags()
|
||||||
|
|
||||||
@ -316,7 +316,7 @@ class GrampsXmlWriter(UpdateCallback):
|
|||||||
|
|
||||||
if obj_len > 0:
|
if obj_len > 0:
|
||||||
self.g.write(" <objects>\n")
|
self.g.write(" <objects>\n")
|
||||||
for handle in sorted(self.db.get_media_object_handles()):
|
for handle in sorted(self.db.get_media_handles()):
|
||||||
obj = self.db.get_media_from_handle(handle)
|
obj = self.db.get_media_from_handle(handle)
|
||||||
self.write_object(obj,2)
|
self.write_object(obj,2)
|
||||||
self.update()
|
self.update()
|
||||||
|
|||||||
@ -126,7 +126,7 @@ class FAQGramplet(Gramplet):
|
|||||||
"How do you add a photo of a person/source/event?"
|
"How do you add a photo of a person/source/event?"
|
||||||
"%(html_end)s\n") % faq_dict )
|
"%(html_end)s\n") % faq_dict )
|
||||||
faq_dict.update(
|
faq_dict.update(
|
||||||
{ 'faq_section' : "#How_do_you_find_unused_media_objects.3F'>" })
|
{ 'faq_section' : "#How_do_you_find_unused_media.3F'>" })
|
||||||
self.render_text(
|
self.render_text(
|
||||||
_(" 9. %(gramps_FAQ_html_start)s%(faq_section)s"
|
_(" 9. %(gramps_FAQ_html_start)s%(faq_section)s"
|
||||||
"How do you find unused media objects?"
|
"How do you find unused media objects?"
|
||||||
|
|||||||
@ -82,9 +82,9 @@ class StatsGramplet(Gramplet):
|
|||||||
namelist = []
|
namelist = []
|
||||||
notfound = []
|
notfound = []
|
||||||
|
|
||||||
mobjects = database.get_number_of_media_objects()
|
mobjects = database.get_number_of_media()
|
||||||
mbytes = "0"
|
mbytes = "0"
|
||||||
for media in database.iter_media_objects():
|
for media in database.iter_media():
|
||||||
fullname = media_path_full(database, media.get_path())
|
fullname = media_path_full(database, media.get_path())
|
||||||
try:
|
try:
|
||||||
bytes += posixpath.getsize(fullname)
|
bytes += posixpath.getsize(fullname)
|
||||||
|
|||||||
@ -445,4 +445,4 @@ class MediaToDo(ToDo):
|
|||||||
def created(self, handle):
|
def created(self, handle):
|
||||||
with DbTxn('Attach Note', self.dbstate.db) as trans:
|
with DbTxn('Attach Note', self.dbstate.db) as trans:
|
||||||
self.obj.add_note(handle)
|
self.obj.add_note(handle)
|
||||||
self.dbstate.db.commit_media_object(self.obj, trans)
|
self.dbstate.db.commit_media(self.obj, trans)
|
||||||
|
|||||||
@ -2250,7 +2250,7 @@ class GrampsParser(UpdateCallback):
|
|||||||
self.update(self.p.CurrentLineNumber)
|
self.update(self.p.CurrentLineNumber)
|
||||||
|
|
||||||
def stop_object(self, *tag):
|
def stop_object(self, *tag):
|
||||||
self.db.commit_media_object(self.object, self.trans,
|
self.db.commit_media(self.object, self.trans,
|
||||||
self.object.get_change_time())
|
self.object.get_change_time())
|
||||||
self.object = None
|
self.object = None
|
||||||
|
|
||||||
@ -2287,7 +2287,7 @@ class GrampsParser(UpdateCallback):
|
|||||||
self.photo.set_mime_type(get_type(self.photo.get_path()))
|
self.photo.set_mime_type(get_type(self.photo.get_path()))
|
||||||
self.db.add_object(self.photo, self.trans)
|
self.db.add_object(self.photo, self.trans)
|
||||||
#set correct change time
|
#set correct change time
|
||||||
self.db.commit_media_object(self.photo, self.trans, self.change)
|
self.db.commit_media(self.photo, self.trans, self.change)
|
||||||
self.info.add('new-object', MEDIA_KEY, self.photo)
|
self.info.add('new-object', MEDIA_KEY, self.photo)
|
||||||
if self.family:
|
if self.family:
|
||||||
self.family.add_media_reference(self.pref)
|
self.family.add_media_reference(self.pref)
|
||||||
|
|||||||
@ -1577,7 +1577,7 @@ links (like ODF) and write PDF from that format.
|
|||||||
markuptext = self._backend.add_markup_from_styled(text, s_tags)
|
markuptext = self._backend.add_markup_from_styled(text, s_tags)
|
||||||
self.__write_text(markuptext, mark=mark, markup=True)
|
self.__write_text(markuptext, mark=mark, markup=True)
|
||||||
|
|
||||||
def add_media_object(self, name, pos, x_cm, y_cm, alt='',
|
def add_media(self, name, pos, x_cm, y_cm, alt='',
|
||||||
style_name=None, crop=None):
|
style_name=None, crop=None):
|
||||||
new_image = GtkDocPicture(pos, name, x_cm, y_cm, crop=crop)
|
new_image = GtkDocPicture(pos, name, x_cm, y_cm, crop=crop)
|
||||||
self._active_element.add_child(new_image)
|
self._active_element.add_child(new_image)
|
||||||
|
|||||||
@ -3172,7 +3172,7 @@ class GedcomParser(UpdateCallback):
|
|||||||
__check(self.sid_map, self.dbase.sid_trans, self.__find_or_create_source,
|
__check(self.sid_map, self.dbase.sid_trans, self.__find_or_create_source,
|
||||||
self.dbase.commit_source, self.sid2id, "SOUR")
|
self.dbase.commit_source, self.sid2id, "SOUR")
|
||||||
__check(self.oid_map, self.dbase.oid_trans, self.__find_or_create_object,
|
__check(self.oid_map, self.dbase.oid_trans, self.__find_or_create_object,
|
||||||
self.dbase.commit_media_object, self.oid2id, "OBJE")
|
self.dbase.commit_media, self.oid2id, "OBJE")
|
||||||
__check(self.rid_map, self.dbase.rid_trans, self.__find_or_create_repository,
|
__check(self.rid_map, self.dbase.rid_trans, self.__find_or_create_repository,
|
||||||
self.dbase.commit_repository, self.rid2id, "REPO")
|
self.dbase.commit_repository, self.rid2id, "REPO")
|
||||||
__check(self.nid_map, self.dbase.nid_trans, self.__find_or_create_note,
|
__check(self.nid_map, self.dbase.nid_trans, self.__find_or_create_note,
|
||||||
@ -3771,7 +3771,7 @@ class GedcomParser(UpdateCallback):
|
|||||||
self.__add_msg(_("Filename omitted"), line, state)
|
self.__add_msg(_("Filename omitted"), line, state)
|
||||||
if form == "":
|
if form == "":
|
||||||
self.__add_msg(_("Form omitted"), line, state)
|
self.__add_msg(_("Form omitted"), line, state)
|
||||||
self.build_media_object(state.person, form, filename, title, note)
|
self.build_media(state.person, form, filename, title, note)
|
||||||
|
|
||||||
def __person_name(self, line, state):
|
def __person_name(self, line, state):
|
||||||
"""
|
"""
|
||||||
@ -5102,7 +5102,7 @@ class GedcomParser(UpdateCallback):
|
|||||||
self.__add_msg(_("Filename omitted"), line, state)
|
self.__add_msg(_("Filename omitted"), line, state)
|
||||||
if form == "":
|
if form == "":
|
||||||
self.__add_msg(_("Form omitted"), line, state)
|
self.__add_msg(_("Form omitted"), line, state)
|
||||||
self.build_media_object(state.family, form, filename, title, note)
|
self.build_media(state.family, form, filename, title, note)
|
||||||
|
|
||||||
def __family_comm(self, line, state):
|
def __family_comm(self, line, state):
|
||||||
"""
|
"""
|
||||||
@ -5330,7 +5330,7 @@ class GedcomParser(UpdateCallback):
|
|||||||
self.__add_msg(_("Filename omitted"), line, state)
|
self.__add_msg(_("Filename omitted"), line, state)
|
||||||
if form == "":
|
if form == "":
|
||||||
self.__add_msg(_("Form omitted"), line, state)
|
self.__add_msg(_("Form omitted"), line, state)
|
||||||
self.build_media_object(state.event, form, filename, title, note)
|
self.build_media(state.event, form, filename, title, note)
|
||||||
|
|
||||||
def __event_type(self, line, state):
|
def __event_type(self, line, state):
|
||||||
"""
|
"""
|
||||||
@ -5459,7 +5459,7 @@ class GedcomParser(UpdateCallback):
|
|||||||
self.__add_msg(_("Filename omitted"), line, state)
|
self.__add_msg(_("Filename omitted"), line, state)
|
||||||
if form == "":
|
if form == "":
|
||||||
self.__add_msg(_("Form omitted"), line, state)
|
self.__add_msg(_("Form omitted"), line, state)
|
||||||
self.build_media_object(state.place, form, filename, title, note)
|
self.build_media(state.place, form, filename, title, note)
|
||||||
|
|
||||||
def __event_place_sour(self, line, state):
|
def __event_place_sour(self, line, state):
|
||||||
"""
|
"""
|
||||||
@ -6126,7 +6126,7 @@ class GedcomParser(UpdateCallback):
|
|||||||
self.__add_msg(_("Filename omitted"), line, state)
|
self.__add_msg(_("Filename omitted"), line, state)
|
||||||
if form == "":
|
if form == "":
|
||||||
self.__add_msg(_("Form omitted"), line, state)
|
self.__add_msg(_("Form omitted"), line, state)
|
||||||
self.build_media_object(state.citation, form, filename, title, note)
|
self.build_media(state.citation, form, filename, title, note)
|
||||||
|
|
||||||
def __citation_refn(self, line, state):
|
def __citation_refn(self, line, state):
|
||||||
"""
|
"""
|
||||||
@ -6279,7 +6279,7 @@ class GedcomParser(UpdateCallback):
|
|||||||
self.__add_msg(_("Filename omitted"), line, state)
|
self.__add_msg(_("Filename omitted"), line, state)
|
||||||
if form == "":
|
if form == "":
|
||||||
self.__add_msg(_("Form omitted"), line, state)
|
self.__add_msg(_("Form omitted"), line, state)
|
||||||
self.build_media_object(state.source, form, filename, title, note)
|
self.build_media(state.source, form, filename, title, note)
|
||||||
|
|
||||||
def __source_chan(self, line, state):
|
def __source_chan(self, line, state):
|
||||||
"""
|
"""
|
||||||
@ -6500,7 +6500,7 @@ class GedcomParser(UpdateCallback):
|
|||||||
self.__check_msgs(_("OBJE (multi-media object) Gramps ID %s") %
|
self.__check_msgs(_("OBJE (multi-media object) Gramps ID %s") %
|
||||||
media.get_gramps_id(), state, media)
|
media.get_gramps_id(), state, media)
|
||||||
# commit the person to the database
|
# commit the person to the database
|
||||||
self.dbase.commit_media_object(media, self.trans, media.change)
|
self.dbase.commit_media(media, self.trans, media.change)
|
||||||
|
|
||||||
def __obje_form(self, line, state):
|
def __obje_form(self, line, state):
|
||||||
"""
|
"""
|
||||||
@ -7512,7 +7512,7 @@ class GedcomParser(UpdateCallback):
|
|||||||
# too far in the future, this gives OverflowError.
|
# too far in the future, this gives OverflowError.
|
||||||
pass
|
pass
|
||||||
|
|
||||||
def build_media_object(self, obj, form, filename, title, note):
|
def build_media(self, obj, form, filename, title, note):
|
||||||
if isinstance(form, str) and form.lower() == "url":
|
if isinstance(form, str) and form.lower() == "url":
|
||||||
url = Url()
|
url = Url()
|
||||||
url.set_path(filename)
|
url.set_path(filename)
|
||||||
|
|||||||
@ -107,8 +107,8 @@ def run(database, document, filter_name, *args, **kwargs):
|
|||||||
"%d/%d" % (len(database.get_repository_handles()),
|
"%d/%d" % (len(database.get_repository_handles()),
|
||||||
len(database.db.get_repository_handles())))
|
len(database.db.get_repository_handles())))
|
||||||
stab.row([_("Media"), "Filter", "Media"],
|
stab.row([_("Media"), "Filter", "Media"],
|
||||||
"%d/%d" % (len(database.get_media_object_handles()),
|
"%d/%d" % (len(database.get_media_handles()),
|
||||||
len(database.db.get_media_object_handles())))
|
len(database.db.get_media_handles())))
|
||||||
stab.row([_("Notes"), "Filter", "Note"],
|
stab.row([_("Notes"), "Filter", "Note"],
|
||||||
"%d/%d" % (len(database.get_note_handles()),
|
"%d/%d" % (len(database.get_note_handles()),
|
||||||
len(database.db.get_note_handles())))
|
len(database.db.get_note_handles())))
|
||||||
@ -132,8 +132,8 @@ def run(database, document, filter_name, *args, **kwargs):
|
|||||||
"%d/%d" % (len(database.get_repository_handles()),
|
"%d/%d" % (len(database.get_repository_handles()),
|
||||||
len(database.basedb.get_repository_handles())))
|
len(database.basedb.get_repository_handles())))
|
||||||
stab.row([_("Media"), "Filter", "Media"],
|
stab.row([_("Media"), "Filter", "Media"],
|
||||||
"%d/%d" % (len(database.get_media_object_handles()),
|
"%d/%d" % (len(database.get_media_handles()),
|
||||||
len(database.basedb.get_media_object_handles())))
|
len(database.basedb.get_media_handles())))
|
||||||
stab.row([_("Notes"), "Filter", "Note"],
|
stab.row([_("Notes"), "Filter", "Note"],
|
||||||
"%d/%d" % (len(database.get_note_handles()),
|
"%d/%d" % (len(database.get_note_handles()),
|
||||||
len(database.basedb.get_note_handles())))
|
len(database.basedb.get_note_handles())))
|
||||||
@ -213,9 +213,9 @@ def run(database, document, filter_name, *args, **kwargs):
|
|||||||
elif (filter_name == 'Inverse Media'):
|
elif (filter_name == 'Inverse Media'):
|
||||||
sdb.dbase = database.db
|
sdb.dbase = database.db
|
||||||
stab.columns(_("Media"), _("Gramps ID"))
|
stab.columns(_("Media"), _("Gramps ID"))
|
||||||
proxy_handles = set(database.iter_media_object_handles())
|
proxy_handles = set(database.iter_media_handles())
|
||||||
|
|
||||||
for media in database.db.iter_media_objects():
|
for media in database.db.iter_media():
|
||||||
if media.handle not in proxy_handles:
|
if media.handle not in proxy_handles:
|
||||||
stab.row(media, media.gramps_id)
|
stab.row(media, media.gramps_id)
|
||||||
matches += 1
|
matches += 1
|
||||||
@ -268,7 +268,7 @@ def run(database, document, filter_name, *args, **kwargs):
|
|||||||
|
|
||||||
elif (filter_name in ['all media', 'Media']):
|
elif (filter_name in ['all media', 'Media']):
|
||||||
stab.columns(_("Media"), _("Gramps ID"))
|
stab.columns(_("Media"), _("Gramps ID"))
|
||||||
for obj in database.iter_media_objects():
|
for obj in database.iter_media():
|
||||||
stab.row(obj, obj.gramps_id)
|
stab.row(obj, obj.gramps_id)
|
||||||
matches += 1
|
matches += 1
|
||||||
|
|
||||||
@ -379,14 +379,14 @@ def run(database, document, filter_name, *args, **kwargs):
|
|||||||
|
|
||||||
elif (filter_name == 'unique media'):
|
elif (filter_name == 'unique media'):
|
||||||
stab.columns(_("Unique Media"))
|
stab.columns(_("Unique Media"))
|
||||||
for photo in database.iter_media_objects():
|
for photo in database.iter_media():
|
||||||
fullname = media_path_full(database, photo.get_path())
|
fullname = media_path_full(database, photo.get_path())
|
||||||
stab.row(fullname)
|
stab.row(fullname)
|
||||||
matches += 1
|
matches += 1
|
||||||
|
|
||||||
elif (filter_name == 'missing media'):
|
elif (filter_name == 'missing media'):
|
||||||
stab.columns(_("Missing Media"))
|
stab.columns(_("Missing Media"))
|
||||||
for photo in database.iter_media_objects():
|
for photo in database.iter_media():
|
||||||
fullname = media_path_full(database, photo.get_path())
|
fullname = media_path_full(database, photo.get_path())
|
||||||
try:
|
try:
|
||||||
posixpath.getsize(fullname)
|
posixpath.getsize(fullname)
|
||||||
@ -396,7 +396,7 @@ def run(database, document, filter_name, *args, **kwargs):
|
|||||||
|
|
||||||
elif (filter_name == 'media by size'):
|
elif (filter_name == 'media by size'):
|
||||||
stab.columns(_("Media"), _("Size in bytes"))
|
stab.columns(_("Media"), _("Size in bytes"))
|
||||||
for photo in database.iter_media_objects():
|
for photo in database.iter_media():
|
||||||
fullname = media_path_full(database, photo.get_path())
|
fullname = media_path_full(database, photo.get_path())
|
||||||
try:
|
try:
|
||||||
bytes = posixpath.getsize(fullname)
|
bytes = posixpath.getsize(fullname)
|
||||||
|
|||||||
@ -829,7 +829,7 @@ class IndivCompleteReport(Report):
|
|||||||
|
|
||||||
if p_style == 'IDS-PersonTable':
|
if p_style == 'IDS-PersonTable':
|
||||||
self.doc.start_cell('IDS-NormalCell')
|
self.doc.start_cell('IDS-NormalCell')
|
||||||
self.doc.add_media_object(image_filename, "right", 4.0, 4.0,
|
self.doc.add_media(image_filename, "right", 4.0, 4.0,
|
||||||
crop=media0.get_rectangle())
|
crop=media0.get_rectangle())
|
||||||
endnotes = self._cite_endnote(media0)
|
endnotes = self._cite_endnote(media0)
|
||||||
attr_list = media0.get_attribute_list()
|
attr_list = media0.get_attribute_list()
|
||||||
|
|||||||
@ -98,7 +98,7 @@ class SimpleBookTitle(Report):
|
|||||||
image_size = min(
|
image_size = min(
|
||||||
0.8 * self.doc.get_usable_width(),
|
0.8 * self.doc.get_usable_width(),
|
||||||
0.7 * self.doc.get_usable_height() )
|
0.7 * self.doc.get_usable_height() )
|
||||||
self.doc.add_media_object(filename, 'center',
|
self.doc.add_media(filename, 'center',
|
||||||
image_size, image_size)
|
image_size, image_size)
|
||||||
else:
|
else:
|
||||||
self._user.warn(_('Could not add photo to page'),
|
self._user.warn(_('Could not add photo to page'),
|
||||||
|
|||||||
@ -224,9 +224,9 @@ class SummaryReport(Report):
|
|||||||
self.doc.write_text(self._("Media Objects"))
|
self.doc.write_text(self._("Media Objects"))
|
||||||
self.doc.end_paragraph()
|
self.doc.end_paragraph()
|
||||||
|
|
||||||
total_media = len(self.__db.get_media_object_handles())
|
total_media = len(self.__db.get_media_handles())
|
||||||
mbytes = "0"
|
mbytes = "0"
|
||||||
for media_id in self.__db.get_media_object_handles():
|
for media_id in self.__db.get_media_handles():
|
||||||
media = self.__db.get_media_from_handle(media_id)
|
media = self.__db.get_media_from_handle(media_id)
|
||||||
try:
|
try:
|
||||||
size_in_bytes += posixpath.getsize(
|
size_in_bytes += posixpath.getsize(
|
||||||
|
|||||||
@ -517,7 +517,7 @@ class TagReport(Report):
|
|||||||
self.doc.end_table()
|
self.doc.end_table()
|
||||||
|
|
||||||
def write_media(self):
|
def write_media(self):
|
||||||
mlist = self.database.get_media_object_handles(sort_handles=True)
|
mlist = self.database.get_media_handles(sort_handles=True)
|
||||||
FilterClass = GenericFilterFactory('Media')
|
FilterClass = GenericFilterFactory('Media')
|
||||||
filter = FilterClass()
|
filter = FilterClass()
|
||||||
filter.add_rule(rules.media.HasTag([self.tag]))
|
filter.add_rule(rules.media.HasTag([self.tag]))
|
||||||
|
|||||||
@ -347,7 +347,7 @@ class CheckIntegrity(object):
|
|||||||
|
|
||||||
def fix_encoding(self):
|
def fix_encoding(self):
|
||||||
self.progress.set_pass(_('Looking for character encoding errors'),
|
self.progress.set_pass(_('Looking for character encoding errors'),
|
||||||
self.db.get_number_of_media_objects())
|
self.db.get_number_of_media())
|
||||||
logging.info('Looking for character encoding errors')
|
logging.info('Looking for character encoding errors')
|
||||||
error_count = 0
|
error_count = 0
|
||||||
for bhandle in self.db.media_map.keys():
|
for bhandle in self.db.media_map.keys():
|
||||||
@ -365,7 +365,7 @@ class CheckIntegrity(object):
|
|||||||
logging.warning(' FAIL: encoding error on media object '
|
logging.warning(' FAIL: encoding error on media object '
|
||||||
'"%(gid)s" description "%(desc)s"' %
|
'"%(gid)s" description "%(desc)s"' %
|
||||||
{'gid' : obj.gramps_id, 'desc' : obj.desc})
|
{'gid' : obj.gramps_id, 'desc' : obj.desc})
|
||||||
self.db.commit_media_object(obj, self.trans)
|
self.db.commit_media(obj, self.trans)
|
||||||
error_count += 1
|
error_count += 1
|
||||||
# Once we are here, fix the mime string if not str
|
# Once we are here, fix the mime string if not str
|
||||||
if not isinstance(data[3], str):
|
if not isinstance(data[3], str):
|
||||||
@ -377,7 +377,7 @@ class CheckIntegrity(object):
|
|||||||
obj.mime = ""
|
obj.mime = ""
|
||||||
except:
|
except:
|
||||||
obj.mime = ""
|
obj.mime = ""
|
||||||
self.db.commit_media_object(obj, self.trans)
|
self.db.commit_media(obj, self.trans)
|
||||||
logging.warning(' FAIL: encoding error on media object '
|
logging.warning(' FAIL: encoding error on media object '
|
||||||
'"%(desc)s" mime "%(mime)s"' %
|
'"%(desc)s" mime "%(mime)s"' %
|
||||||
{'desc' : obj.desc, 'mime' : obj.mime})
|
{'desc' : obj.desc, 'mime' : obj.mime})
|
||||||
@ -616,7 +616,7 @@ class CheckIntegrity(object):
|
|||||||
def cleanup_missing_photos(self, cl=0):
|
def cleanup_missing_photos(self, cl=0):
|
||||||
|
|
||||||
self.progress.set_pass(_('Looking for unused objects'),
|
self.progress.set_pass(_('Looking for unused objects'),
|
||||||
len(self.db.get_media_object_handles()))
|
len(self.db.get_media_handles()))
|
||||||
logging.info('Looking for missing photos')
|
logging.info('Looking for missing photos')
|
||||||
|
|
||||||
missmedia_action = 0
|
missmedia_action = 0
|
||||||
@ -680,7 +680,7 @@ class CheckIntegrity(object):
|
|||||||
if os.path.isfile(name):
|
if os.path.isfile(name):
|
||||||
obj = self.db.get_media_from_handle(ObjectId)
|
obj = self.db.get_media_from_handle(ObjectId)
|
||||||
obj.set_path(name)
|
obj.set_path(name)
|
||||||
self.db.commit_media_object(obj, self.trans)
|
self.db.commit_media(obj, self.trans)
|
||||||
self.replaced_photo.append(ObjectId)
|
self.replaced_photo.append(ObjectId)
|
||||||
self.last_img_dir = os.path.dirname(name)
|
self.last_img_dir = os.path.dirname(name)
|
||||||
logging.warning(' FAIL: media object reselected to '
|
logging.warning(' FAIL: media object reselected to '
|
||||||
@ -703,7 +703,7 @@ class CheckIntegrity(object):
|
|||||||
|
|
||||||
#-------------------------------------------------------------------------
|
#-------------------------------------------------------------------------
|
||||||
|
|
||||||
for bObjectId in self.db.get_media_object_handles():
|
for bObjectId in self.db.get_media_handles():
|
||||||
ObjectId = bObjectId.decode('utf-8')
|
ObjectId = bObjectId.decode('utf-8')
|
||||||
obj = self.db.get_media_from_handle(ObjectId)
|
obj = self.db.get_media_from_handle(ObjectId)
|
||||||
photo_name = media_path_full(self.db, obj.get_path())
|
photo_name = media_path_full(self.db, obj.get_path())
|
||||||
@ -852,7 +852,7 @@ class CheckIntegrity(object):
|
|||||||
('media',
|
('media',
|
||||||
_db.get_media_from_handle,
|
_db.get_media_from_handle,
|
||||||
_db.get_media_cursor,
|
_db.get_media_cursor,
|
||||||
_db.get_number_of_media_objects,
|
_db.get_number_of_media,
|
||||||
_('Looking for empty media records'),
|
_('Looking for empty media records'),
|
||||||
_empty(empty_media_data, CHANGE_MEDIA),
|
_empty(empty_media_data, CHANGE_MEDIA),
|
||||||
_db.remove_object,
|
_db.remove_object,
|
||||||
@ -1351,7 +1351,7 @@ class CheckIntegrity(object):
|
|||||||
self.db.get_number_of_places() +
|
self.db.get_number_of_places() +
|
||||||
self.db.get_number_of_citations() +
|
self.db.get_number_of_citations() +
|
||||||
self.db.get_number_of_sources() +
|
self.db.get_number_of_sources() +
|
||||||
self.db.get_number_of_media_objects() +
|
self.db.get_number_of_media() +
|
||||||
self.db.get_number_of_repositories()
|
self.db.get_number_of_repositories()
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -1456,7 +1456,7 @@ class CheckIntegrity(object):
|
|||||||
if item[1] is None:
|
if item[1] is None:
|
||||||
new_handle = create_id()
|
new_handle = create_id()
|
||||||
obj.replace_citation_references(None, new_handle)
|
obj.replace_citation_references(None, new_handle)
|
||||||
self.db.commit_media_object(obj, self.trans)
|
self.db.commit_media(obj, self.trans)
|
||||||
self.invalid_citation_references.add(new_handle)
|
self.invalid_citation_references.add(new_handle)
|
||||||
elif item[1] not in known_handles:
|
elif item[1] not in known_handles:
|
||||||
self.invalid_citation_references.add(item[1])
|
self.invalid_citation_references.add(item[1])
|
||||||
@ -1521,7 +1521,7 @@ class CheckIntegrity(object):
|
|||||||
|
|
||||||
def check_media_references(self):
|
def check_media_references(self):
|
||||||
known_handles = [key.decode('utf-8') for key in
|
known_handles = [key.decode('utf-8') for key in
|
||||||
self.db.get_media_object_handles(False)]
|
self.db.get_media_handles(False)]
|
||||||
|
|
||||||
total = (
|
total = (
|
||||||
self.db.get_number_of_people() +
|
self.db.get_number_of_people() +
|
||||||
@ -1669,7 +1669,7 @@ class CheckIntegrity(object):
|
|||||||
self.db.get_number_of_families() +
|
self.db.get_number_of_families() +
|
||||||
self.db.get_number_of_events() +
|
self.db.get_number_of_events() +
|
||||||
self.db.get_number_of_places() +
|
self.db.get_number_of_places() +
|
||||||
self.db.get_number_of_media_objects() +
|
self.db.get_number_of_media() +
|
||||||
self.db.get_number_of_citations() +
|
self.db.get_number_of_citations() +
|
||||||
self.db.get_number_of_sources() +
|
self.db.get_number_of_sources() +
|
||||||
self.db.get_number_of_repositories()
|
self.db.get_number_of_repositories()
|
||||||
@ -1776,7 +1776,7 @@ class CheckIntegrity(object):
|
|||||||
if item[1] is None:
|
if item[1] is None:
|
||||||
new_handle = create_id()
|
new_handle = create_id()
|
||||||
obj.replace_note_references(None, new_handle)
|
obj.replace_note_references(None, new_handle)
|
||||||
self.db.commit_media_object(obj, self.trans)
|
self.db.commit_media(obj, self.trans)
|
||||||
self.invalid_note_references.add(new_handle)
|
self.invalid_note_references.add(new_handle)
|
||||||
elif item[1] not in known_handles:
|
elif item[1] not in known_handles:
|
||||||
self.invalid_note_references.add(item[1])
|
self.invalid_note_references.add(item[1])
|
||||||
@ -1827,8 +1827,8 @@ class CheckIntegrity(object):
|
|||||||
|
|
||||||
def check_checksum(self):
|
def check_checksum(self):
|
||||||
self.progress.set_pass(_('Updating checksums on media'),
|
self.progress.set_pass(_('Updating checksums on media'),
|
||||||
len(self.db.get_media_object_handles()))
|
len(self.db.get_media_handles()))
|
||||||
for bObjectId in self.db.get_media_object_handles():
|
for bObjectId in self.db.get_media_handles():
|
||||||
self.progress.step()
|
self.progress.step()
|
||||||
ObjectId = bObjectId.decode('utf-8')
|
ObjectId = bObjectId.decode('utf-8')
|
||||||
obj = self.db.get_media_from_handle(ObjectId)
|
obj = self.db.get_media_from_handle(ObjectId)
|
||||||
@ -1837,7 +1837,7 @@ class CheckIntegrity(object):
|
|||||||
if new_checksum != obj.checksum:
|
if new_checksum != obj.checksum:
|
||||||
logging.info('checksum: updating ' + obj.gramps_id)
|
logging.info('checksum: updating ' + obj.gramps_id)
|
||||||
obj.checksum = new_checksum
|
obj.checksum = new_checksum
|
||||||
self.db.commit_media_object(obj, self.trans)
|
self.db.commit_media(obj, self.trans)
|
||||||
|
|
||||||
def check_tag_references(self):
|
def check_tag_references(self):
|
||||||
known_handles = [key.decode('utf-8') for key in
|
known_handles = [key.decode('utf-8') for key in
|
||||||
@ -1846,7 +1846,7 @@ class CheckIntegrity(object):
|
|||||||
total = (
|
total = (
|
||||||
self.db.get_number_of_people() +
|
self.db.get_number_of_people() +
|
||||||
self.db.get_number_of_families() +
|
self.db.get_number_of_families() +
|
||||||
self.db.get_number_of_media_objects() +
|
self.db.get_number_of_media() +
|
||||||
self.db.get_number_of_notes()
|
self.db.get_number_of_notes()
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -1900,7 +1900,7 @@ class CheckIntegrity(object):
|
|||||||
if item[1] is None:
|
if item[1] is None:
|
||||||
new_handle = create_id()
|
new_handle = create_id()
|
||||||
obj.replace_tag_references(None, new_handle)
|
obj.replace_tag_references(None, new_handle)
|
||||||
self.db.commit_media_object(obj, self.trans)
|
self.db.commit_media(obj, self.trans)
|
||||||
self.invalid_tag_references.add(new_handle)
|
self.invalid_tag_references.add(new_handle)
|
||||||
elif item[1] not in known_handles:
|
elif item[1] not in known_handles:
|
||||||
self.invalid_tag_references.add(item[1])
|
self.invalid_tag_references.add(item[1])
|
||||||
|
|||||||
@ -527,7 +527,7 @@ class PathChange(BatchOp):
|
|||||||
|
|
||||||
def _prepare(self):
|
def _prepare(self):
|
||||||
from_text = str(self.from_entry.get_text())
|
from_text = str(self.from_entry.get_text())
|
||||||
self.set_total(self.db.get_number_of_media_objects())
|
self.set_total(self.db.get_number_of_media())
|
||||||
with self.db.get_media_cursor() as cursor:
|
with self.db.get_media_cursor() as cursor:
|
||||||
for handle, data in cursor:
|
for handle, data in cursor:
|
||||||
obj = Media()
|
obj = Media()
|
||||||
@ -549,7 +549,7 @@ class PathChange(BatchOp):
|
|||||||
obj = self.db.get_media_from_handle(handle)
|
obj = self.db.get_media_from_handle(handle)
|
||||||
new_path = obj.get_path().replace(from_text, to_text)
|
new_path = obj.get_path().replace(from_text, to_text)
|
||||||
obj.set_path(new_path)
|
obj.set_path(new_path)
|
||||||
self.db.commit_media_object(obj, self.trans)
|
self.db.commit_media(obj, self.trans)
|
||||||
self.update()
|
self.update()
|
||||||
return True
|
return True
|
||||||
|
|
||||||
@ -564,7 +564,7 @@ class Convert2Abs(BatchOp):
|
|||||||
"that is not set, it prepends user's directory.")
|
"that is not set, it prepends user's directory.")
|
||||||
|
|
||||||
def _prepare(self):
|
def _prepare(self):
|
||||||
self.set_total(self.db.get_number_of_media_objects())
|
self.set_total(self.db.get_number_of_media())
|
||||||
with self.db.get_media_cursor() as cursor:
|
with self.db.get_media_cursor() as cursor:
|
||||||
for handle, data in cursor:
|
for handle, data in cursor:
|
||||||
obj = Media()
|
obj = Media()
|
||||||
@ -583,7 +583,7 @@ class Convert2Abs(BatchOp):
|
|||||||
obj = self.db.get_media_from_handle(handle)
|
obj = self.db.get_media_from_handle(handle)
|
||||||
new_path = media_path_full(self.db, obj.path)
|
new_path = media_path_full(self.db, obj.path)
|
||||||
obj.set_path(new_path)
|
obj.set_path(new_path)
|
||||||
self.db.commit_media_object(obj, self.trans)
|
self.db.commit_media(obj, self.trans)
|
||||||
self.update()
|
self.update()
|
||||||
return True
|
return True
|
||||||
|
|
||||||
@ -600,7 +600,7 @@ class Convert2Rel(BatchOp):
|
|||||||
"a base path that can change to your needs.")
|
"a base path that can change to your needs.")
|
||||||
|
|
||||||
def _prepare(self):
|
def _prepare(self):
|
||||||
self.set_total(self.db.get_number_of_media_objects())
|
self.set_total(self.db.get_number_of_media())
|
||||||
with self.db.get_media_cursor() as cursor:
|
with self.db.get_media_cursor() as cursor:
|
||||||
for handle, data in cursor:
|
for handle, data in cursor:
|
||||||
obj = Media()
|
obj = Media()
|
||||||
@ -620,7 +620,7 @@ class Convert2Rel(BatchOp):
|
|||||||
obj = self.db.get_media_from_handle(handle)
|
obj = self.db.get_media_from_handle(handle)
|
||||||
new_path = relative_path(obj.path, base_dir)
|
new_path = relative_path(obj.path, base_dir)
|
||||||
obj.set_path(new_path)
|
obj.set_path(new_path)
|
||||||
self.db.commit_media_object(obj, self.trans)
|
self.db.commit_media(obj, self.trans)
|
||||||
self.update()
|
self.update()
|
||||||
return True
|
return True
|
||||||
|
|
||||||
@ -639,7 +639,7 @@ class ImagesNotIncluded(BatchOp):
|
|||||||
objects in the database.
|
objects in the database.
|
||||||
"""
|
"""
|
||||||
self.dir_list = set()
|
self.dir_list = set()
|
||||||
self.set_total(self.db.get_number_of_media_objects())
|
self.set_total(self.db.get_number_of_media())
|
||||||
with self.db.get_media_cursor() as cursor:
|
with self.db.get_media_cursor() as cursor:
|
||||||
for handle, data in cursor:
|
for handle, data in cursor:
|
||||||
obj = Media()
|
obj = Media()
|
||||||
|
|||||||
@ -261,7 +261,7 @@ class RemoveUnused(tool.Tool, ManagedWindow, UpdateCallback):
|
|||||||
('events', db.get_event_cursor, db.get_number_of_events),
|
('events', db.get_event_cursor, db.get_number_of_events),
|
||||||
('sources', db.get_source_cursor, db.get_number_of_sources),
|
('sources', db.get_source_cursor, db.get_number_of_sources),
|
||||||
('places', db.get_place_cursor, db.get_number_of_places),
|
('places', db.get_place_cursor, db.get_number_of_places),
|
||||||
('media', db.get_media_cursor, db.get_number_of_media_objects),
|
('media', db.get_media_cursor, db.get_number_of_media),
|
||||||
('repos', db.get_repository_cursor, db.get_number_of_repositories),
|
('repos', db.get_repository_cursor, db.get_number_of_repositories),
|
||||||
('notes', db.get_note_cursor, db.get_number_of_notes),
|
('notes', db.get_note_cursor, db.get_number_of_notes),
|
||||||
)
|
)
|
||||||
|
|||||||
@ -105,13 +105,13 @@ class ReorderIds(tool.BatchTool):
|
|||||||
db.event_prefix)
|
db.event_prefix)
|
||||||
if uistate:
|
if uistate:
|
||||||
self.progress.set_pass(_('Reordering Media Object IDs'),
|
self.progress.set_pass(_('Reordering Media Object IDs'),
|
||||||
db.get_number_of_media_objects())
|
db.get_number_of_media())
|
||||||
self.reorder(Media,
|
self.reorder(Media,
|
||||||
db.get_media_from_gramps_id,
|
db.get_media_from_gramps_id,
|
||||||
db.get_media_from_handle,
|
db.get_media_from_handle,
|
||||||
db.find_next_object_gramps_id,
|
db.find_next_object_gramps_id,
|
||||||
db.media_map,
|
db.media_map,
|
||||||
db.commit_media_object,
|
db.commit_media,
|
||||||
db.media_prefix)
|
db.media_prefix)
|
||||||
if uistate:
|
if uistate:
|
||||||
self.progress.set_pass(_('Reordering Source IDs'),
|
self.progress.set_pass(_('Reordering Source IDs'),
|
||||||
|
|||||||
@ -382,7 +382,7 @@ class MediaView(ListView):
|
|||||||
"""
|
"""
|
||||||
media = self.dbstate.db.get_media_from_handle(media_handle)
|
media = self.dbstate.db.get_media_from_handle(media_handle)
|
||||||
media.add_tag(tag_handle)
|
media.add_tag(tag_handle)
|
||||||
self.dbstate.db.commit_media_object(media, transaction)
|
self.dbstate.db.commit_media(media, transaction)
|
||||||
|
|
||||||
def get_default_gramplets(self):
|
def get_default_gramplets(self):
|
||||||
"""
|
"""
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user