Child: [104e28] (diff)

Download this file

mailman.py    52 lines (39 with data), 1.7 kB

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
from time import sleep
from datetime import datetime
import tg
from pylons import g #g is a namespace for globally accessable app helpers
from pylons import c as context
from pylons import request
from pymongo.errors import OperationFailure
from ming import schema
from ming.orm.base import state, session
from ming.orm.mapped_class import MappedClass
from ming.orm.property import FieldProperty, ForeignIdProperty, RelationProperty
from pyforge.model import Artifact
from pyforge.model import Notification, project_orm_session
from pyforge.lib import helpers as h
common_suffix = tg.config.get('forgemail.domain', '.sourceforge.net')
class List(Artifact):
class __mongometa__:
name = 'mailman-list'
unique_indexes = [ ('name') ]
type_s = 'Mailman List'
_id = FieldProperty(schema.ObjectId)
list_id = FieldProperty(int)
name = FieldProperty(str)
description = FieldProperty(str)
visibility =FieldProperty(schema.OneOf('public', 'private', 'hidden',))
@property
def admin_url(self):
return 'https://lists.sourceforge.net/mailman/admin/%s' % self.name
@property
def subscribers_url(self):
return tg.url('https://sourceforge.net/mail/admin/list_subscribers.php',
dict(group_id=self.project.get_tool_data('sfx', 'group_id'),
group_list_id=self.list_id))
@property
def password_url(self):
return tg.url('https://sourceforge.net/mail/admin/list_adminpass.php',
dict(group_id=self.project.get_tool_data('sfx', 'group_id'),
group_list_id=self.list_id))
MappedClass.compile_all()