def main(): parser = OptionParser( usage=("usage: %prog [options] source_dir output_path")) parser.add_option( "-p", "--packing", dest="packing", default='horizontal', help= "packing algorithm to generate sprites. Options are horizontal, vertical or bin" ) parser.add_option("-q", action="store_true", dest="pngquant") (options, args) = parser.parse_args() packing = PACKING_DICT[options.packing.strip()] input_dir = args[0] output_path = args[1] output_png_path = output_path + '.png' output_css_path = output_path + '.css' name = output_path.split('/')[-1] sprite = Sprite(name=name, images=get_images(input_dir), packing_class=packing) output_image = sprite.generate() output_css = sprite.generate_css(output_png_path) output_image.save(output_png_path, pngquant=options.pngquant) output_css.save(output_css_path)
def setUp(self): self.sprite = Sprite( 'flags', images=[ ('brazil', get_absolute_path('country/flags/brazil.gif')), ('usa', get_absolute_path('country/flags/usa.jpg')), ], packing_class=HorizontalPacking)
def setUp(self): self.sprite = Sprite('flags', images=[ ('brazil', get_absolute_path('country/flags/bra.png')), ('usa', get_absolute_path('country/flags/usa.png')), ('canada', get_absolute_path('country/flags/can.png')), ], packing_class=BinPacking)
class BinSpriteTestCase(TestCase, SpriteTestCaseMixin): def setUp(self): self.sprite = Sprite('flags', images=[ ('brazil', get_absolute_path('country/flags/bra.png')), ('usa', get_absolute_path('country/flags/usa.png')), ('canada', get_absolute_path('country/flags/can.png')), ], packing_class=BinPacking ) def test_name(self): self.assertEqual('flags', self.sprite.name) def test_css_class(self): self.assertEqual('sprite-flags', self.sprite.css_class) def test_dimensions(self): self.assertEqual(96, self.sprite.width) self.assertEqual(96, self.sprite.height) def test_sprite_css(self): css = self.sprite.generate_css('image_url.png') self.assertTrue(isinstance(css, basestring)) self.assertTrue('.sprite-flags' in css) self.assertTrue('.sprite-flags-brazil{background-position:-0px -0px}' in css) self.assertTrue('.sprite-flags-usa{background-position:-48px -0px}' in css) self.assertTrue('.sprite-flags-canada{background-position:-0px -48px}' in css)
class HorizontalSpriteTestCase(TestCase, SpriteTestCaseMixin): def setUp(self): self.sprite = Sprite('flags', images=[ ('brazil', get_absolute_path('country/flags/brazil.gif')), ('usa', get_absolute_path('country/flags/usa.jpg')), ], packing_class=HorizontalPacking ) def test_name(self): self.assertEqual('flags', self.sprite.name) def test_css_class(self): self.assertEqual('sprite-flags', self.sprite.css_class) def test_dimensions(self): self.assertEqual(475 + 476, self.sprite.width) self.assertEqual(max(335, 330), self.sprite.height) def test_sprite_css(self): css = self.sprite.generate_css('image_url.png') self.assertTrue(isinstance(css, basestring)) self.assertTrue('.sprite-flags' in css) self.assertTrue('.sprite-flags-brazil{background-position:-0px -0px}' in css)
class BinSpriteTestCase(TestCase, SpriteTestCaseMixin): def setUp(self): self.sprite = Sprite('flags', images=[ ('brazil', get_absolute_path('country/flags/bra.png')), ('usa', get_absolute_path('country/flags/usa.png')), ('canada', get_absolute_path('country/flags/can.png')), ], packing_class=BinPacking) def test_name(self): self.assertEqual('flags', self.sprite.name) def test_css_class(self): self.assertEqual('sprite-flags', self.sprite.css_class) def test_dimensions(self): self.assertEqual(96, self.sprite.width) self.assertEqual(96, self.sprite.height) def test_sprite_css(self): css = self.sprite.generate_css('image_url.png') self.assertTrue(isinstance(css, basestring)) self.assertTrue('.sprite-flags' in css) self.assertTrue( '.sprite-flags-brazil{background-position:-0px -0px}' in css) self.assertTrue( '.sprite-flags-usa{background-position:-48px -0px}' in css) self.assertTrue( '.sprite-flags-canada{background-position:-0px -48px}' in css)
class HorizontalSpriteTestCase(TestCase, SpriteTestCaseMixin): def setUp(self): self.sprite = Sprite( 'flags', images=[ ('brazil', get_absolute_path('country/flags/brazil.gif')), ('usa', get_absolute_path('country/flags/usa.jpg')), ], packing_class=HorizontalPacking) def test_name(self): self.assertEqual('flags', self.sprite.name) def test_css_class(self): self.assertEqual('sprite-flags', self.sprite.css_class) def test_dimensions(self): self.assertEqual(475 + 476, self.sprite.width) self.assertEqual(max(335, 330), self.sprite.height) def test_sprite_css(self): css = self.sprite.generate_css('image_url.png') self.assertTrue(isinstance(css, basestring)) self.assertTrue('.sprite-flags' in css) self.assertTrue( '.sprite-flags-brazil{background-position:-0px -0px}' in css)
def setUp(self): self.sprite = Sprite('flags', images=[ ('brazil', get_absolute_path('country/flags/brazil.gif')), ('usa', get_absolute_path('country/flags/usa.jpg')), ], packing_class=HorizontalPacking )
def setUp(self): self.sprite = Sprite('flags', images=[ ('brazil', get_absolute_path('country/flags/bra.png')), ('usa', get_absolute_path('country/flags/usa.png')), ('canada', get_absolute_path('country/flags/can.png')), ], packing_class=BinPacking )
def main(): parser = OptionParser(usage=("usage: %prog [options] source_dir output_path")) parser.add_option("-p", "--packing", dest="packing", default='horizontal', help="packing algorithm to generate sprites. Options are horizontal, vertical or bin") parser.add_option("-q", action="store_true", dest="pngquant") (options, args) = parser.parse_args() packing = PACKING_DICT[options.packing.strip()] input_dir = args[0] output_path = args[1] output_png_path = output_path + '.png' output_css_path = output_path + '.css' name = output_path.split('/')[-1] sprite = Sprite(name=name, images=get_images(input_dir), packing_class=packing) output_image = sprite.generate() output_css = sprite.generate_css(output_png_path) output_image.save(output_png_path, pngquant=options.pngquant) output_css.save(output_css_path)
def setUp(self): self.sprite = Sprite('flags', images=[])