Forgot to add my source :
_ models.py
_ Testdata.py

*******************************************************************************************

from django.db import models

import logging
from django.contrib.auth.models import User, UserManager

log = logging.getLogger('dpaste.models')

GENDER_CHOICES = (
    ('M', 'Male'),
    ('F', 'Female'),
)


TOPIC_CHOICES = (
  ( 'general', 'General enquiry'),
  ( 'bug', 'Report a bug'),
  ( 'suggestion', 'Make a suggestion'),
)


#
###########################################################################################


class PersistanceDuration(models.Model):
  """
    Defines a persistence duration for the posts.
    Per default a user has a persistence duration assigned to him/her.
  """
  duration_type = models.TextField(max_length='100', unique=True,
null=False)
  duration = models.IntegerField(default=100)

  def __str__(self):
    return self.__unicode__()

  def __unicode__(self):
    return u'duration : ''%s'' --> %i days' % (self.duration_type,
self.duration)

  class Admin:
    pass

#
#
#
class Author(User):
  """ An Author is someone more of less identified who will be
authorised to post code"""
  # TODO : Ensure that in fact the users are FK to the Django user
management code
  gender = models.CharField(max_length=1, choices=GENDER_CHOICES)
  persistance = models.ForeignKey(PersistanceDuration)

  class Admin:
    list_display = ( 'username', 'email', 'first_name', 'last_name',
'gender', 'date_joined', 'last_login')
    list_filter = ( 'username', 'email', 'first_name', 'last_name',
'gender')
    ordering = ('username',)
    search_fields = ( 'username', 'email', 'first_name', 'last_name',
'gender')

  def __unicode__(self):
    return u'%s %s --> user-id : %s (%s)' % (self.first_name,
self.last_name, self.username, self.email)


class ProgrammingLanguage(models.Model):
  """ Defining the programming language is probably a mean to add/
remove them based on the lexer's acronyms"""
  lang_code = models.CharField(max_length=20, unique=True, null=False)
  comment = models.TextField()

  created_on = models.DateField(auto_now_add=True, editable=False)
  last_modified_on = models.DateField(auto_now=True, editable=False)

  def __unicode__(self):
    return u'ProgrammingLanguage : %s (last updated : %s)' %
(self.lang_code, self.last_modified_on)

class CodePost(models.Model):
  poster = models.ForeignKey(Author, to_field='username')
  languages = models.ManyToManyField(ProgrammingLanguage) #,
to_field='lang_code')
  code = models.TextField(null=False)
  comment = models.TextField()

  created_on = models.DateField(auto_now_add=True, editable=False)
  last_modified_on = models.DateField(auto_now=True, editable=False)

  # This is a mean to clean up the code
  isActive = models.BooleanField(default=True)
  persistance = models.ForeignKey(PersistanceDuration, null=True)


  class Admin:
    list_display = ( 'poster', 'code', 'comment', 'created_on',
'last_modified_on', 'isActive')
    list_filter = ( 'poster', 'languages')
    ordering = ('languages', '-last_modified_on')
    search_fields = ( 'poster', 'languages', 'code', 'comment')

  def __unicode__(self):
    return "poster:" + str(self.poster) + '\ncode:' + str(self.code)


# Is currently hard coded
class Lexer(models.Model):
  lang_code = models.ForeignKey(ProgrammingLanguage,
to_field='lang_code')
  name = models.CharField(max_length=200, unique=True, null=False)

  created_on = models.DateField(auto_now_add=True, editable=False)
  last_modified_on = models.DateField(auto_now=True, editable=False)

  def __unicode__(self):
    return u'Lexer : %s for %s' % (self.name, self.lang_code)



# Is currently hard coded
class Render(models.Model):
  rendered_type = models.CharField(max_length=20, unique=True,
null=False)
  renderer_name = models.CharField(max_length=200, unique=True,
null=False)

  created_on = models.DateField(auto_now_add=True, editable=False)
  last_modified_on = models.DateField(auto_now=True, editable=False)

  def __unicode__(self):
    return u'Render : type : %s / name : %s' % (self.rendered_type,
self.renderer_name)


class Submition(models.Model):
  topic = models.CharField(max_length=50, choices=TOPIC_CHOICES)
  message = models.TextField()
  sender = models.EmailField()

  def __unicode__(self):
    return u'Submition : Topic : %s from %s' % (self.topic,
self.sender)



