Statistics
| Branch: | Tag: | Revision:

root / snf-astakos-app / astakos / im / management / commands / _common.py @ 3597f9c9

History | View | Annotate | Download (2.1 kB)

1 397d5cbe Giorgos Verigakis
# Copyright 2012 GRNET S.A. All rights reserved.
2 397d5cbe Giorgos Verigakis
#
3 397d5cbe Giorgos Verigakis
# Redistribution and use in source and binary forms, with or
4 397d5cbe Giorgos Verigakis
# without modification, are permitted provided that the following
5 397d5cbe Giorgos Verigakis
# conditions are met:
6 397d5cbe Giorgos Verigakis
#
7 397d5cbe Giorgos Verigakis
#   1. Redistributions of source code must retain the above
8 397d5cbe Giorgos Verigakis
#      copyright notice, this list of conditions and the following
9 397d5cbe Giorgos Verigakis
#      disclaimer.
10 397d5cbe Giorgos Verigakis
#
11 397d5cbe Giorgos Verigakis
#   2. Redistributions in binary form must reproduce the above
12 397d5cbe Giorgos Verigakis
#      copyright notice, this list of conditions and the following
13 397d5cbe Giorgos Verigakis
#      disclaimer in the documentation and/or other materials
14 397d5cbe Giorgos Verigakis
#      provided with the distribution.
15 397d5cbe Giorgos Verigakis
#
16 397d5cbe Giorgos Verigakis
# THIS SOFTWARE IS PROVIDED BY GRNET S.A. ``AS IS'' AND ANY EXPRESS
17 397d5cbe Giorgos Verigakis
# OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
18 397d5cbe Giorgos Verigakis
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
19 397d5cbe Giorgos Verigakis
# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL GRNET S.A OR
20 397d5cbe Giorgos Verigakis
# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
21 397d5cbe Giorgos Verigakis
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
22 397d5cbe Giorgos Verigakis
# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
23 397d5cbe Giorgos Verigakis
# USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
24 397d5cbe Giorgos Verigakis
# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
25 397d5cbe Giorgos Verigakis
# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
26 397d5cbe Giorgos Verigakis
# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
27 397d5cbe Giorgos Verigakis
# POSSIBILITY OF SUCH DAMAGE.
28 397d5cbe Giorgos Verigakis
#
29 397d5cbe Giorgos Verigakis
# The views and conclusions contained in the software and
30 397d5cbe Giorgos Verigakis
# documentation are those of the authors and should not be
31 397d5cbe Giorgos Verigakis
# interpreted as representing official policies, either expressed
32 397d5cbe Giorgos Verigakis
# or implied, of GRNET S.A.
33 397d5cbe Giorgos Verigakis
34 397d5cbe Giorgos Verigakis
from datetime import datetime
35 397d5cbe Giorgos Verigakis
36 397d5cbe Giorgos Verigakis
from django.utils.timesince import timesince, timeuntil
37 397d5cbe Giorgos Verigakis
38 397d5cbe Giorgos Verigakis
from astakos.im.models import AstakosUser
39 397d5cbe Giorgos Verigakis
40 397d5cbe Giorgos Verigakis
41 397d5cbe Giorgos Verigakis
def get_user(email_or_id):
42 397d5cbe Giorgos Verigakis
    try:
43 397d5cbe Giorgos Verigakis
        if email_or_id.isdigit():
44 397d5cbe Giorgos Verigakis
            return AstakosUser.objects.get(id=int(email_or_id))
45 397d5cbe Giorgos Verigakis
        else:
46 397d5cbe Giorgos Verigakis
            return AstakosUser.objects.get(email=email_or_id)
47 397d5cbe Giorgos Verigakis
    except AstakosUser.DoesNotExist:
48 397d5cbe Giorgos Verigakis
        return None
49 397d5cbe Giorgos Verigakis
50 397d5cbe Giorgos Verigakis
51 397d5cbe Giorgos Verigakis
def format_bool(b):
52 397d5cbe Giorgos Verigakis
    return 'YES' if b else 'NO'
53 397d5cbe Giorgos Verigakis
54 397d5cbe Giorgos Verigakis
55 397d5cbe Giorgos Verigakis
def format_date(d):
56 397d5cbe Giorgos Verigakis
    if not d:
57 397d5cbe Giorgos Verigakis
        return ''
58 397d5cbe Giorgos Verigakis
59 397d5cbe Giorgos Verigakis
    if d < datetime.now():
60 397d5cbe Giorgos Verigakis
        return timesince(d) + ' ago'
61 397d5cbe Giorgos Verigakis
    else:
62 397d5cbe Giorgos Verigakis
        return 'in ' + timeuntil(d)