__pkginfo__.py 2.57 KB
Newer Older
Charles Hebert's avatar
0.1.0  
Charles Hebert committed
1
2
3
4
5
6
# pylint: disable-msg=W0622
"""cubicweb-forgotpwd application packaging information"""

modname = 'forgotpwd'
distname = 'cubicweb-forgotpwd'

Sylvain Thénault's avatar
0.2.1    
Sylvain Thénault committed
7
numversion = (0, 2, 1)
Charles Hebert's avatar
0.1.0  
Charles Hebert committed
8
9
version = '.'.join(str(num) for num in numversion)

Sylvain Thénault's avatar
Sylvain Thénault committed
10
license = 'LGPL'
Charles Hebert's avatar
0.1.0  
Charles Hebert committed
11
12
13
14
15
16
copyright = '''Copyright (c) 2010 LOGILAB S.A. (Paris, FRANCE).
http://www.logilab.fr -- mailto:contact@logilab.fr'''

author = 'LOGILAB S.A. (Paris, FRANCE)'
author_email = 'contact@logilab.fr'

Sylvain Thénault's avatar
Sylvain Thénault committed
17
18
19
20
21
short_desc = 'password recovery component for the CubicWeb framework'
long_desc = """\
Summary
-------

Sylvain Thénault's avatar
fix doc    
Sylvain Thénault committed
22
23
The `forgotpwd` cube provides an easy way to generate a new password for an
user, eg the common"I forgot my password" functionnality.
Sylvain Thénault's avatar
Sylvain Thénault committed
24

Sylvain Thénault's avatar
fix doc    
Sylvain Thénault committed
25
It is non-obstrusive and easy to plug.
Sylvain Thénault's avatar
Sylvain Thénault committed
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
52
53

Usage
-----

This cube creates a new entity called `Fpasswd`. This is an internal
entity: managers and users can't read/delete or modify this kink of
entity.

The workflow of password recovery is defined below :

1. ask for a new password, the user must have a valid primary email
   associated to his account.

2. An email has been sent. This email contains a generated url associated to an
   user. This link is valid during a short period. This time limit can be
   configured in the all-in-one.conf file:

   .. sourcecode:: ini

      [FORGOTPWD]
      revocation-limit=30 # minutes

3. If the link is valid, the user can change his password in a new form.

There is an automatic task that delete periodically all old Fpasswd which are
stored in the database. This task is started at the launching of the
application.
"""
Charles Hebert's avatar
0.1.0  
Charles Hebert committed
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74

web = 'http://www.cubicweb.org/project/%s' % distname


from os import listdir as _listdir
from os.path import join, isdir, exists
from glob import glob

THIS_CUBE_DIR = join('share', 'cubicweb', 'cubes', modname)

def listdir(dirpath):
    return [join(dirpath, fname) for fname in _listdir(dirpath)
            if fname[0] != '.' and not fname.endswith('.pyc')
            and not fname.endswith('~')
            and not isdir(join(dirpath, fname))]

data_files = [
    # common files
    [THIS_CUBE_DIR, [fname for fname in glob('*.py') if fname != 'setup.py']],
    ]
# check for possible extended cube layout
Sylvain Thénault's avatar
Sylvain Thénault committed
75
for dname in ('entities', 'views', 'sobjects', 'hooks', 'schema', 'data', 'wdoc', 'i18n', 'migration'):
Charles Hebert's avatar
0.1.0  
Charles Hebert committed
76
77
78
79
80
    if isdir(dname):
        data_files.append([join(THIS_CUBE_DIR, dname), listdir(dname)])
# Note: here, you'll need to add subdirectories if you want
# them to be included in the debian package

81
__depends_cubes__ = {}
82
__depends__ = {'cubicweb': '>= 3.9.0',
83
84
85
               'python-crypto': None,
               'PIL': None,
               }
Charles Hebert's avatar
Charles Hebert committed
86
__use__ = tuple(__depends_cubes__)
Charles Hebert's avatar
0.1.0  
Charles Hebert committed
87