*******************************************************************************************
from dpaste.models import *
import logging

PDs = []
PDs.append(PersistanceDuration(duration_type = 'Admin',
duration=50000))
PDs.append(PersistanceDuration(duration_type = 'default',
duration=500))
PDs.append(PersistanceDuration(duration_type = 'minimal',
duration=5))
for pd in PDs:
  pd.save()


pd_minimal = PersistanceDuration.objects.get(duration_type='minimal')
pd_default = PersistanceDuration.objects.get(duration_type='default')
pd_root = PersistanceDuration.objects.get(duration_type='Admin')

#
# Create 2 authors
#
########################################################################
a1 = Author(username='root', email='tsm...@a3-system.eu',
first_name='Thomas Lionel', last_name='Smets',
            gender='M', persistance=pd_root, password='123456' )
a1.save()
a2 = Author(username='Anonymous', email='tsm...@a3-system.be',
first_name='Unregistered user', last_name='too bad',
            gender='M', persistance=pd_minimal, password='123456')
a2.save()

author_list = Author.objects.all()
author_list

user_list = User.objects.all()
user_list


# Define programming languages
#
#########################################################################
PLs = []
PLs.append(ProgrammingLanguage(lang_code='python3',
                          comment='The currently active versions of
Python (3.0)'))
PLs.append(ProgrammingLanguage(lang_code='python',
                          comment='The currently active versions of
Python (2.4, 2.5, 2.6)... waiting on 3.0 final version'))
PLs.append(ProgrammingLanguage(lang_code='shell',
                               comment='Almost any shell: bash, c-
shell, korn, zsh, ... or just plain shell'))
PLs.append(ProgrammingLanguage(lang_code='perl',
                               comment='Larry Wall''s Practical
Extraction Language'))
PLs.append(ProgrammingLanguage(lang_code='python-console',
                               comment=''))
PLs.append(ProgrammingLanguage(lang_code='ruby',               # Ruby
                               comment='A dynamic, interpreted, open
source programming language with a focus on simplicity and
productivity'))
PLs.append(ProgrammingLanguage(lang_code='ruby-console',       #
                               comment='The interpreter trace of a
Ruby session'))
PLs.append(ProgrammingLanguage(lang_code='java',               #
                               comment=''))
PLs.append(ProgrammingLanguage(lang_code='scala',              #
                               comment=''))
PLs.append(ProgrammingLanguage(lang_code='c#',                 #
                               comment='MS lingua fraca'))
PLs.append(ProgrammingLanguage(lang_code='fortran',            #
FORTRAN
                               comment='THE language for numerical
work (FORmula TRANslation)'))
PLs.append(ProgrammingLanguage(lang_code='my-sql',             # my-
sql
                               comment='mySQL '))
PLs.append(ProgrammingLanguage(lang_code='sql',                #
                               comment='General SQL'))
PLs.append(ProgrammingLanguage(lang_code='povray',             #
POVRAY
                               comment='The Persistence of Vision
Raytracer -> http://www.povray.org/'))
# PLs.append(ProgrammingLanguage(lang_code='', comment='')) #

print 'Adding the definition of the programming languages (%i)' % len
(PLs)
for pl in PLs:
  pl.save()

#
# Added some posts
#
########################################################################
CPs = []
cp=CodePost(poster=a1, code='[python]#!/usr/bin/python\nprint "Hello
World!"[/python]')
CPs.append(cp)
cp.save()
cp.languages=[ ProgrammingLanguage.objects.get(lang_code='java') ]

cp = CodePost(poster=a1, code='[shell]#!/bin/sh\nNOW=`date +YYYY+MM+DD`
[/shell]')
CPs.append(cp)
cp.save()
cp.languages=[ ProgrammingLanguage.objects.get(lang_code='shell')  ]

cp = CodePost(poster=a1, code='[python][/pyhton]')
CPs.append(cp)
cp.save()
cp.languages=[ ProgrammingLanguage.objects.get(lang_code='python')  ]

for cp in CPs:
  cp.save()


*******************************************************************************************

-- 
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To post to this group, send email to django-us...@googlegroups.com.
To unsubscribe from this group, send email to 
django-users+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/django-users?hl=en.

Reply via email to