00001
00002
00003
00004
00005 from util import *
00006
00007 class JPGSettings:
00008 """Stores settings of a JPG file to generate.
00009 """
00010 def __init__(self, quality, interlace, optimize, samplingfactor, grayscale):
00011 """Constructor.
00012
00013 Data members:
00014 Quality : Quality level of jpg compression - higher means
00015 higher quality and filesize. Valid values : int 0-100
00016 Interlace : Is this image interlaced (progressive) ?
00017 Optimize : Is this image compressed with optimizations
00018 (usually results in smaller filesize) ?
00019 SamplingFactor : Subsampling factor used on this image.
00020 Grayscale : Is this image grayscale?
00021 """
00022 self.Quality = quality
00023 self.Interlace = interlace
00024 self.Optimize = optimize
00025 self.SamplingFactor = samplingfactor
00026 self.Grayscale = grayscale
00027
00028 def str_data(self):
00029 """Returns a string containing jpg settings data.
00030 """
00031 return str(self.Quality) + " " + str(self.Interlace) + " "\
00032 + str(self.Optimize) + " " + self.SamplingFactor + " "\
00033 + str(self.Grayscale)
00034
00035 def get_val_str(self, str):
00036 """Returns data member requested by the input string.
00037 """
00038 if str == "quality":
00039 return self.Quality
00040 elif str == "interlace":
00041 return self.Interlace
00042 elif str == "optimize":
00043 return self.Optimize
00044 elif str == "sampfactor":
00045 return self.SamplingFactor
00046 elif str == "grayscale":
00047 return self.Grayscale
00048
00049 class PNGSettings:
00050 """Stores settings of a PNG file to generate
00051 """
00052 def __init__(self, level, filt, mode, bitdepth, interlace, advpng=False):
00053 """Constructor.
00054
00055 Level : Compression level of this image -higher means lower size.
00056 Filter : PNG filter used for this image.
00057 Mode : Color mode of this image. e.g. truecolor, palette, etc.
00058 BitDepth : Bit depth of every channel of this image.
00059 Interlace : Should this image be interlaced (progressive) ?
00060 Advpng : Is this an image recompressed by advpng? (only one truecolor
00061 and one paletted advpng per bitdepth is generated
00062 for each input file.
00063 """
00064 self.Level = level
00065 self.Filter = filt
00066 self.Mode = mode
00067 self.BitDepth = bitdepth
00068 self.Interlace = interlace
00069 self.Advpng = advpng
00070
00071 def str_data(self):
00072 """Returns a string containing png settings data.
00073 """
00074 return str(self.Level) + " " + str(self.Filter) + " " + self.Mode +\
00075 " " + str(self.BitDepth) + " " + str(self.Interlace) + " " +\
00076 str(self.Advpng)
00077
00078 def get_val_str(self, str):
00079 """Returns data member requested by the input string.
00080 """
00081 if str == "level":
00082 return self.Level
00083 elif str == "filter":
00084 return self.Filter
00085 elif str == "mode":
00086 return self.Mode
00087 elif str == "bitdepth":
00088 return self.BitDepth
00089 elif str == "interlace":
00090 return self.Interlace
00091 elif str == "advpng":
00092 return self.Advpng
00093
00094 class GIFSettings:
00095 """Stores settings of a GIF file to generate
00096 """
00097 def __init__(self, interlace, bitdepth):
00098 """Constructor.
00099
00100 Interlace : Should this image be interlaced (progressive) ?
00101 BitDepth : Bitdepth of the image (8-256 colors, 7-128, etc.)
00102 """
00103 self.Interlace = interlace
00104 self.BitDepth = bitdepth
00105
00106 def str_data(self):
00107 """Returns a string containing gif settings data.
00108 """
00109 return str(self.Interlace) + " " + str(self.BitDepth)
00110
00111 def get_val_str(self, str):
00112 """Returns data member requested by the input string.
00113 """
00114 if str == "interlace":
00115 return self.Interlace
00116 if str == "bitdepth":
00117 return self.BitDeph
00118