diff options
author | Evgeny Fadeev <evgeny.fadeev@gmail.com> | 2010-02-02 20:48:41 -0500 |
---|---|---|
committer | Evgeny Fadeev <evgeny.fadeev@gmail.com> | 2010-02-02 20:48:41 -0500 |
commit | 955f0853655cd499a12f69ca35768802ddbbac38 (patch) | |
tree | dee4116cbd68064d4d314f913daaaeba748ac90a /mediawiki/models.py | |
parent | c269397bbc0f9716fa47ddb311cdd37d3954859d (diff) | |
download | askbot-955f0853655cd499a12f69ca35768802ddbbac38.tar.gz askbot-955f0853655cd499a12f69ca35768802ddbbac38.tar.bz2 askbot-955f0853655cd499a12f69ca35768802ddbbac38.zip |
remove experimental and unused files, small cleanups
Diffstat (limited to 'mediawiki/models.py')
-rw-r--r-- | mediawiki/models.py | 312 |
1 files changed, 0 insertions, 312 deletions
diff --git a/mediawiki/models.py b/mediawiki/models.py deleted file mode 100644 index e37aec32..00000000 --- a/mediawiki/models.py +++ /dev/null @@ -1,312 +0,0 @@ -# This is an auto-generated Django model module. -# You'll have to do the following manually to clean this up: -# * Rearrange models' order -# * Make sure each model has one field with primary_key=True -# Feel free to rename the models, but don't rename db_table values or field names. -# -# Also note: You'll have to insert the output of 'django-admin.py sqlcustom [appname]' -# into your database. - -table_prefix = u'nmrwiki' -from django.db import models -import re -from django.conf import settings -import logging -from django.contrib.auth.models import User as DjangoUser -from django.utils.translation import ugettext as _ -import hashlib -import time -import random - -MW_TS = '%Y%m%d%H%M%S' - -TITLE_CHOICES = ( - ('none',_('----')), - ('prof',_('Prof.')), - ('dr',_('Dr.')), -) - -class User(models.Model): - user_id = models.IntegerField(primary_key=True,db_column='user_id') - user_name = models.CharField(max_length=765) - user_real_name = models.CharField(max_length=765) - user_password = models.TextField() - user_newpassword = models.TextField() - user_newpass_time = models.CharField(max_length=14, blank=True) - user_email = models.TextField() - user_options = models.TextField() - user_touched = models.CharField(max_length=14) - user_token = models.CharField(max_length=32) - user_email_authenticated = models.CharField(max_length=14, blank=True) - user_email_token = models.CharField(max_length=32, blank=True) - user_email_token_expires = models.CharField(max_length=14, blank=True) - user_registration = models.CharField(max_length=14, blank=True) - user_editcount = models.IntegerField(null=True, blank=True) - user_last_name = models.CharField(max_length=765, blank=True) - user_first_name = models.CharField(max_length=765, blank=True) - user_reason_to_join = models.CharField(max_length=765, blank=True) - user_title = models.CharField(max_length=16, blank=True, choices=TITLE_CHOICES) - class Meta: - db_table = table_prefix + u'user' - managed = False - - def set_default_options(self): - default_options = { - 'quickbar':1, - 'underline':2, - 'cols':80, - 'rows':25, - 'searchlimit':20, - 'contextlines':5, - 'contextchars':50, - 'skin':'false', - 'math':1, - 'rcdays':7, - 'rclimit':50, - 'wllimit':250, - 'highlightbroken':1, - 'stubthreshold':0, - 'previewontop':1, - 'editsection':1, - 'editsectiononrightclick':0, - 'showtoc':1, - 'showtoolbar':1, - 'date':'default', - 'imagesize':2, - 'thumbsize':2, - 'rememberpassword':0, - 'enotifwatchlistpages':0, - 'enotifusertalkpages':1, - 'enotifminoredits':0, - 'enotifrevealaddr':0, - 'shownumberswatching':1, - 'fancysig':0, - 'externaleditor':0, - 'externaldiff':0, - 'showjumplinks':1, - 'numberheadings':0, - 'uselivepreview':0, - 'watchlistdays':3.0, - 'usenewrc':1, - } - self.user_options = '\n'.join( - map(lambda opt: '%s=%s' % (opt[0], str(opt[1])), - default_options.items()) - ) - - def set_password_and_token(self,password): - p = hashlib.md5(password).hexdigest() - if hasattr(settings,'MEDIAWIKI_SALT_PASSWORD') and settings.MEDIAWIKI_SALT_PASSWORD == True: - p = hashlib.md5('%d-%s' % (self.user_id, p)).hexdigest() - self.user_password = p - self.user_token = hashlib.md5(p + str(time.time())).hexdigest() - - def get_name(self): - if self.user_real_name: - if re.search(r'\S',self.user_real_name): - return self.user_real_name - return self.user_name + ' (nickname)' - - def get_html(self): - return '<a href="%s">%s</a>' % (self.get_absolute_url(),self.get_name()) - - def get_absolute_url(self): - url = settings.MEDIAWIKI_URL + '?title=User:' + self.user_name - return url - -class UserProfile(models.Model): - nup_user_id = models.ForeignKey(User,primary_key=True,db_column='nup_user_id') - nup_about = models.CharField(max_length=765, blank=True) - nup_position_title = models.CharField(max_length=765, blank=True) - nup_position_type = models.CharField(max_length=765, blank=True) - nup_employer_division = models.CharField(max_length=765, blank=True) - nup_employer_company = models.CharField(max_length=765, blank=True) - nup_employer_type = models.CharField(max_length=765, blank=True) - nup_employment_status = models.CharField(max_length=45, blank=True) - nup_profession = models.CharField(max_length=765, blank=True) - nup_city = models.CharField(max_length=765, blank=True) - nup_state = models.CharField(max_length=765, blank=True) - nup_country = models.CharField(max_length=765, blank=True) - nup_lattitude = models.FloatField(null=True, blank=True) - nup_longitude = models.FloatField(null=True, blank=True) - nup_hiring = models.IntegerField(null=True, blank=True) - nup_hunting = models.IntegerField(null=True, blank=True) - nup_education = models.TextField(blank=True) - nup_websites = models.TextField(blank=True) - nup_interests = models.TextField(blank=True) - nup_job_ad = models.TextField(blank=True) - nup_job_ad_title = models.CharField(max_length=765, blank=True) - nup_job_ad_active = models.IntegerField(null=True, blank=True) - nup_expertise = models.TextField(blank=True) - nup_is_approved = models.BooleanField() - class Meta: - db_table = table_prefix + u'new_user_profile' - managed = False - -class RecentChanges(models.Model): - rc_id = models.AutoField(primary_key=True, db_column='rc_id') - rc_timestamp = models.CharField(max_length=14) - rc_cur_time = models.CharField(max_length=14) - rc_user = models.ForeignKey(User, db_column='rc_user') - rc_user_text = models.CharField(max_length=765) - rc_namespace = models.IntegerField() - rc_title = models.CharField(max_length=765) - rc_comment = models.CharField(max_length=765) - rc_minor = models.IntegerField() - rc_bot = models.IntegerField() - rc_new = models.IntegerField() - rc_cur_id = models.IntegerField() - rc_this_oldid = models.IntegerField() - rc_last_oldid = models.IntegerField() - rc_type = models.IntegerField() - rc_moved_to_ns = models.IntegerField() - rc_moved_to_title = models.CharField(max_length=765) - rc_patrolled = models.IntegerField() - rc_ip = models.CharField(max_length=40) - rc_old_len = models.IntegerField(null=True, blank=True) - rc_new_len = models.IntegerField(null=True, blank=True) - rc_deleted = models.IntegerField() - rc_logid = models.ForeignKey('Logging', db_column='rc_logid') - rc_log_type = models.CharField(max_length=255, blank=True) - rc_log_action = models.CharField(max_length=255, blank=True) - rc_params = models.TextField(blank=True) - class Meta: - db_table = table_prefix + u'recentchanges' - managed = False - -class Logging(models.Model): - log_id = models.AutoField(primary_key=True) - log_type = models.CharField(max_length=10) - log_action = models.CharField(max_length=10) - log_timestamp = models.CharField(max_length=14) - log_user = models.ForeignKey(User,db_column='log_user') - log_namespace = models.IntegerField() - log_title = models.CharField(max_length=765) - log_comment = models.CharField(max_length=765) - log_params = models.TextField() - log_deleted = models.IntegerField() - class Meta: - db_table = table_prefix + u'logging' - managed = False - - def show_in_recent_changes(self, ip=None, rc_minor=False): - #to call this method self object must already exist in DB - if self.log_type == 'newusers' and self.log_action=='create': - rc = RecentChanges( - rc_ip=ip, - rc_minor=int(rc_minor), - rc_deleted=0, - rc_bot=0, - rc_new=0, - rc_moved_to_title='', - rc_moved_to_ns=0, - rc_this_oldid=0, - rc_last_oldid=0, - rc_patrolled=1, - rc_old_len=None, - rc_new_len=None, - rc_logid=self, - rc_user=self.log_user, - rc_user_text=self.log_user.user_name, - rc_log_type=self.log_type, - rc_log_action=self.log_action, - rc_timestamp = self.log_timestamp, - rc_cur_time = self.log_timestamp, - rc_title='Log/newusers', - rc_namespace=-1, #-1 special, 2 is User namespace - rc_params=self.log_params, - rc_comment=_('Welcome new user!'), - rc_type=3,#MW RCLOG constant from Defines.php - rc_cur_id=0, - ) - rc.save() - else: - raise NotImplementedError() - - -class Page(models.Model): - page_id = models.AutoField(primary_key=True) - page_namespace = models.IntegerField(unique=True) - page_title = models.CharField(max_length=765) - page_restrictions = models.TextField() - page_counter = models.IntegerField() - page_is_redirect = models.IntegerField() - page_is_new = models.IntegerField() - page_random = models.FloatField() - page_touched = models.CharField(max_length=14) - page_latest = models.IntegerField() - page_len = models.IntegerField() - class Meta: - db_table = table_prefix + u'page' - managed = False - def save(self): - raise Exception('WikiUser table is read-only in this application') - -class PageLinks(models.Model): - pl_from = models.ForeignKey(Page) - pl_namespace = models.IntegerField() - pl_title = models.CharField(max_length=765) - class Meta: - db_table = table_prefix + u'pagelinks' - managed = False - def save(self): - raise Exception('WikiUser table is read-only in this application') - -class Revision(models.Model): - rev_id = models.IntegerField(unique=True) - rev_page = models.IntegerField() - rev_text_id = models.IntegerField() - rev_comment = models.TextField() - rev_user = models.IntegerField() - rev_user_text = models.CharField(max_length=765) - rev_timestamp = models.CharField(max_length=14) - rev_minor_edit = models.IntegerField() - rev_deleted = models.IntegerField() - rev_len = models.IntegerField(null=True, blank=True) - rev_parent_id = models.IntegerField(null=True, blank=True) - class Meta: - db_table = table_prefix + u'revision' - managed = False - -class Text(models.Model): - old_id = models.IntegerField(primary_key=True) - old_text = models.TextField() - old_flags = models.TextField() - class Meta: - db_table = table_prefix + u'text' - managed = False - -#nmrwiki_stats table may be of interest - -class UserGroups(models.Model): - ug_user = models.ForeignKey(User,primary_key=True) - ug_group = models.CharField(max_length=16) - class Meta: - db_table = table_prefix + u'user_groups' - managed = False - -def user_get_absolute_url(user): - return user.mediawiki_user.get_absolute_url() - -def user_get_html(user): - return user.mediawiki_user.get_html() - -def user_has_valid_email(user): - if user.mediawiki_user.user_email_authenticated: - return True - else: - return False - -def user_get_description_for_admin(user): - out = user.get_html() + ' (%s)' % user.username - if user.has_valid_email(): - out += ' - has valid email' - else: - out += ' - <em>no email!</em>' - return out - -DjangoUser.add_to_class('mediawiki_user',models.ForeignKey(User, null=True)) -DjangoUser.add_to_class('get_wiki_profile_url',user_get_absolute_url) -DjangoUser.add_to_class('get_wiki_profile_url_html',user_get_html) -DjangoUser.add_to_class('get_description_for_admin',user_get_description_for_admin) -DjangoUser.add_to_class('has_valid_wiki_email',user_has_valid_email) |