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)
Esempio n. 2
0
 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)
Esempio n. 3
0
 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)
Esempio n. 6
0
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)
Esempio n. 7
0
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)
Esempio n. 11
0
 def setUp(self):
     self.sprite = Sprite('flags', images=[])