##// END OF EJS Templates
p2.5 fixes
marcink -
r2068:f664d3b5 beta
parent child Browse files
Show More
@@ -17,6 +17,8 b' news'
17 fixes
17 fixes
18 +++++
18 +++++
19
19
20 - fixed some python2.5 compatibility issues
21
20 1.3.2 (**2012-02-28**)
22 1.3.2 (**2012-02-28**)
21 ----------------------
23 ----------------------
22
24
@@ -53,7 +53,7 b' log = logging.getLogger(__name__)'
53
53
54 def anchor_url(revision, path):
54 def anchor_url(revision, path):
55 fid = h.FID(revision, path)
55 fid = h.FID(revision, path)
56 return h.url.current(anchor=fid, **request.GET)
56 return h.url.current(anchor=fid, **dict(request.GET))
57
57
58
58
59 def get_ignore_ws(fid, GET):
59 def get_ignore_ws(fid, GET):
@@ -28,8 +28,8 b' import calendar'
28 import logging
28 import logging
29 from time import mktime
29 from time import mktime
30 from datetime import timedelta, date
30 from datetime import timedelta, date
31 from itertools import product
32 from urlparse import urlparse
31 from urlparse import urlparse
32 from rhodecode.lib.compat import product
33
33
34 from rhodecode.lib.vcs.exceptions import ChangesetError, EmptyRepositoryError, \
34 from rhodecode.lib.vcs.exceptions import ChangesetError, EmptyRepositoryError, \
35 NodeDoesNotExistError
35 NodeDoesNotExistError
@@ -379,3 +379,21 b' if __platform__ in PLATFORM_WIN:'
379
379
380 else:
380 else:
381 kill = os.kill
381 kill = os.kill
382
383
384 #==============================================================================
385 # itertools.product
386 #==============================================================================
387
388 try:
389 from itertools import product
390 except ImportError:
391 def product(*args, **kwds):
392 # product('ABCD', 'xy') --> Ax Ay Bx By Cx Cy Dx Dy
393 # product(range(2), repeat=3) --> 000 001 010 011 100 101 110 111
394 pools = map(tuple, args) * kwds.get('repeat', 1)
395 result = [[]]
396 for pool in pools:
397 result = [x + [y] for x in result for y in pool]
398 for prod in result:
399 yield tuple(prod)
@@ -42,8 +42,8 b''
42 </tr>
42 </tr>
43 </thead>
43 </thead>
44
44
45 %for cnt,repo in enumerate(c.repos_list,1):
45 %for cnt,repo in enumerate(c.repos_list):
46 <tr class="parity${cnt%2}">
46 <tr class="parity${(cnt+1)%2}">
47 <td class="quick_repo_menu">
47 <td class="quick_repo_menu">
48 ${dt.quick_menu(repo['name'])}
48 ${dt.quick_menu(repo['name'])}
49 </td>
49 </td>
@@ -69,8 +69,8 b''
69 </tr>
69 </tr>
70 </thead>
70 </thead>
71 <tbody>
71 <tbody>
72 %for cnt,repo in enumerate(c.repos_list,1):
72 %for cnt,repo in enumerate(c.repos_list):
73 <tr class="parity${cnt%2}">
73 <tr class="parity${(cnt+1)%2}">
74 ##QUICK MENU
74 ##QUICK MENU
75 <td class="quick_repo_menu">
75 <td class="quick_repo_menu">
76 ${dt.quick_menu(repo['name'])}
76 ${dt.quick_menu(repo['name'])}
@@ -115,7 +115,7 b''
115 </div>
115 </div>
116 </div>
116 </div>
117 <script>
117 <script>
118 YUD.get('repo_count').innerHTML = ${cnt};
118 YUD.get('repo_count').innerHTML = ${cnt+1};
119 var func = function(node){
119 var func = function(node){
120 return node.parentNode.parentNode.parentNode.parentNode;
120 return node.parentNode.parentNode.parentNode.parentNode;
121 }
121 }
General Comments 0
You need to be logged in to leave comments. Login now