* src/GrampsMime.py: detect directory type
* src/ImageSelect.py: don't allow directory types to be added * src/MediaView.py: don't allow directory types to be added svn: r5923
This commit is contained in:
@@ -1,3 +1,8 @@
|
|||||||
|
2006-02-11 Don Allingham <don@gramps-project.org>
|
||||||
|
* src/GrampsMime.py: detect directory type
|
||||||
|
* src/ImageSelect.py: don't allow directory types to be added
|
||||||
|
* src/MediaView.py: don't allow directory types to be added
|
||||||
|
|
||||||
2006-02-11 Alex Roitman <shura@gramps-project.org>
|
2006-02-11 Alex Roitman <shura@gramps-project.org>
|
||||||
* src/DbPrompter.py (open_native): Use empty GRDB when opening fails.
|
* src/DbPrompter.py (open_native): Use empty GRDB when opening fails.
|
||||||
|
|
||||||
|
|||||||
@@ -59,3 +59,16 @@ def mime_type_is_defined(type):
|
|||||||
return True
|
return True
|
||||||
except:
|
except:
|
||||||
return False
|
return False
|
||||||
|
|
||||||
|
def base_type(val):
|
||||||
|
return val.split('/')[0]
|
||||||
|
|
||||||
|
def is_image_type(val):
|
||||||
|
return base_type(val) == "image"
|
||||||
|
|
||||||
|
def is_directory(val):
|
||||||
|
return base_type(val) == "x-directory"
|
||||||
|
_invalid_mime_types = ('x-directory','x-special')
|
||||||
|
|
||||||
|
def is_valid_type(val):
|
||||||
|
return base_type(val) not in _invalid_mime_types
|
||||||
|
|||||||
@@ -169,6 +169,12 @@ class ImageSelect:
|
|||||||
filename = Utils.find_file( filename)
|
filename = Utils.find_file( filename)
|
||||||
if filename:
|
if filename:
|
||||||
mtype = GrampsMime.get_type(filename)
|
mtype = GrampsMime.get_type(filename)
|
||||||
|
if not GrampsMime.is_valid_type(mtype):
|
||||||
|
ErrorDialog(_('Invalid file type'),
|
||||||
|
_('An object of type %s cannot be added '
|
||||||
|
'to a gallery') % mtype)
|
||||||
|
return
|
||||||
|
|
||||||
if mtype and mtype.startswith("image"):
|
if mtype and mtype.startswith("image"):
|
||||||
image = RelImage.scale_image(filename,const.thumbScale)
|
image = RelImage.scale_image(filename,const.thumbScale)
|
||||||
self.image.set_from_pixbuf(image)
|
self.image.set_from_pixbuf(image)
|
||||||
@@ -209,12 +215,18 @@ class ImageSelect:
|
|||||||
self.add_thumbnail(oref)
|
self.add_thumbnail(oref)
|
||||||
else:
|
else:
|
||||||
mtype = GrampsMime.get_type(filename)
|
mtype = GrampsMime.get_type(filename)
|
||||||
mobj = RelLib.MediaObject()
|
if GrampsMime.is_valid_type(mtype):
|
||||||
if description == "":
|
mobj = RelLib.MediaObject()
|
||||||
description = os.path.basename(filename)
|
if description == "":
|
||||||
mobj.set_description(description)
|
description = os.path.basename(filename)
|
||||||
mobj.set_mime_type(mtype)
|
mobj.set_description(description)
|
||||||
mobj.set_path(filename)
|
mobj.set_mime_type(mtype)
|
||||||
|
mobj.set_path(filename)
|
||||||
|
else:
|
||||||
|
ErrorDialog(_('Invalid file type'),
|
||||||
|
_('An object of type %s cannot be added '
|
||||||
|
'to a gallery') % mtype)
|
||||||
|
return
|
||||||
else:
|
else:
|
||||||
mobj = RelLib.MediaObject()
|
mobj = RelLib.MediaObject()
|
||||||
mobj.set_description(description)
|
mobj.set_description(description)
|
||||||
@@ -493,6 +505,8 @@ class Gallery(ImageSelect):
|
|||||||
if protocol == "file":
|
if protocol == "file":
|
||||||
name = Utils.fix_encoding(mfile)
|
name = Utils.fix_encoding(mfile)
|
||||||
mime = GrampsMime.get_type(name)
|
mime = GrampsMime.get_type(name)
|
||||||
|
if not GrampsMime.is_valid_type(mime):
|
||||||
|
return
|
||||||
photo = RelLib.MediaObject()
|
photo = RelLib.MediaObject()
|
||||||
photo.set_path(name)
|
photo.set_path(name)
|
||||||
photo.set_mime_type(mime)
|
photo.set_mime_type(mime)
|
||||||
|
|||||||
@@ -403,6 +403,11 @@ class MediaView:
|
|||||||
protocol,site,name, j,k,l = urlparse.urlparse(d)
|
protocol,site,name, j,k,l = urlparse.urlparse(d)
|
||||||
if protocol == "file":
|
if protocol == "file":
|
||||||
mime = GrampsMime.get_type(name)
|
mime = GrampsMime.get_type(name)
|
||||||
|
if not GrampsMime.is_valid_type(mime):
|
||||||
|
ErrorDialog(_('Invalid file type'),
|
||||||
|
_('An object of type %s cannot be added '
|
||||||
|
'to a gallery') % mime)
|
||||||
|
return
|
||||||
photo = RelLib.MediaObject()
|
photo = RelLib.MediaObject()
|
||||||
photo.set_path(name)
|
photo.set_path(name)
|
||||||
photo.set_mime_type(mime)
|
photo.set_mime_type(mime)
|
||||||
@@ -426,6 +431,11 @@ class MediaView:
|
|||||||
ErrorDialog(_('Image import failed'),str(msg))
|
ErrorDialog(_('Image import failed'),str(msg))
|
||||||
return
|
return
|
||||||
mime = GrampsMime.get_type(tfile)
|
mime = GrampsMime.get_type(tfile)
|
||||||
|
if not GrampsMime.is_valid_type(mime):
|
||||||
|
ErrorDialog(_('Invalid file type'),
|
||||||
|
_('An object of type %s cannot be added '
|
||||||
|
'to a gallery') % mtype)
|
||||||
|
return
|
||||||
photo = RelLib.MediaObject()
|
photo = RelLib.MediaObject()
|
||||||
photo.set_mime_type(mime)
|
photo.set_mime_type(mime)
|
||||||
photo.set_description(d)
|
photo.set_description(d)
|
||||||
|
|||||||
Reference in New Issue
Block a user