Rename *_media_object methods to *_media

This commit is contained in:
Doug Blank 2016-01-23 21:53:14 -05:00
parent 2eeda93617
commit 157604b40e
52 changed files with 215 additions and 178 deletions

View File

@ -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)

View File

@ -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
@ -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(".", "__")

View File

@ -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(),

View File

@ -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 {

View File

@ -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, _):
""" """

View File

@ -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))

View File

@ -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__:

View File

@ -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))

View File

@ -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).

View File

@ -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:

View File

@ -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):

View File

@ -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):

View File

@ -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
""" """

View File

@ -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')
#------------------------------------------------------------------------- #-------------------------------------------------------------------------
# #

View File

@ -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)

View File

@ -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)

View File

@ -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

View File

@ -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)

View File

@ -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)

View File

@ -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':

View File

@ -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)'

View File

@ -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)

View File

@ -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)}

View File

@ -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(),

View File

@ -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",

View File

@ -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)

View File

@ -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))

View File

@ -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(),

View File

@ -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):

View File

@ -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:

View File

@ -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
""" """

View File

@ -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]

View File

@ -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
""" """

View File

@ -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)

View File

@ -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())

View File

@ -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()

View File

@ -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?"

View File

@ -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)

View File

@ -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)

View File

@ -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)

View File

@ -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)

View File

@ -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)

View File

@ -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)

View File

@ -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()

View File

@ -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'),

View File

@ -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(

View File

@ -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]))

View File

@ -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])

View File

@ -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()

View File

@ -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),
) )

View File

@ -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'),

View File

@ -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):
""" """