This is a pre-production deployment of Warehouse, however changes made here WILL affect the production instance of PyPI.
Latest Version Dependencies status unknown Test status unknown Test coverage unknown
Project Description

Create sprites dynamicaly for Python and Django.

Version 0.1.3

Instalation

Install the package via pip:

pip install django-dynamic-sprites

Generating sprite for images in a folder

One way to generate sprites is from all pictures within a folder. To do so, type this command:

generate_sprites.py path/to/folder path/to/output

One thing to notice is that you don’t pass the output extension. The script already generates the image with .png and the CSS with .css.

Generating sprite from Python code

Within your python code you can generate sprites for a given set of images. All you have to do is provide the images paths, a nome to each image, generate the sprite and save it:

from dynamic_sprites.sprite import Sprite

images = (
    ('brazil', '/path/to/brazil/image.png'),
    ('usa', '/path/to/usa/image.png'),
)

sprite = Sprite('sprite_name', images)

output_image = sprite.generate()
output_image.save('/path/to/output/image.png')

output_css = sprite.generate_css('http://images.com/output/image.png')
output_css.save('/path/to/output/style.css')

That’s the basics for generating a sprite from Python code. But there is some abstractions integrating it with Django. Even the name of the project having Django on it, the sprites can be generated without using Django.

Generating sprites for Django queryset objects

Let’s pretend you have a Django model like this:

from django.db import models

class Country(models.Model):
    name = models.CharField(max_length=255)
    slug = models.SlugField()
    flag = models.ImageField(upload_to='countries')

And you want to have a sprite with all the country flags. You can generate it using a Sprite specialization:

from dynamic_sprites.model_sprite import ModelSprite

sprite = ModelSprite('country-flags', queryset=Country.objects.all(), image_field='flag', slug_field='slug')

output_image = sprite.generate()
output_image.save('/path/to/output/image.png')

output_css = sprite.generate_css('http://images.com/output/image.png')
output_css.save('/path/to/output/style.css')

You can also connect the sprite generation to the post_save listener and have your sprite generated again each time an object in your queryset is saved:

from django.db.models.signals import post_save
from dynamic_sprites.listeners import ModelSpriteListener

listener = ModelSpriteListener('country-flags', image_field='flag', slug_field='slug', queryset=Country.objects.all())

post_save.connect(listener, sender=Country)

Contributing to the project

This project is open source, contributions are welcome.

Release History

Release History

0.1.3

This version

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

Download Files

Download Files

TODO: Brief introduction on what you do with files - including link to relevant help section.

File Name & Checksum SHA256 Checksum Help Version File Type Upload Date
django-dynamic-sprites-0.1.3.tar.gz (11.8 kB) Copy SHA256 Checksum SHA256 Source May 4, 2012

Supported By

WebFaction WebFaction Technical Writing Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS HPE HPE Development Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Rackspace Rackspace Cloud Servers DreamHost DreamHost Log Hosting