diff --git a/common/lib/xmodule/xmodule/combined_open_ended_module.py b/common/lib/xmodule/xmodule/combined_open_ended_module.py index 0b1dd39d4e..66426bba28 100644 --- a/common/lib/xmodule/xmodule/combined_open_ended_module.py +++ b/common/lib/xmodule/xmodule/combined_open_ended_module.py @@ -617,7 +617,6 @@ class CombinedOpenEndedModule(XModule): return progress_object - class CombinedOpenEndedDescriptor(XmlDescriptor, EditingDescriptor): """ Module for adding combined open ended questions diff --git a/common/lib/xmodule/xmodule/open_ended_image_submission.py b/common/lib/xmodule/xmodule/open_ended_image_submission.py new file mode 100644 index 0000000000..b802ab5aa5 --- /dev/null +++ b/common/lib/xmodule/xmodule/open_ended_image_submission.py @@ -0,0 +1,29 @@ +from PIL import Image + +TRUSTED_IMAGE_DOMAINS = [ + 'wikipedia.com', + 'wikipedia.net', + 'wikipedia.org' +] + +MAX_IMAGE_DIM = 150 +MAX_COLORS_TO_COUNT = 16 +MAX_COLORS = 5 + +class ImageProperties(object): + def __init__(self, image): + self.image = image + image_size = self.image.size + if image_size[0]> MAX_IMAGE_DIM or image_size[1] > MAX_IMAGE_DIM: + self.image = self.image.resize((MAX_IMAGE_DIM, MAX_IMAGE_DIM)) + self.image_size = self.image.size + + def count_colors(self): + colors = self.image.getcolors(MAX_COLORS_TO_COUNT) + if colors is None: + colors = MAX_COLORS_TO_COUNT + else: + colors = len(colors) + + +