* src/WriteGedcom.py: Media objects for families, preparation for
media objects for other entities svn: r5342
This commit is contained in:
@@ -1,3 +1,7 @@
|
|||||||
|
2005-10-22 Julio Sanchez <jsanchez@users.sourceforge.net>
|
||||||
|
* src/WriteGedcom.py: Media objects for families, preparation for
|
||||||
|
media objects for other entities
|
||||||
|
|
||||||
2005-10-20 Don Allingham <don@gramps-project.org>
|
2005-10-20 Don Allingham <don@gramps-project.org>
|
||||||
* src/plugins/DetDescendantReport.py: bring in line with
|
* src/plugins/DetDescendantReport.py: bring in line with
|
||||||
DetAncestralReport
|
DetAncestralReport
|
||||||
|
@@ -751,6 +751,16 @@ class GedcomWriter:
|
|||||||
for srcref in family.get_source_references():
|
for srcref in family.get_source_references():
|
||||||
self.write_source_ref(1,srcref)
|
self.write_source_ref(1,srcref)
|
||||||
|
|
||||||
|
if self.images:
|
||||||
|
photos = family.get_media_list ()
|
||||||
|
else:
|
||||||
|
photos = []
|
||||||
|
|
||||||
|
for photo in photos:
|
||||||
|
if self.private and photo.get_privacy():
|
||||||
|
continue
|
||||||
|
self.write_photo(photo,1)
|
||||||
|
|
||||||
self.write_change(1,family.get_change_time())
|
self.write_change(1,family.get_change_time())
|
||||||
|
|
||||||
def write_sources(self):
|
def write_sources(self):
|
||||||
@@ -969,39 +979,7 @@ class GedcomWriter:
|
|||||||
for photo in photos:
|
for photo in photos:
|
||||||
if self.private and photo.get_privacy():
|
if self.private and photo.get_privacy():
|
||||||
continue
|
continue
|
||||||
photo_obj_id = photo.get_reference_handle()
|
self.write_photo(photo,1)
|
||||||
photo_obj = self.db.get_object_from_handle(photo_obj_id)
|
|
||||||
print photo_obj, photo_obj.get_mime_type()
|
|
||||||
if photo_obj and photo_obj.get_mime_type() == "image/jpeg":
|
|
||||||
path = photo_obj.get_path ()
|
|
||||||
imgdir = os.path.join(self.dirname,self.images_path)
|
|
||||||
if not os.path.isfile(path):
|
|
||||||
continue
|
|
||||||
try:
|
|
||||||
if not os.path.isdir(imgdir):
|
|
||||||
os.makedirs(imgdir)
|
|
||||||
except:
|
|
||||||
continue
|
|
||||||
basename = os.path.basename(path)
|
|
||||||
dest = os.path.join (imgdir, basename)
|
|
||||||
if dest != path:
|
|
||||||
try:
|
|
||||||
shutil.copyfile(path, dest)
|
|
||||||
except (IOError,OSError),msg:
|
|
||||||
msg2 = _("Could not create %s") % dest
|
|
||||||
WarningDialog(msg2,str(msg))
|
|
||||||
continue
|
|
||||||
|
|
||||||
self.writeln('1 OBJE')
|
|
||||||
self.writeln('2 FORM jpeg')
|
|
||||||
self.writeln('2 TITL %s' % photo_obj.get_description())
|
|
||||||
dirname = os.path.join (self.dirname, self.images_path)
|
|
||||||
basename = os.path.basename (path)
|
|
||||||
self.writeln('2 FILE %s' % os.path.join(self.images_path,
|
|
||||||
basename))
|
|
||||||
if photo_obj.get_note():
|
|
||||||
self.write_long_text("NOTE",2,self.cnvtxt(photo_obj.get_note()))
|
|
||||||
|
|
||||||
|
|
||||||
for family in person.get_parent_family_handle_list():
|
for family in person.get_parent_family_handle_list():
|
||||||
if self.flist.has_key(family[0]):
|
if self.flist.has_key(family[0]):
|
||||||
@@ -1246,6 +1224,41 @@ class GedcomWriter:
|
|||||||
if ref.get_note():
|
if ref.get_note():
|
||||||
self.write_long_text("NOTE",level+1,self.cnvtxt(ref.get_note()))
|
self.write_long_text("NOTE",level+1,self.cnvtxt(ref.get_note()))
|
||||||
|
|
||||||
|
def write_photo(self,photo,level):
|
||||||
|
photo_obj_id = photo.get_reference_handle()
|
||||||
|
photo_obj = self.db.get_object_from_handle(photo_obj_id)
|
||||||
|
print photo_obj, photo_obj.get_mime_type()
|
||||||
|
if photo_obj and photo_obj.get_mime_type() == "image/jpeg":
|
||||||
|
path = photo_obj.get_path ()
|
||||||
|
imgdir = os.path.join(self.dirname,self.images_path)
|
||||||
|
if not os.path.isfile(path):
|
||||||
|
return
|
||||||
|
try:
|
||||||
|
if not os.path.isdir(imgdir):
|
||||||
|
os.makedirs(imgdir)
|
||||||
|
except:
|
||||||
|
return
|
||||||
|
basename = os.path.basename(path)
|
||||||
|
dest = os.path.join (imgdir, basename)
|
||||||
|
if dest != path:
|
||||||
|
try:
|
||||||
|
shutil.copyfile(path, dest)
|
||||||
|
shutil.copystat(path, dest)
|
||||||
|
except (IOError,OSError),msg:
|
||||||
|
msg2 = _("Could not create %s") % dest
|
||||||
|
WarningDialog(msg2,str(msg))
|
||||||
|
return
|
||||||
|
|
||||||
|
self.writeln('%d OBJE' % level)
|
||||||
|
self.writeln('%d FORM jpeg' % (level+1) )
|
||||||
|
self.writeln('%d TITL %s' % (level+1, photo_obj.get_description()))
|
||||||
|
dirname = os.path.join (self.dirname, self.images_path)
|
||||||
|
basename = os.path.basename (path)
|
||||||
|
self.writeln('%d FILE %s' % (level+1,os.path.join(self.images_path,
|
||||||
|
basename)))
|
||||||
|
if photo_obj.get_note():
|
||||||
|
self.write_long_text("NOTE",level+1,self.cnvtxt(photo_obj.get_note()))
|
||||||
|
|
||||||
def fid(self,id):
|
def fid(self,id):
|
||||||
family = self.db.get_family_from_handle (id)
|
family = self.db.get_family_from_handle (id)
|
||||||
return family.get_gramps_id ()
|
return family.get_gramps_id ()
|
||||||
|
Reference in New Issue
Block a user