def walk_menu(entry): if isinstance(entry, xdg.Menu.Menu) and entry.Show is True: map(walk_menu, entry.getEntries()) elif isinstance(entry, xdg.Menu.MenuEntry) and entry.Show is True: # byte 1 signals another entry conn.sendall('\x01') img_path = icon_attr(entry.DesktopEntry).encode('utf-8') if img_path and os.path.isfile(img_path): try: # Create an empty image and set the background color to # transparent. This is important to have transparent background # when converting from SVG img = Image() img.backgroundColor(Color(0, 0, 0, 0xffff)) img.read(img_path) # scale the image to 48x48 pixels img.scale(Geometry(48, 48)) # ensure the image is converted to ICO img.magick('ICO') b = Blob() img.write(b) # icon length plus data conn.sendall(struct.pack('i', len(b.data))) conn.sendall(b.data) except Exception: conn.sendall(struct.pack('i', 0)) else: conn.sendall(struct.pack('i', 0)) name = entry.DesktopEntry.getName() # name length plus data conn.sendall(struct.pack('i', len(name))) conn.sendall(name) command = re.sub(' -caption "%c"| -caption %c', ' -caption "%s"' % name, entry.DesktopEntry.getExec()) command = re.sub(' [^ ]*%[fFuUdDnNickvm]', '', command) if entry.DesktopEntry.getTerminal(): command = 'xterm -title "%s" -e %s' % (name, command) # command length plus data conn.sendall(struct.pack('i', len(command))) conn.sendall(command)
def pad_image_to_x480(file): from PythonMagick import Image, CompositeOperator fname = file.split(".")[0] ext = file.split(".")[-1] outfile = os.path.join(destdir, fname + "_" + "l" + ".jpg") ## Make BG layer bgimg = Image('400x480', 'white') ## Open Primary image img = Image(file) img.backgroundColor("white") img.sample('350x432') # Composite + Save Primary over bg, padding primary with white of bg type = img.type img.composite(bgimg, 0, 0, CompositeOperator.DstOverCompositeOp) img.magick('JPG') img.type = type img.quality(100) img.write(outfile)
def convert(args): dirname = getcwd() ifilename = path.join( dirname, args.ifile) if not path.isabs(args.ifile) else args.ifile ofilename = path.join( dirname, args.ofile) if not path.isabs(args.ofile) else args.ofile ofilename_n_ext = path.splitext(ofilename)[0] reader = PdfFileReader(open(ifilename, "rb")) for page_num in xrange(reader.getNumPages()): writer = PdfFileWriter() writer.addPage(reader.getPage(page_num)) with open(path.join(dirname, 'temp.pdf'), 'wb') as temp: writer.write(temp) im = Image() im.density("300") # DPI, for better quality im.backgroundColor('white') im.fillColor('white') im.read(path.join(dirname, 'temp.pdf')) im.write("%s_%d.jpg" % (ofilename_n_ext, page_num)) remove(path.join(dirname, 'temp.pdf'))