src/metadatacomposer/models.py
author cavaliet
Fri, 21 Jun 2013 10:30:04 +0200
changeset 153 e862bd9f92d3
parent 20 64a77e529f23
permissions -rw-r--r--
version number to 0.1.7
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
20
64a77e529f23 first image model and upload form.
cavaliet
parents:
diff changeset
     1
from django.db import models
64a77e529f23 first image model and upload form.
cavaliet
parents:
diff changeset
     2
import os
64a77e529f23 first image model and upload form.
cavaliet
parents:
diff changeset
     3
import time
64a77e529f23 first image model and upload form.
cavaliet
parents:
diff changeset
     4
64a77e529f23 first image model and upload form.
cavaliet
parents:
diff changeset
     5
64a77e529f23 first image model and upload form.
cavaliet
parents:
diff changeset
     6
def image_file_name(instance, filename):
64a77e529f23 first image model and upload form.
cavaliet
parents:
diff changeset
     7
    now = time.time()
64a77e529f23 first image model and upload form.
cavaliet
parents:
diff changeset
     8
    milliseconds = '%03d' % int((now - int(now)) * 1000)
64a77e529f23 first image model and upload form.
cavaliet
parents:
diff changeset
     9
    localtime = time.localtime()
64a77e529f23 first image model and upload form.
cavaliet
parents:
diff changeset
    10
    _, ext = os.path.splitext(filename)
64a77e529f23 first image model and upload form.
cavaliet
parents:
diff changeset
    11
    filename = time.strftime('%Y%m%d%H%M%S', localtime) + milliseconds
64a77e529f23 first image model and upload form.
cavaliet
parents:
diff changeset
    12
    return 'metadatacomposer/images/' + filename + ext
64a77e529f23 first image model and upload form.
cavaliet
parents:
diff changeset
    13
64a77e529f23 first image model and upload form.
cavaliet
parents:
diff changeset
    14
64a77e529f23 first image model and upload form.
cavaliet
parents:
diff changeset
    15
class Image(models.Model):
64a77e529f23 first image model and upload form.
cavaliet
parents:
diff changeset
    16
    
64a77e529f23 first image model and upload form.
cavaliet
parents:
diff changeset
    17
    image_file = models.ImageField(width_field="width", height_field="height", upload_to=image_file_name, max_length=2048)
64a77e529f23 first image model and upload form.
cavaliet
parents:
diff changeset
    18
    width = models.IntegerField(null=False, blank=False)
64a77e529f23 first image model and upload form.
cavaliet
parents:
diff changeset
    19
    height = models.IntegerField(null=False, blank=False)
64a77e529f23 first image model and upload form.
cavaliet
parents:
diff changeset
    20
    title = models.CharField(null=True, blank=True, max_length=1024)
64a77e529f23 first image model and upload form.
cavaliet
parents:
diff changeset
    21
    description = models.TextField(null=True, blank=True)
64a77e529f23 first image model and upload form.
cavaliet
parents:
diff changeset
    22
    creation_date = models.DateTimeField(auto_now_add=True)
64a77e529f23 first image model and upload form.
cavaliet
parents:
diff changeset
    23
    modification_date = models.DateTimeField(auto_now=True)
64a77e529f23 first image model and upload form.
cavaliet
parents:
diff changeset
    24