from django.db import models
from datetime import datetime
from vcs.models import BaseRepository, BaseCommit
get_time = lambda n: datetime(*localtime(n)[:-2])
class RepositoryManager(models.Manager):
def from_post(self, data):
return self.get_or_create(
url = data['repository_path'],
name = data['project_name'],
)[0]
class GoogleCodeRepository(BaseRepository):
objects = RepositoryManager()
class CommitManager(models.Manager):
def from_post(self, data):
return self.get_or_create(
url = data['url'],
timestamp = get_time(data['timestamp']),
message = data['message'],
author = data['author'],
revision = int(data['revision']),
path_count = int(data['path_count']),
added = data.get('added',[]),
removed = data.get('removed',[]),
modified = data.get('modified',[]),
)[0]
class GoogleCodeCommit(models.Model):
url = models.URLField(verify_exists=False)
path_count = models.IntegerField()
objects = CommitManager()