]>
git.ipfire.org Git - ipfire.org.git/blob - www/webapp/backend/wishlist.py
3 from __future__
import division
8 from databases
import Databases
9 from misc
import Singleton
11 class Wishlist(object):
12 __metaclass__
= Singleton
16 return Databases().webapp
19 wish
= self
.db
.get("SELECT id FROM wishlist WHERE slug = %s", slug
)
22 return Wish(self
, wish
.id)
24 def get_all_by_query(self
, query
):
27 for row
in self
.db
.query(query
):
28 wish
= Wish(self
, row
.id)
33 def get_all_running(self
):
34 return self
.get_all_by_query("SELECT id FROM wishlist \
35 WHERE DATE(NOW()) >= date_start AND DATE(NOW()) <= date_end AND published = 'Y'\
36 ORDER BY prio ASC, date_end ASC")
38 def get_all_finished(self
):
39 return self
.get_all_by_query("SELECT id FROM wishlist \
40 WHERE DATE(NOW()) > date_end AND published = 'Y' ORDER BY date_end ASC")
44 def __init__(self
, wishlist
, id):
45 self
.wishlist
= wishlist
50 def __cmp__(self
, other
):
51 return cmp(self
.date_end
, other
.date_end
)
55 return self
.wishlist
.db
59 if self
.__data
is None:
60 self
.__data
= self
.db
.get("SELECT * FROM wishlist WHERE id = %s", self
.id)
67 return self
.data
.title
78 def description(self
):
79 return textile
.textile(self
.data
.description
)
87 return self
.data
.donated
91 return (self
.donated
/ self
.goal
) * 100
95 if self
.remaining_days
< 0:
101 def date_start(self
):
102 return self
.data
.date_start
106 return self
.data
.date_end
109 def running_days(self
):
110 today
= datetime
.datetime
.today()
113 running
= today
- self
.date_start
117 def remaining_days(self
):
118 today
= datetime
.datetime
.today()
121 remaining
= self
.date_end
- today
122 return remaining
.days
124 def get_tweet(self
, locale
):
128 _("Checkout this crowdfunding wish from #ipfire:"),
129 "http://wishlist.ipfire.org/wish/%s" % self
.slug
,