Add lots of new functions to key_name.py, including path/link_name processing.
Copy various link_name related regex patterns to key_name.py and use them.
Add error checking that raises a key_name.Error exception when name...()
functions are given empty arguments. Hard-code class names, since they match
what was typed into the module.class.__name__ to get the name anyway. This
eliminates dependencies on any modules by key_name.py.
import tempfile
from django.db import models
class Photo(models.Model):
title = models.CharField(maxlength=30)
image = models.FileField(upload_to=tempfile.gettempdir())
# Support code for the tests; this keeps track of how many times save() gets
# called on each instance.
def __init__(self, *args, **kwargs):
super(Photo, self).__init__(*args, **kwargs)
self._savecount = 0
def save(self):
super(Photo, self).save()
self._savecount +=1