4331: Display Media size before quick backup, in stats gramplet, and summary report
svn: r16247
This commit is contained in:
parent
79f6646555
commit
915dfc3913
@ -43,6 +43,7 @@ from gen.ggettext import ngettext
|
||||
from cStringIO import StringIO
|
||||
from collections import defaultdict
|
||||
import sys
|
||||
import posixpath
|
||||
|
||||
#-------------------------------------------------------------------------
|
||||
#
|
||||
@ -1444,12 +1445,26 @@ class ViewManager(CLIManager):
|
||||
hbox.pack_end(file_entry, True)
|
||||
vbox.pack_start(hbox, False)
|
||||
hbox = gtk.HBox()
|
||||
label = gtk.Label(_("Media:"))
|
||||
bytes = 0
|
||||
mbytes = "0"
|
||||
for media in self.dbstate.db.iter_media_objects():
|
||||
fullname = Utils.media_path_full(self.dbstate.db, media.get_path())
|
||||
try:
|
||||
bytes += posixpath.getsize(fullname)
|
||||
length = len(str(bytes))
|
||||
if bytes <= 99999:
|
||||
mbytes = "< 1"
|
||||
else:
|
||||
mbytes = str(bytes)[:(length-6)]
|
||||
label = gtk.Label(_("Media:"))
|
||||
except OSError:
|
||||
label = gtk.Label(_("Media:"))
|
||||
label.set_justify(gtk.JUSTIFY_LEFT)
|
||||
label.set_size_request(90, -1)
|
||||
label.set_alignment(0, .5)
|
||||
hbox.pack_start(label, False)
|
||||
include = gtk.RadioButton(None, _("Include"))
|
||||
include = gtk.RadioButton(None, "%s (%s %s)" % (_("Include"),
|
||||
mbytes, _("MB")))
|
||||
exclude = gtk.RadioButton(include, _("Exclude"))
|
||||
include.connect("toggled", lambda widget: self.media_toggle(widget, file_entry))
|
||||
hbox.pack_start(include, True)
|
||||
|
@ -71,8 +71,8 @@ class StatsGramplet(Gramplet):
|
||||
database = self.dbstate.db
|
||||
personList = database.iter_people()
|
||||
|
||||
with_photos = 0
|
||||
total_photos = 0
|
||||
with_media = 0
|
||||
total_media = 0
|
||||
incomp_names = 0
|
||||
disconnected = 0
|
||||
missing_bday = 0
|
||||
@ -83,19 +83,25 @@ class StatsGramplet(Gramplet):
|
||||
namelist = []
|
||||
notfound = []
|
||||
|
||||
pobjects = database.get_number_of_media_objects()
|
||||
for photo in database.iter_media_objects():
|
||||
fullname = media_path_full(database, photo.get_path())
|
||||
mobjects = database.get_number_of_media_objects()
|
||||
mbytes = "0"
|
||||
for media in database.iter_media_objects():
|
||||
fullname = media_path_full(database, media.get_path())
|
||||
try:
|
||||
bytes += posixpath.getsize(fullname)
|
||||
length = len(str(bytes))
|
||||
if bytes <= 99999:
|
||||
mbytes = "less than 1"
|
||||
else:
|
||||
mbytes = str(bytes)[:(length-6)]
|
||||
except OSError:
|
||||
notfound.append(photo.get_path())
|
||||
notfound.append(media.get_path())
|
||||
|
||||
for cnt, person in enumerate(personList):
|
||||
length = len(person.get_media_list())
|
||||
if length > 0:
|
||||
with_photos += 1
|
||||
total_photos += length
|
||||
with_media += 1
|
||||
total_media += length
|
||||
|
||||
names = [person.get_primary_name()] + person.get_alternate_names()
|
||||
for name in names:
|
||||
@ -168,20 +174,20 @@ class StatsGramplet(Gramplet):
|
||||
self.append_text("----------------------------\n")
|
||||
self.link("%s:" % _("Individuals with media objects"),
|
||||
'Filter', 'people with media')
|
||||
self.append_text(" %s" % with_photos)
|
||||
self.append_text(" %s" % with_media)
|
||||
self.append_text("\n")
|
||||
self.link("%s:" % _("Total number of media object references"),
|
||||
'Filter', 'media references')
|
||||
self.append_text(" %s" % total_photos)
|
||||
self.append_text(" %s" % total_media)
|
||||
self.append_text("\n")
|
||||
self.link("%s:" % _("Number of unique media objects"),
|
||||
'Filter', 'unique media')
|
||||
self.append_text(" %s" % pobjects)
|
||||
self.append_text(" %s" % mobjects)
|
||||
self.append_text("\n")
|
||||
|
||||
self.link("%s:" % _("Total size of media objects"),
|
||||
'Filter', 'media by size')
|
||||
self.append_text(" %d %s" % (bytes, _("bytes")))
|
||||
self.append_text(" %s %s" % (mbytes, _("MB")))
|
||||
self.append_text("\n")
|
||||
self.link("%s:" % _("Missing Media Objects"),
|
||||
'Filter', 'missing media')
|
||||
|
@ -206,11 +206,17 @@ class SummaryReport(Report):
|
||||
self.doc.end_paragraph()
|
||||
|
||||
total_media = len(self.__db.get_media_object_handles())
|
||||
mbytes = "0"
|
||||
for media_id in self.__db.get_media_object_handles():
|
||||
media = self.__db.get_object_from_handle(media_id)
|
||||
try:
|
||||
size_in_bytes += posixpath.getsize(
|
||||
media_path_full(self.__db, media.get_path()))
|
||||
length = len(str(size_in_bytes))
|
||||
if size_in_bytes <= 99999:
|
||||
mbytes = "less than 1"
|
||||
else:
|
||||
mbytes = str(size_in_bytes)[:(length-6)]
|
||||
except:
|
||||
notfound.append(media.get_path())
|
||||
|
||||
@ -220,7 +226,7 @@ class SummaryReport(Report):
|
||||
self.doc.end_paragraph()
|
||||
|
||||
self.doc.start_paragraph("SR-Normal")
|
||||
self.doc.write_text(_("Total size of media objects: %d bytes") % size_in_bytes)
|
||||
self.doc.write_text(_("Total size of media objects: %s MB") % mbytes)
|
||||
self.doc.end_paragraph()
|
||||
|
||||
if len(notfound) > 0:
|
||||
|
Loading…
Reference in New Issue
Block a user