Mercurial > kallithea
annotate rhodecode/lib/helpers.py @ 990:7a1df0130533 beta
moved tooltip function from the for loop and from templates to helpers
author | Marcin Kuzminski <marcin@python-works.com> |
---|---|
date | Tue, 01 Feb 2011 15:19:42 +0100 |
parents | 63c91390853c |
children | d14723711d17 |
rev | line source |
---|---|
0 | 1 """Helper functions |
2 | |
3 Consists of functions to typically be used within templates, but also | |
4 available to Controllers. This module is available to both as 'h'. | |
5 """ | |
734
49eb69d78988
implemented user dashboards, and following system.
Marcin Kuzminski <marcin@python-works.com>
parents:
718
diff
changeset
|
6 import random |
49eb69d78988
implemented user dashboards, and following system.
Marcin Kuzminski <marcin@python-works.com>
parents:
718
diff
changeset
|
7 import hashlib |
966
63c91390853c
fixed line number look
Marcin Kuzminski <marcin@python-works.com>
parents:
965
diff
changeset
|
8 import StringIO |
250
be4621c6de58
Pygments code coloring rewrite, annotation was moved to vcs whitch had much better lib for that. Fixed code recognition based on mimetypes of filenodes, for better coloring.
Marcin Kuzminski <marcin@python-works.com>
parents:
165
diff
changeset
|
9 from pygments.formatters import HtmlFormatter |
be4621c6de58
Pygments code coloring rewrite, annotation was moved to vcs whitch had much better lib for that. Fixed code recognition based on mimetypes of filenodes, for better coloring.
Marcin Kuzminski <marcin@python-works.com>
parents:
165
diff
changeset
|
10 from pygments import highlight as code_highlight |
165
ea893ffb7f00
implemented pygmentize codes into webhelpers. Together with color_dict caching into pylons globals
Marcin Kuzminski <marcin@python-works.com>
parents:
104
diff
changeset
|
11 from pylons import url, app_globals as g |
97
be0096a02772
added helper for filesize
Marcin Kuzminski <marcin@python-works.com>
parents:
94
diff
changeset
|
12 from pylons.i18n.translation import _, ungettext |
250
be4621c6de58
Pygments code coloring rewrite, annotation was moved to vcs whitch had much better lib for that. Fixed code recognition based on mimetypes of filenodes, for better coloring.
Marcin Kuzminski <marcin@python-works.com>
parents:
165
diff
changeset
|
13 from vcs.utils.annotate import annotate_highlight |
be4621c6de58
Pygments code coloring rewrite, annotation was moved to vcs whitch had much better lib for that. Fixed code recognition based on mimetypes of filenodes, for better coloring.
Marcin Kuzminski <marcin@python-works.com>
parents:
165
diff
changeset
|
14 from webhelpers.html import literal, HTML, escape |
281
cd2ee462fc2c
implemented yui tooltip, and added it into annotation and main page.
Marcin Kuzminski <marcin@python-works.com>
parents:
278
diff
changeset
|
15 from webhelpers.html.tools import * |
98
01d0f363f36d
added pygments webhelper
Marcin Kuzminski <marcin@python-works.com>
parents:
97
diff
changeset
|
16 from webhelpers.html.builder import make_tag |
250
be4621c6de58
Pygments code coloring rewrite, annotation was moved to vcs whitch had much better lib for that. Fixed code recognition based on mimetypes of filenodes, for better coloring.
Marcin Kuzminski <marcin@python-works.com>
parents:
165
diff
changeset
|
17 from webhelpers.html.tags import auto_discovery_link, checkbox, css_classes, \ |
be4621c6de58
Pygments code coloring rewrite, annotation was moved to vcs whitch had much better lib for that. Fixed code recognition based on mimetypes of filenodes, for better coloring.
Marcin Kuzminski <marcin@python-works.com>
parents:
165
diff
changeset
|
18 end_form, file, form, hidden, image, javascript_link, link_to, link_to_if, \ |
be4621c6de58
Pygments code coloring rewrite, annotation was moved to vcs whitch had much better lib for that. Fixed code recognition based on mimetypes of filenodes, for better coloring.
Marcin Kuzminski <marcin@python-works.com>
parents:
165
diff
changeset
|
19 link_to_unless, ol, required_legend, select, stylesheet_link, submit, text, \ |
281
cd2ee462fc2c
implemented yui tooltip, and added it into annotation and main page.
Marcin Kuzminski <marcin@python-works.com>
parents:
278
diff
changeset
|
20 password, textarea, title, ul, xml_declaration, radio |
250
be4621c6de58
Pygments code coloring rewrite, annotation was moved to vcs whitch had much better lib for that. Fixed code recognition based on mimetypes of filenodes, for better coloring.
Marcin Kuzminski <marcin@python-works.com>
parents:
165
diff
changeset
|
21 from webhelpers.html.tools import auto_link, button_to, highlight, js_obfuscate, \ |
be4621c6de58
Pygments code coloring rewrite, annotation was moved to vcs whitch had much better lib for that. Fixed code recognition based on mimetypes of filenodes, for better coloring.
Marcin Kuzminski <marcin@python-works.com>
parents:
165
diff
changeset
|
22 mail_to, strip_links, strip_tags, tag_re |
be4621c6de58
Pygments code coloring rewrite, annotation was moved to vcs whitch had much better lib for that. Fixed code recognition based on mimetypes of filenodes, for better coloring.
Marcin Kuzminski <marcin@python-works.com>
parents:
165
diff
changeset
|
23 from webhelpers.number import format_byte_size, format_bit_size |
0 | 24 from webhelpers.pylonslib import Flash as _Flash |
25 from webhelpers.pylonslib.secure_form import secure_form | |
250
be4621c6de58
Pygments code coloring rewrite, annotation was moved to vcs whitch had much better lib for that. Fixed code recognition based on mimetypes of filenodes, for better coloring.
Marcin Kuzminski <marcin@python-works.com>
parents:
165
diff
changeset
|
26 from webhelpers.text import chop_at, collapse, convert_accented_entities, \ |
be4621c6de58
Pygments code coloring rewrite, annotation was moved to vcs whitch had much better lib for that. Fixed code recognition based on mimetypes of filenodes, for better coloring.
Marcin Kuzminski <marcin@python-works.com>
parents:
165
diff
changeset
|
27 convert_misc_entities, lchop, plural, rchop, remove_formatting, \ |
281
cd2ee462fc2c
implemented yui tooltip, and added it into annotation and main page.
Marcin Kuzminski <marcin@python-works.com>
parents:
278
diff
changeset
|
28 replace_whitespace, urlify, truncate, wrap_paragraphs |
635
fd63782c4426
Fixed age, for new vcs implementation. Removed all obsolete date formatters
Marcin Kuzminski <marcin@python-works.com>
parents:
631
diff
changeset
|
29 from webhelpers.date import time_ago_in_words |
0 | 30 |
698
4cd0709b6d4b
fixes #65, Added reset buttons to edit forms
Marcin Kuzminski <marcin@python-works.com>
parents:
668
diff
changeset
|
31 from webhelpers.html.tags import _set_input_attrs, _set_id_attr, \ |
4cd0709b6d4b
fixes #65, Added reset buttons to edit forms
Marcin Kuzminski <marcin@python-works.com>
parents:
668
diff
changeset
|
32 convert_boolean_attrs, NotGiven |
4cd0709b6d4b
fixes #65, Added reset buttons to edit forms
Marcin Kuzminski <marcin@python-works.com>
parents:
668
diff
changeset
|
33 |
4cd0709b6d4b
fixes #65, Added reset buttons to edit forms
Marcin Kuzminski <marcin@python-works.com>
parents:
668
diff
changeset
|
34 def _reset(name, value=None, id=NotGiven, type="reset", **attrs): |
899
d65843e07d3c
Added message tooltip into journal revisions in push.
Marcin Kuzminski <marcin@python-works.com>
parents:
864
diff
changeset
|
35 """Reset button |
d65843e07d3c
Added message tooltip into journal revisions in push.
Marcin Kuzminski <marcin@python-works.com>
parents:
864
diff
changeset
|
36 """ |
698
4cd0709b6d4b
fixes #65, Added reset buttons to edit forms
Marcin Kuzminski <marcin@python-works.com>
parents:
668
diff
changeset
|
37 _set_input_attrs(attrs, type, name, value) |
4cd0709b6d4b
fixes #65, Added reset buttons to edit forms
Marcin Kuzminski <marcin@python-works.com>
parents:
668
diff
changeset
|
38 _set_id_attr(attrs, id, name) |
4cd0709b6d4b
fixes #65, Added reset buttons to edit forms
Marcin Kuzminski <marcin@python-works.com>
parents:
668
diff
changeset
|
39 convert_boolean_attrs(attrs, ["disabled"]) |
4cd0709b6d4b
fixes #65, Added reset buttons to edit forms
Marcin Kuzminski <marcin@python-works.com>
parents:
668
diff
changeset
|
40 return HTML.input(**attrs) |
4cd0709b6d4b
fixes #65, Added reset buttons to edit forms
Marcin Kuzminski <marcin@python-works.com>
parents:
668
diff
changeset
|
41 |
4cd0709b6d4b
fixes #65, Added reset buttons to edit forms
Marcin Kuzminski <marcin@python-works.com>
parents:
668
diff
changeset
|
42 reset = _reset |
4cd0709b6d4b
fixes #65, Added reset buttons to edit forms
Marcin Kuzminski <marcin@python-works.com>
parents:
668
diff
changeset
|
43 |
734
49eb69d78988
implemented user dashboards, and following system.
Marcin Kuzminski <marcin@python-works.com>
parents:
718
diff
changeset
|
44 |
49eb69d78988
implemented user dashboards, and following system.
Marcin Kuzminski <marcin@python-works.com>
parents:
718
diff
changeset
|
45 def get_token(): |
49eb69d78988
implemented user dashboards, and following system.
Marcin Kuzminski <marcin@python-works.com>
parents:
718
diff
changeset
|
46 """Return the current authentication token, creating one if one doesn't |
49eb69d78988
implemented user dashboards, and following system.
Marcin Kuzminski <marcin@python-works.com>
parents:
718
diff
changeset
|
47 already exist. |
49eb69d78988
implemented user dashboards, and following system.
Marcin Kuzminski <marcin@python-works.com>
parents:
718
diff
changeset
|
48 """ |
49eb69d78988
implemented user dashboards, and following system.
Marcin Kuzminski <marcin@python-works.com>
parents:
718
diff
changeset
|
49 token_key = "_authentication_token" |
49eb69d78988
implemented user dashboards, and following system.
Marcin Kuzminski <marcin@python-works.com>
parents:
718
diff
changeset
|
50 from pylons import session |
49eb69d78988
implemented user dashboards, and following system.
Marcin Kuzminski <marcin@python-works.com>
parents:
718
diff
changeset
|
51 if not token_key in session: |
49eb69d78988
implemented user dashboards, and following system.
Marcin Kuzminski <marcin@python-works.com>
parents:
718
diff
changeset
|
52 try: |
49eb69d78988
implemented user dashboards, and following system.
Marcin Kuzminski <marcin@python-works.com>
parents:
718
diff
changeset
|
53 token = hashlib.sha1(str(random.getrandbits(128))).hexdigest() |
49eb69d78988
implemented user dashboards, and following system.
Marcin Kuzminski <marcin@python-works.com>
parents:
718
diff
changeset
|
54 except AttributeError: # Python < 2.4 |
49eb69d78988
implemented user dashboards, and following system.
Marcin Kuzminski <marcin@python-works.com>
parents:
718
diff
changeset
|
55 token = hashlib.sha1(str(random.randrange(2 ** 128))).hexdigest() |
49eb69d78988
implemented user dashboards, and following system.
Marcin Kuzminski <marcin@python-works.com>
parents:
718
diff
changeset
|
56 session[token_key] = token |
49eb69d78988
implemented user dashboards, and following system.
Marcin Kuzminski <marcin@python-works.com>
parents:
718
diff
changeset
|
57 if hasattr(session, 'save'): |
49eb69d78988
implemented user dashboards, and following system.
Marcin Kuzminski <marcin@python-works.com>
parents:
718
diff
changeset
|
58 session.save() |
49eb69d78988
implemented user dashboards, and following system.
Marcin Kuzminski <marcin@python-works.com>
parents:
718
diff
changeset
|
59 return session[token_key] |
49eb69d78988
implemented user dashboards, and following system.
Marcin Kuzminski <marcin@python-works.com>
parents:
718
diff
changeset
|
60 |
0 | 61 class _GetError(object): |
899
d65843e07d3c
Added message tooltip into journal revisions in push.
Marcin Kuzminski <marcin@python-works.com>
parents:
864
diff
changeset
|
62 """Get error from form_errors, and represent it as span wrapped error |
d65843e07d3c
Added message tooltip into journal revisions in push.
Marcin Kuzminski <marcin@python-works.com>
parents:
864
diff
changeset
|
63 message |
d65843e07d3c
Added message tooltip into journal revisions in push.
Marcin Kuzminski <marcin@python-works.com>
parents:
864
diff
changeset
|
64 |
d65843e07d3c
Added message tooltip into journal revisions in push.
Marcin Kuzminski <marcin@python-works.com>
parents:
864
diff
changeset
|
65 :param field_name: field to fetch errors for |
d65843e07d3c
Added message tooltip into journal revisions in push.
Marcin Kuzminski <marcin@python-works.com>
parents:
864
diff
changeset
|
66 :param form_errors: form errors dict |
d65843e07d3c
Added message tooltip into journal revisions in push.
Marcin Kuzminski <marcin@python-works.com>
parents:
864
diff
changeset
|
67 """ |
0 | 68 |
69 def __call__(self, field_name, form_errors): | |
70 tmpl = """<span class="error_msg">%s</span>""" | |
71 if form_errors and form_errors.has_key(field_name): | |
72 return literal(tmpl % form_errors.get(field_name)) | |
73 | |
281
cd2ee462fc2c
implemented yui tooltip, and added it into annotation and main page.
Marcin Kuzminski <marcin@python-works.com>
parents:
278
diff
changeset
|
74 get_error = _GetError() |
cd2ee462fc2c
implemented yui tooltip, and added it into annotation and main page.
Marcin Kuzminski <marcin@python-works.com>
parents:
278
diff
changeset
|
75 |
cd2ee462fc2c
implemented yui tooltip, and added it into annotation and main page.
Marcin Kuzminski <marcin@python-works.com>
parents:
278
diff
changeset
|
76 def recursive_replace(str, replace=' '): |
899
d65843e07d3c
Added message tooltip into journal revisions in push.
Marcin Kuzminski <marcin@python-works.com>
parents:
864
diff
changeset
|
77 """Recursive replace of given sign to just one instance |
d65843e07d3c
Added message tooltip into journal revisions in push.
Marcin Kuzminski <marcin@python-works.com>
parents:
864
diff
changeset
|
78 |
604
5cc96df705b9
fixed @repo into :repo for docs
Marcin Kuzminski <marcin@python-works.com>
parents:
547
diff
changeset
|
79 :param str: given string |
899
d65843e07d3c
Added message tooltip into journal revisions in push.
Marcin Kuzminski <marcin@python-works.com>
parents:
864
diff
changeset
|
80 :param replace: char to find and replace multiple instances |
281
cd2ee462fc2c
implemented yui tooltip, and added it into annotation and main page.
Marcin Kuzminski <marcin@python-works.com>
parents:
278
diff
changeset
|
81 |
cd2ee462fc2c
implemented yui tooltip, and added it into annotation and main page.
Marcin Kuzminski <marcin@python-works.com>
parents:
278
diff
changeset
|
82 Examples:: |
cd2ee462fc2c
implemented yui tooltip, and added it into annotation and main page.
Marcin Kuzminski <marcin@python-works.com>
parents:
278
diff
changeset
|
83 >>> recursive_replace("Mighty---Mighty-Bo--sstones",'-') |
cd2ee462fc2c
implemented yui tooltip, and added it into annotation and main page.
Marcin Kuzminski <marcin@python-works.com>
parents:
278
diff
changeset
|
84 'Mighty-Mighty-Bo-sstones' |
cd2ee462fc2c
implemented yui tooltip, and added it into annotation and main page.
Marcin Kuzminski <marcin@python-works.com>
parents:
278
diff
changeset
|
85 """ |
cd2ee462fc2c
implemented yui tooltip, and added it into annotation and main page.
Marcin Kuzminski <marcin@python-works.com>
parents:
278
diff
changeset
|
86 |
cd2ee462fc2c
implemented yui tooltip, and added it into annotation and main page.
Marcin Kuzminski <marcin@python-works.com>
parents:
278
diff
changeset
|
87 if str.find(replace * 2) == -1: |
cd2ee462fc2c
implemented yui tooltip, and added it into annotation and main page.
Marcin Kuzminski <marcin@python-works.com>
parents:
278
diff
changeset
|
88 return str |
cd2ee462fc2c
implemented yui tooltip, and added it into annotation and main page.
Marcin Kuzminski <marcin@python-works.com>
parents:
278
diff
changeset
|
89 else: |
cd2ee462fc2c
implemented yui tooltip, and added it into annotation and main page.
Marcin Kuzminski <marcin@python-works.com>
parents:
278
diff
changeset
|
90 str = str.replace(replace * 2, replace) |
631
05528ad948c4
Hacking for git support,and new faster repo scan
Marcin Kuzminski <marcin@python-works.com>
parents:
604
diff
changeset
|
91 return recursive_replace(str, replace) |
281
cd2ee462fc2c
implemented yui tooltip, and added it into annotation and main page.
Marcin Kuzminski <marcin@python-works.com>
parents:
278
diff
changeset
|
92 |
cd2ee462fc2c
implemented yui tooltip, and added it into annotation and main page.
Marcin Kuzminski <marcin@python-works.com>
parents:
278
diff
changeset
|
93 class _ToolTip(object): |
631
05528ad948c4
Hacking for git support,and new faster repo scan
Marcin Kuzminski <marcin@python-works.com>
parents:
604
diff
changeset
|
94 |
281
cd2ee462fc2c
implemented yui tooltip, and added it into annotation and main page.
Marcin Kuzminski <marcin@python-works.com>
parents:
278
diff
changeset
|
95 def __call__(self, tooltip_title, trim_at=50): |
905
1294f2baf2bc
added wrapping of long tooltips in index page
Marcin Kuzminski <marcin@python-works.com>
parents:
904
diff
changeset
|
96 """Special function just to wrap our text into nice formatted |
1294f2baf2bc
added wrapping of long tooltips in index page
Marcin Kuzminski <marcin@python-works.com>
parents:
904
diff
changeset
|
97 autowrapped text |
1294f2baf2bc
added wrapping of long tooltips in index page
Marcin Kuzminski <marcin@python-works.com>
parents:
904
diff
changeset
|
98 |
604
5cc96df705b9
fixed @repo into :repo for docs
Marcin Kuzminski <marcin@python-works.com>
parents:
547
diff
changeset
|
99 :param tooltip_title: |
281
cd2ee462fc2c
implemented yui tooltip, and added it into annotation and main page.
Marcin Kuzminski <marcin@python-works.com>
parents:
278
diff
changeset
|
100 """ |
631
05528ad948c4
Hacking for git support,and new faster repo scan
Marcin Kuzminski <marcin@python-works.com>
parents:
604
diff
changeset
|
101 |
444
0668919c307c
fixed escaping in tooltip
Marcin Kuzminski <marcin@python-works.com>
parents:
443
diff
changeset
|
102 return wrap_paragraphs(escape(tooltip_title), trim_at)\ |
0668919c307c
fixed escaping in tooltip
Marcin Kuzminski <marcin@python-works.com>
parents:
443
diff
changeset
|
103 .replace('\n', '<br/>') |
631
05528ad948c4
Hacking for git support,and new faster repo scan
Marcin Kuzminski <marcin@python-works.com>
parents:
604
diff
changeset
|
104 |
281
cd2ee462fc2c
implemented yui tooltip, and added it into annotation and main page.
Marcin Kuzminski <marcin@python-works.com>
parents:
278
diff
changeset
|
105 def activate(self): |
904
82aaf4e71817
reimplemented tooltip, refactored tooltip_title into title for proper html,
Marcin Kuzminski <marcin@python-works.com>
parents:
899
diff
changeset
|
106 """Adds tooltip mechanism to the given Html all tooltips have to have |
82aaf4e71817
reimplemented tooltip, refactored tooltip_title into title for proper html,
Marcin Kuzminski <marcin@python-works.com>
parents:
899
diff
changeset
|
107 set class `tooltip` and set attribute `tooltip_title`. |
82aaf4e71817
reimplemented tooltip, refactored tooltip_title into title for proper html,
Marcin Kuzminski <marcin@python-works.com>
parents:
899
diff
changeset
|
108 Then a tooltip will be generated based on that. All with yui js tooltip |
281
cd2ee462fc2c
implemented yui tooltip, and added it into annotation and main page.
Marcin Kuzminski <marcin@python-works.com>
parents:
278
diff
changeset
|
109 """ |
631
05528ad948c4
Hacking for git support,and new faster repo scan
Marcin Kuzminski <marcin@python-works.com>
parents:
604
diff
changeset
|
110 |
281
cd2ee462fc2c
implemented yui tooltip, and added it into annotation and main page.
Marcin Kuzminski <marcin@python-works.com>
parents:
278
diff
changeset
|
111 js = ''' |
cd2ee462fc2c
implemented yui tooltip, and added it into annotation and main page.
Marcin Kuzminski <marcin@python-works.com>
parents:
278
diff
changeset
|
112 YAHOO.util.Event.onDOMReady(function(){ |
cd2ee462fc2c
implemented yui tooltip, and added it into annotation and main page.
Marcin Kuzminski <marcin@python-works.com>
parents:
278
diff
changeset
|
113 function toolTipsId(){ |
cd2ee462fc2c
implemented yui tooltip, and added it into annotation and main page.
Marcin Kuzminski <marcin@python-works.com>
parents:
278
diff
changeset
|
114 var ids = []; |
cd2ee462fc2c
implemented yui tooltip, and added it into annotation and main page.
Marcin Kuzminski <marcin@python-works.com>
parents:
278
diff
changeset
|
115 var tts = YAHOO.util.Dom.getElementsByClassName('tooltip'); |
cd2ee462fc2c
implemented yui tooltip, and added it into annotation and main page.
Marcin Kuzminski <marcin@python-works.com>
parents:
278
diff
changeset
|
116 |
cd2ee462fc2c
implemented yui tooltip, and added it into annotation and main page.
Marcin Kuzminski <marcin@python-works.com>
parents:
278
diff
changeset
|
117 for (var i = 0; i < tts.length; i++) { |
904
82aaf4e71817
reimplemented tooltip, refactored tooltip_title into title for proper html,
Marcin Kuzminski <marcin@python-works.com>
parents:
899
diff
changeset
|
118 //if element doesn't not have and id autogenerate one for tooltip |
281
cd2ee462fc2c
implemented yui tooltip, and added it into annotation and main page.
Marcin Kuzminski <marcin@python-works.com>
parents:
278
diff
changeset
|
119 |
cd2ee462fc2c
implemented yui tooltip, and added it into annotation and main page.
Marcin Kuzminski <marcin@python-works.com>
parents:
278
diff
changeset
|
120 if (!tts[i].id){ |
cd2ee462fc2c
implemented yui tooltip, and added it into annotation and main page.
Marcin Kuzminski <marcin@python-works.com>
parents:
278
diff
changeset
|
121 tts[i].id='tt'+i*100; |
cd2ee462fc2c
implemented yui tooltip, and added it into annotation and main page.
Marcin Kuzminski <marcin@python-works.com>
parents:
278
diff
changeset
|
122 } |
cd2ee462fc2c
implemented yui tooltip, and added it into annotation and main page.
Marcin Kuzminski <marcin@python-works.com>
parents:
278
diff
changeset
|
123 ids.push(tts[i].id); |
cd2ee462fc2c
implemented yui tooltip, and added it into annotation and main page.
Marcin Kuzminski <marcin@python-works.com>
parents:
278
diff
changeset
|
124 } |
cd2ee462fc2c
implemented yui tooltip, and added it into annotation and main page.
Marcin Kuzminski <marcin@python-works.com>
parents:
278
diff
changeset
|
125 return ids |
cd2ee462fc2c
implemented yui tooltip, and added it into annotation and main page.
Marcin Kuzminski <marcin@python-works.com>
parents:
278
diff
changeset
|
126 }; |
cd2ee462fc2c
implemented yui tooltip, and added it into annotation and main page.
Marcin Kuzminski <marcin@python-works.com>
parents:
278
diff
changeset
|
127 var myToolTips = new YAHOO.widget.Tooltip("tooltip", { |
cd2ee462fc2c
implemented yui tooltip, and added it into annotation and main page.
Marcin Kuzminski <marcin@python-works.com>
parents:
278
diff
changeset
|
128 context: toolTipsId(), |
cd2ee462fc2c
implemented yui tooltip, and added it into annotation and main page.
Marcin Kuzminski <marcin@python-works.com>
parents:
278
diff
changeset
|
129 monitorresize:false, |
cd2ee462fc2c
implemented yui tooltip, and added it into annotation and main page.
Marcin Kuzminski <marcin@python-works.com>
parents:
278
diff
changeset
|
130 xyoffset :[0,0], |
cd2ee462fc2c
implemented yui tooltip, and added it into annotation and main page.
Marcin Kuzminski <marcin@python-works.com>
parents:
278
diff
changeset
|
131 autodismissdelay:300000, |
cd2ee462fc2c
implemented yui tooltip, and added it into annotation and main page.
Marcin Kuzminski <marcin@python-works.com>
parents:
278
diff
changeset
|
132 hidedelay:5, |
cd2ee462fc2c
implemented yui tooltip, and added it into annotation and main page.
Marcin Kuzminski <marcin@python-works.com>
parents:
278
diff
changeset
|
133 showdelay:20, |
cd2ee462fc2c
implemented yui tooltip, and added it into annotation and main page.
Marcin Kuzminski <marcin@python-works.com>
parents:
278
diff
changeset
|
134 }); |
cd2ee462fc2c
implemented yui tooltip, and added it into annotation and main page.
Marcin Kuzminski <marcin@python-works.com>
parents:
278
diff
changeset
|
135 |
cd2ee462fc2c
implemented yui tooltip, and added it into annotation and main page.
Marcin Kuzminski <marcin@python-works.com>
parents:
278
diff
changeset
|
136 // Set the text for the tooltip just before we display it. Lazy method |
cd2ee462fc2c
implemented yui tooltip, and added it into annotation and main page.
Marcin Kuzminski <marcin@python-works.com>
parents:
278
diff
changeset
|
137 myToolTips.contextTriggerEvent.subscribe( |
cd2ee462fc2c
implemented yui tooltip, and added it into annotation and main page.
Marcin Kuzminski <marcin@python-works.com>
parents:
278
diff
changeset
|
138 function(type, args) { |
292
d7aeae23c56d
tooltip updates, added display layout managment inspired by jQuerys tipsy.
Marcin Kuzminski <marcin@python-works.com>
parents:
287
diff
changeset
|
139 |
281
cd2ee462fc2c
implemented yui tooltip, and added it into annotation and main page.
Marcin Kuzminski <marcin@python-works.com>
parents:
278
diff
changeset
|
140 var context = args[0]; |
292
d7aeae23c56d
tooltip updates, added display layout managment inspired by jQuerys tipsy.
Marcin Kuzminski <marcin@python-works.com>
parents:
287
diff
changeset
|
141 |
904
82aaf4e71817
reimplemented tooltip, refactored tooltip_title into title for proper html,
Marcin Kuzminski <marcin@python-works.com>
parents:
899
diff
changeset
|
142 //positioning of tooltip |
82aaf4e71817
reimplemented tooltip, refactored tooltip_title into title for proper html,
Marcin Kuzminski <marcin@python-works.com>
parents:
899
diff
changeset
|
143 var tt_w = this.element.clientWidth;//tooltip width |
82aaf4e71817
reimplemented tooltip, refactored tooltip_title into title for proper html,
Marcin Kuzminski <marcin@python-works.com>
parents:
899
diff
changeset
|
144 var tt_h = this.element.clientHeight;//tooltip height |
292
d7aeae23c56d
tooltip updates, added display layout managment inspired by jQuerys tipsy.
Marcin Kuzminski <marcin@python-works.com>
parents:
287
diff
changeset
|
145 |
d7aeae23c56d
tooltip updates, added display layout managment inspired by jQuerys tipsy.
Marcin Kuzminski <marcin@python-works.com>
parents:
287
diff
changeset
|
146 var context_w = context.offsetWidth; |
d7aeae23c56d
tooltip updates, added display layout managment inspired by jQuerys tipsy.
Marcin Kuzminski <marcin@python-works.com>
parents:
287
diff
changeset
|
147 var context_h = context.offsetHeight; |
d7aeae23c56d
tooltip updates, added display layout managment inspired by jQuerys tipsy.
Marcin Kuzminski <marcin@python-works.com>
parents:
287
diff
changeset
|
148 |
d7aeae23c56d
tooltip updates, added display layout managment inspired by jQuerys tipsy.
Marcin Kuzminski <marcin@python-works.com>
parents:
287
diff
changeset
|
149 var pos_x = YAHOO.util.Dom.getX(context); |
d7aeae23c56d
tooltip updates, added display layout managment inspired by jQuerys tipsy.
Marcin Kuzminski <marcin@python-works.com>
parents:
287
diff
changeset
|
150 var pos_y = YAHOO.util.Dom.getY(context); |
286
6603c9891b91
tooltip display bugfix
Marcin Kuzminski <marcin@python-works.com>
parents:
284
diff
changeset
|
151 |
904
82aaf4e71817
reimplemented tooltip, refactored tooltip_title into title for proper html,
Marcin Kuzminski <marcin@python-works.com>
parents:
899
diff
changeset
|
152 var display_strategy = 'right'; |
293
68dc70295a76
Ie graph support.
Marcin Kuzminski <marcin@python-works.com>
parents:
292
diff
changeset
|
153 var xy_pos = [0,0]; |
292
d7aeae23c56d
tooltip updates, added display layout managment inspired by jQuerys tipsy.
Marcin Kuzminski <marcin@python-works.com>
parents:
287
diff
changeset
|
154 switch (display_strategy){ |
d7aeae23c56d
tooltip updates, added display layout managment inspired by jQuerys tipsy.
Marcin Kuzminski <marcin@python-works.com>
parents:
287
diff
changeset
|
155 |
d7aeae23c56d
tooltip updates, added display layout managment inspired by jQuerys tipsy.
Marcin Kuzminski <marcin@python-works.com>
parents:
287
diff
changeset
|
156 case 'top': |
d7aeae23c56d
tooltip updates, added display layout managment inspired by jQuerys tipsy.
Marcin Kuzminski <marcin@python-works.com>
parents:
287
diff
changeset
|
157 var cur_x = (pos_x+context_w/2)-(tt_w/2); |
904
82aaf4e71817
reimplemented tooltip, refactored tooltip_title into title for proper html,
Marcin Kuzminski <marcin@python-works.com>
parents:
899
diff
changeset
|
158 var cur_y = (pos_y-tt_h-4); |
292
d7aeae23c56d
tooltip updates, added display layout managment inspired by jQuerys tipsy.
Marcin Kuzminski <marcin@python-works.com>
parents:
287
diff
changeset
|
159 xy_pos = [cur_x,cur_y]; |
d7aeae23c56d
tooltip updates, added display layout managment inspired by jQuerys tipsy.
Marcin Kuzminski <marcin@python-works.com>
parents:
287
diff
changeset
|
160 break; |
d7aeae23c56d
tooltip updates, added display layout managment inspired by jQuerys tipsy.
Marcin Kuzminski <marcin@python-works.com>
parents:
287
diff
changeset
|
161 case 'bottom': |
d7aeae23c56d
tooltip updates, added display layout managment inspired by jQuerys tipsy.
Marcin Kuzminski <marcin@python-works.com>
parents:
287
diff
changeset
|
162 var cur_x = (pos_x+context_w/2)-(tt_w/2); |
d7aeae23c56d
tooltip updates, added display layout managment inspired by jQuerys tipsy.
Marcin Kuzminski <marcin@python-works.com>
parents:
287
diff
changeset
|
163 var cur_y = pos_y+context_h+4; |
d7aeae23c56d
tooltip updates, added display layout managment inspired by jQuerys tipsy.
Marcin Kuzminski <marcin@python-works.com>
parents:
287
diff
changeset
|
164 xy_pos = [cur_x,cur_y]; |
d7aeae23c56d
tooltip updates, added display layout managment inspired by jQuerys tipsy.
Marcin Kuzminski <marcin@python-works.com>
parents:
287
diff
changeset
|
165 break; |
d7aeae23c56d
tooltip updates, added display layout managment inspired by jQuerys tipsy.
Marcin Kuzminski <marcin@python-works.com>
parents:
287
diff
changeset
|
166 case 'left': |
d7aeae23c56d
tooltip updates, added display layout managment inspired by jQuerys tipsy.
Marcin Kuzminski <marcin@python-works.com>
parents:
287
diff
changeset
|
167 var cur_x = (pos_x-tt_w-4); |
d7aeae23c56d
tooltip updates, added display layout managment inspired by jQuerys tipsy.
Marcin Kuzminski <marcin@python-works.com>
parents:
287
diff
changeset
|
168 var cur_y = pos_y-((tt_h/2)-context_h/2); |
d7aeae23c56d
tooltip updates, added display layout managment inspired by jQuerys tipsy.
Marcin Kuzminski <marcin@python-works.com>
parents:
287
diff
changeset
|
169 xy_pos = [cur_x,cur_y]; |
d7aeae23c56d
tooltip updates, added display layout managment inspired by jQuerys tipsy.
Marcin Kuzminski <marcin@python-works.com>
parents:
287
diff
changeset
|
170 break; |
d7aeae23c56d
tooltip updates, added display layout managment inspired by jQuerys tipsy.
Marcin Kuzminski <marcin@python-works.com>
parents:
287
diff
changeset
|
171 case 'right': |
d7aeae23c56d
tooltip updates, added display layout managment inspired by jQuerys tipsy.
Marcin Kuzminski <marcin@python-works.com>
parents:
287
diff
changeset
|
172 var cur_x = (pos_x+context_w+4); |
d7aeae23c56d
tooltip updates, added display layout managment inspired by jQuerys tipsy.
Marcin Kuzminski <marcin@python-works.com>
parents:
287
diff
changeset
|
173 var cur_y = pos_y-((tt_h/2)-context_h/2); |
d7aeae23c56d
tooltip updates, added display layout managment inspired by jQuerys tipsy.
Marcin Kuzminski <marcin@python-works.com>
parents:
287
diff
changeset
|
174 xy_pos = [cur_x,cur_y]; |
d7aeae23c56d
tooltip updates, added display layout managment inspired by jQuerys tipsy.
Marcin Kuzminski <marcin@python-works.com>
parents:
287
diff
changeset
|
175 break; |
293
68dc70295a76
Ie graph support.
Marcin Kuzminski <marcin@python-works.com>
parents:
292
diff
changeset
|
176 default: |
68dc70295a76
Ie graph support.
Marcin Kuzminski <marcin@python-works.com>
parents:
292
diff
changeset
|
177 var cur_x = (pos_x+context_w/2)-(tt_w/2); |
68dc70295a76
Ie graph support.
Marcin Kuzminski <marcin@python-works.com>
parents:
292
diff
changeset
|
178 var cur_y = pos_y-tt_h-4; |
68dc70295a76
Ie graph support.
Marcin Kuzminski <marcin@python-works.com>
parents:
292
diff
changeset
|
179 xy_pos = [cur_x,cur_y]; |
68dc70295a76
Ie graph support.
Marcin Kuzminski <marcin@python-works.com>
parents:
292
diff
changeset
|
180 break; |
68dc70295a76
Ie graph support.
Marcin Kuzminski <marcin@python-works.com>
parents:
292
diff
changeset
|
181 |
292
d7aeae23c56d
tooltip updates, added display layout managment inspired by jQuerys tipsy.
Marcin Kuzminski <marcin@python-works.com>
parents:
287
diff
changeset
|
182 } |
d7aeae23c56d
tooltip updates, added display layout managment inspired by jQuerys tipsy.
Marcin Kuzminski <marcin@python-works.com>
parents:
287
diff
changeset
|
183 |
d7aeae23c56d
tooltip updates, added display layout managment inspired by jQuerys tipsy.
Marcin Kuzminski <marcin@python-works.com>
parents:
287
diff
changeset
|
184 this.cfg.setProperty("xy",xy_pos); |
286
6603c9891b91
tooltip display bugfix
Marcin Kuzminski <marcin@python-works.com>
parents:
284
diff
changeset
|
185 |
281
cd2ee462fc2c
implemented yui tooltip, and added it into annotation and main page.
Marcin Kuzminski <marcin@python-works.com>
parents:
278
diff
changeset
|
186 }); |
292
d7aeae23c56d
tooltip updates, added display layout managment inspired by jQuerys tipsy.
Marcin Kuzminski <marcin@python-works.com>
parents:
287
diff
changeset
|
187 |
286
6603c9891b91
tooltip display bugfix
Marcin Kuzminski <marcin@python-works.com>
parents:
284
diff
changeset
|
188 //Mouse out |
6603c9891b91
tooltip display bugfix
Marcin Kuzminski <marcin@python-works.com>
parents:
284
diff
changeset
|
189 myToolTips.contextMouseOutEvent.subscribe( |
6603c9891b91
tooltip display bugfix
Marcin Kuzminski <marcin@python-works.com>
parents:
284
diff
changeset
|
190 function(type, args) { |
6603c9891b91
tooltip display bugfix
Marcin Kuzminski <marcin@python-works.com>
parents:
284
diff
changeset
|
191 var context = args[0]; |
6603c9891b91
tooltip display bugfix
Marcin Kuzminski <marcin@python-works.com>
parents:
284
diff
changeset
|
192 |
6603c9891b91
tooltip display bugfix
Marcin Kuzminski <marcin@python-works.com>
parents:
284
diff
changeset
|
193 }); |
281
cd2ee462fc2c
implemented yui tooltip, and added it into annotation and main page.
Marcin Kuzminski <marcin@python-works.com>
parents:
278
diff
changeset
|
194 }); |
631
05528ad948c4
Hacking for git support,and new faster repo scan
Marcin Kuzminski <marcin@python-works.com>
parents:
604
diff
changeset
|
195 ''' |
281
cd2ee462fc2c
implemented yui tooltip, and added it into annotation and main page.
Marcin Kuzminski <marcin@python-works.com>
parents:
278
diff
changeset
|
196 return literal(js) |
cd2ee462fc2c
implemented yui tooltip, and added it into annotation and main page.
Marcin Kuzminski <marcin@python-works.com>
parents:
278
diff
changeset
|
197 |
cd2ee462fc2c
implemented yui tooltip, and added it into annotation and main page.
Marcin Kuzminski <marcin@python-works.com>
parents:
278
diff
changeset
|
198 tooltip = _ToolTip() |
cd2ee462fc2c
implemented yui tooltip, and added it into annotation and main page.
Marcin Kuzminski <marcin@python-works.com>
parents:
278
diff
changeset
|
199 |
102
2dc0c8e4f384
Updated tempaltes, added file browser breadcrumbs, and feed icons
Marcin Kuzminski <marcin@python-works.com>
parents:
98
diff
changeset
|
200 class _FilesBreadCrumbs(object): |
631
05528ad948c4
Hacking for git support,and new faster repo scan
Marcin Kuzminski <marcin@python-works.com>
parents:
604
diff
changeset
|
201 |
102
2dc0c8e4f384
Updated tempaltes, added file browser breadcrumbs, and feed icons
Marcin Kuzminski <marcin@python-works.com>
parents:
98
diff
changeset
|
202 def __call__(self, repo_name, rev, paths): |
955
129eb072b8a8
fixes for #99, added casting to unicode for int chars as utf-8 files
Marcin Kuzminski <marcin@python-works.com>
parents:
953
diff
changeset
|
203 if isinstance(paths, str): |
129eb072b8a8
fixes for #99, added casting to unicode for int chars as utf-8 files
Marcin Kuzminski <marcin@python-works.com>
parents:
953
diff
changeset
|
204 paths = paths.decode('utf-8') |
287
5827c739b0bd
webhelpers breadcrumbs bugfix
Marcin Kuzminski <marcin@python-works.com>
parents:
286
diff
changeset
|
205 url_l = [link_to(repo_name, url('files_home', |
5827c739b0bd
webhelpers breadcrumbs bugfix
Marcin Kuzminski <marcin@python-works.com>
parents:
286
diff
changeset
|
206 repo_name=repo_name, |
5827c739b0bd
webhelpers breadcrumbs bugfix
Marcin Kuzminski <marcin@python-works.com>
parents:
286
diff
changeset
|
207 revision=rev, f_path=''))] |
5827c739b0bd
webhelpers breadcrumbs bugfix
Marcin Kuzminski <marcin@python-works.com>
parents:
286
diff
changeset
|
208 paths_l = paths.split('/') |
740
9279dfedcf93
fixed python2.5 incompatible enumerate calls
Marcin Kuzminski <marcin@python-works.com>
parents:
735
diff
changeset
|
209 for cnt, p in enumerate(paths_l): |
102
2dc0c8e4f384
Updated tempaltes, added file browser breadcrumbs, and feed icons
Marcin Kuzminski <marcin@python-works.com>
parents:
98
diff
changeset
|
210 if p != '': |
287
5827c739b0bd
webhelpers breadcrumbs bugfix
Marcin Kuzminski <marcin@python-works.com>
parents:
286
diff
changeset
|
211 url_l.append(link_to(p, url('files_home', |
5827c739b0bd
webhelpers breadcrumbs bugfix
Marcin Kuzminski <marcin@python-works.com>
parents:
286
diff
changeset
|
212 repo_name=repo_name, |
5827c739b0bd
webhelpers breadcrumbs bugfix
Marcin Kuzminski <marcin@python-works.com>
parents:
286
diff
changeset
|
213 revision=rev, |
740
9279dfedcf93
fixed python2.5 incompatible enumerate calls
Marcin Kuzminski <marcin@python-works.com>
parents:
735
diff
changeset
|
214 f_path='/'.join(paths_l[:cnt + 1])))) |
97
be0096a02772
added helper for filesize
Marcin Kuzminski <marcin@python-works.com>
parents:
94
diff
changeset
|
215 |
448
4679105ef03e
more css html fixes (+cleanups), rewrote definition list for files
Marcin Kuzminski <marcin@python-works.com>
parents:
444
diff
changeset
|
216 return literal('/'.join(url_l)) |
98
01d0f363f36d
added pygments webhelper
Marcin Kuzminski <marcin@python-works.com>
parents:
97
diff
changeset
|
217 |
281
cd2ee462fc2c
implemented yui tooltip, and added it into annotation and main page.
Marcin Kuzminski <marcin@python-works.com>
parents:
278
diff
changeset
|
218 files_breadcrumbs = _FilesBreadCrumbs() |
899
d65843e07d3c
Added message tooltip into journal revisions in push.
Marcin Kuzminski <marcin@python-works.com>
parents:
864
diff
changeset
|
219 |
505
5aba7adff196
little gui change for file source
Marcin Kuzminski <marcin@python-works.com>
parents:
494
diff
changeset
|
220 class CodeHtmlFormatter(HtmlFormatter): |
966
63c91390853c
fixed line number look
Marcin Kuzminski <marcin@python-works.com>
parents:
965
diff
changeset
|
221 """My code Html Formatter for source codes |
63c91390853c
fixed line number look
Marcin Kuzminski <marcin@python-works.com>
parents:
965
diff
changeset
|
222 """ |
281
cd2ee462fc2c
implemented yui tooltip, and added it into annotation and main page.
Marcin Kuzminski <marcin@python-works.com>
parents:
278
diff
changeset
|
223 |
505
5aba7adff196
little gui change for file source
Marcin Kuzminski <marcin@python-works.com>
parents:
494
diff
changeset
|
224 def wrap(self, source, outfile): |
5aba7adff196
little gui change for file source
Marcin Kuzminski <marcin@python-works.com>
parents:
494
diff
changeset
|
225 return self._wrap_div(self._wrap_pre(self._wrap_code(source))) |
5aba7adff196
little gui change for file source
Marcin Kuzminski <marcin@python-works.com>
parents:
494
diff
changeset
|
226 |
5aba7adff196
little gui change for file source
Marcin Kuzminski <marcin@python-works.com>
parents:
494
diff
changeset
|
227 def _wrap_code(self, source): |
740
9279dfedcf93
fixed python2.5 incompatible enumerate calls
Marcin Kuzminski <marcin@python-works.com>
parents:
735
diff
changeset
|
228 for cnt, it in enumerate(source): |
505
5aba7adff196
little gui change for file source
Marcin Kuzminski <marcin@python-works.com>
parents:
494
diff
changeset
|
229 i, t = it |
966
63c91390853c
fixed line number look
Marcin Kuzminski <marcin@python-works.com>
parents:
965
diff
changeset
|
230 t = '<div id="L%s">%s</div>' % (cnt + 1, t) |
505
5aba7adff196
little gui change for file source
Marcin Kuzminski <marcin@python-works.com>
parents:
494
diff
changeset
|
231 yield i, t |
966
63c91390853c
fixed line number look
Marcin Kuzminski <marcin@python-works.com>
parents:
965
diff
changeset
|
232 |
63c91390853c
fixed line number look
Marcin Kuzminski <marcin@python-works.com>
parents:
965
diff
changeset
|
233 def _wrap_tablelinenos(self, inner): |
63c91390853c
fixed line number look
Marcin Kuzminski <marcin@python-works.com>
parents:
965
diff
changeset
|
234 dummyoutfile = StringIO.StringIO() |
63c91390853c
fixed line number look
Marcin Kuzminski <marcin@python-works.com>
parents:
965
diff
changeset
|
235 lncount = 0 |
63c91390853c
fixed line number look
Marcin Kuzminski <marcin@python-works.com>
parents:
965
diff
changeset
|
236 for t, line in inner: |
63c91390853c
fixed line number look
Marcin Kuzminski <marcin@python-works.com>
parents:
965
diff
changeset
|
237 if t: |
63c91390853c
fixed line number look
Marcin Kuzminski <marcin@python-works.com>
parents:
965
diff
changeset
|
238 lncount += 1 |
63c91390853c
fixed line number look
Marcin Kuzminski <marcin@python-works.com>
parents:
965
diff
changeset
|
239 dummyoutfile.write(line) |
63c91390853c
fixed line number look
Marcin Kuzminski <marcin@python-works.com>
parents:
965
diff
changeset
|
240 |
63c91390853c
fixed line number look
Marcin Kuzminski <marcin@python-works.com>
parents:
965
diff
changeset
|
241 fl = self.linenostart |
63c91390853c
fixed line number look
Marcin Kuzminski <marcin@python-works.com>
parents:
965
diff
changeset
|
242 mw = len(str(lncount + fl - 1)) |
63c91390853c
fixed line number look
Marcin Kuzminski <marcin@python-works.com>
parents:
965
diff
changeset
|
243 sp = self.linenospecial |
63c91390853c
fixed line number look
Marcin Kuzminski <marcin@python-works.com>
parents:
965
diff
changeset
|
244 st = self.linenostep |
63c91390853c
fixed line number look
Marcin Kuzminski <marcin@python-works.com>
parents:
965
diff
changeset
|
245 la = self.lineanchors |
63c91390853c
fixed line number look
Marcin Kuzminski <marcin@python-works.com>
parents:
965
diff
changeset
|
246 aln = self.anchorlinenos |
63c91390853c
fixed line number look
Marcin Kuzminski <marcin@python-works.com>
parents:
965
diff
changeset
|
247 nocls = self.noclasses |
63c91390853c
fixed line number look
Marcin Kuzminski <marcin@python-works.com>
parents:
965
diff
changeset
|
248 if sp: |
63c91390853c
fixed line number look
Marcin Kuzminski <marcin@python-works.com>
parents:
965
diff
changeset
|
249 lines = [] |
63c91390853c
fixed line number look
Marcin Kuzminski <marcin@python-works.com>
parents:
965
diff
changeset
|
250 |
63c91390853c
fixed line number look
Marcin Kuzminski <marcin@python-works.com>
parents:
965
diff
changeset
|
251 for i in range(fl, fl + lncount): |
63c91390853c
fixed line number look
Marcin Kuzminski <marcin@python-works.com>
parents:
965
diff
changeset
|
252 if i % st == 0: |
63c91390853c
fixed line number look
Marcin Kuzminski <marcin@python-works.com>
parents:
965
diff
changeset
|
253 if i % sp == 0: |
63c91390853c
fixed line number look
Marcin Kuzminski <marcin@python-works.com>
parents:
965
diff
changeset
|
254 if aln: |
63c91390853c
fixed line number look
Marcin Kuzminski <marcin@python-works.com>
parents:
965
diff
changeset
|
255 lines.append('<a href="#%s%d" class="special">%*d</a>' % |
63c91390853c
fixed line number look
Marcin Kuzminski <marcin@python-works.com>
parents:
965
diff
changeset
|
256 (la, i, mw, i)) |
63c91390853c
fixed line number look
Marcin Kuzminski <marcin@python-works.com>
parents:
965
diff
changeset
|
257 else: |
63c91390853c
fixed line number look
Marcin Kuzminski <marcin@python-works.com>
parents:
965
diff
changeset
|
258 lines.append('<span class="special">%*d</span>' % (mw, i)) |
63c91390853c
fixed line number look
Marcin Kuzminski <marcin@python-works.com>
parents:
965
diff
changeset
|
259 else: |
63c91390853c
fixed line number look
Marcin Kuzminski <marcin@python-works.com>
parents:
965
diff
changeset
|
260 if aln: |
63c91390853c
fixed line number look
Marcin Kuzminski <marcin@python-works.com>
parents:
965
diff
changeset
|
261 lines.append('<a href="#%s%d">%*d</a>' % (la, i, mw, i)) |
63c91390853c
fixed line number look
Marcin Kuzminski <marcin@python-works.com>
parents:
965
diff
changeset
|
262 else: |
63c91390853c
fixed line number look
Marcin Kuzminski <marcin@python-works.com>
parents:
965
diff
changeset
|
263 lines.append('%*d' % (mw, i)) |
63c91390853c
fixed line number look
Marcin Kuzminski <marcin@python-works.com>
parents:
965
diff
changeset
|
264 else: |
63c91390853c
fixed line number look
Marcin Kuzminski <marcin@python-works.com>
parents:
965
diff
changeset
|
265 lines.append('') |
63c91390853c
fixed line number look
Marcin Kuzminski <marcin@python-works.com>
parents:
965
diff
changeset
|
266 ls = '\n'.join(lines) |
63c91390853c
fixed line number look
Marcin Kuzminski <marcin@python-works.com>
parents:
965
diff
changeset
|
267 else: |
63c91390853c
fixed line number look
Marcin Kuzminski <marcin@python-works.com>
parents:
965
diff
changeset
|
268 lines = [] |
63c91390853c
fixed line number look
Marcin Kuzminski <marcin@python-works.com>
parents:
965
diff
changeset
|
269 for i in range(fl, fl + lncount): |
63c91390853c
fixed line number look
Marcin Kuzminski <marcin@python-works.com>
parents:
965
diff
changeset
|
270 if i % st == 0: |
63c91390853c
fixed line number look
Marcin Kuzminski <marcin@python-works.com>
parents:
965
diff
changeset
|
271 if aln: |
63c91390853c
fixed line number look
Marcin Kuzminski <marcin@python-works.com>
parents:
965
diff
changeset
|
272 lines.append('<a href="#%s%d">%*d</a>' % (la, i, mw, i)) |
63c91390853c
fixed line number look
Marcin Kuzminski <marcin@python-works.com>
parents:
965
diff
changeset
|
273 else: |
63c91390853c
fixed line number look
Marcin Kuzminski <marcin@python-works.com>
parents:
965
diff
changeset
|
274 lines.append('%*d' % (mw, i)) |
63c91390853c
fixed line number look
Marcin Kuzminski <marcin@python-works.com>
parents:
965
diff
changeset
|
275 else: |
63c91390853c
fixed line number look
Marcin Kuzminski <marcin@python-works.com>
parents:
965
diff
changeset
|
276 lines.append('') |
63c91390853c
fixed line number look
Marcin Kuzminski <marcin@python-works.com>
parents:
965
diff
changeset
|
277 ls = '\n'.join(lines) |
63c91390853c
fixed line number look
Marcin Kuzminski <marcin@python-works.com>
parents:
965
diff
changeset
|
278 |
63c91390853c
fixed line number look
Marcin Kuzminski <marcin@python-works.com>
parents:
965
diff
changeset
|
279 # in case you wonder about the seemingly redundant <div> here: since the |
63c91390853c
fixed line number look
Marcin Kuzminski <marcin@python-works.com>
parents:
965
diff
changeset
|
280 # content in the other cell also is wrapped in a div, some browsers in |
63c91390853c
fixed line number look
Marcin Kuzminski <marcin@python-works.com>
parents:
965
diff
changeset
|
281 # some configurations seem to mess up the formatting... |
63c91390853c
fixed line number look
Marcin Kuzminski <marcin@python-works.com>
parents:
965
diff
changeset
|
282 if nocls: |
63c91390853c
fixed line number look
Marcin Kuzminski <marcin@python-works.com>
parents:
965
diff
changeset
|
283 yield 0, ('<table class="%stable">' % self.cssclass + |
63c91390853c
fixed line number look
Marcin Kuzminski <marcin@python-works.com>
parents:
965
diff
changeset
|
284 '<tr><td><div class="linenodiv" ' |
63c91390853c
fixed line number look
Marcin Kuzminski <marcin@python-works.com>
parents:
965
diff
changeset
|
285 'style="background-color: #f0f0f0; padding-right: 10px">' |
63c91390853c
fixed line number look
Marcin Kuzminski <marcin@python-works.com>
parents:
965
diff
changeset
|
286 '<pre style="line-height: 125%">' + |
63c91390853c
fixed line number look
Marcin Kuzminski <marcin@python-works.com>
parents:
965
diff
changeset
|
287 ls + '</pre></div></td><td class="code">') |
63c91390853c
fixed line number look
Marcin Kuzminski <marcin@python-works.com>
parents:
965
diff
changeset
|
288 else: |
63c91390853c
fixed line number look
Marcin Kuzminski <marcin@python-works.com>
parents:
965
diff
changeset
|
289 yield 0, ('<table class="%stable">' % self.cssclass + |
63c91390853c
fixed line number look
Marcin Kuzminski <marcin@python-works.com>
parents:
965
diff
changeset
|
290 '<tr><td class="linenos"><div class="linenodiv"><pre>' + |
63c91390853c
fixed line number look
Marcin Kuzminski <marcin@python-works.com>
parents:
965
diff
changeset
|
291 ls + '</pre></div></td><td class="code">') |
63c91390853c
fixed line number look
Marcin Kuzminski <marcin@python-works.com>
parents:
965
diff
changeset
|
292 yield 0, dummyoutfile.getvalue() |
63c91390853c
fixed line number look
Marcin Kuzminski <marcin@python-works.com>
parents:
965
diff
changeset
|
293 yield 0, '</td></tr></table>' |
63c91390853c
fixed line number look
Marcin Kuzminski <marcin@python-works.com>
parents:
965
diff
changeset
|
294 |
63c91390853c
fixed line number look
Marcin Kuzminski <marcin@python-works.com>
parents:
965
diff
changeset
|
295 |
250
be4621c6de58
Pygments code coloring rewrite, annotation was moved to vcs whitch had much better lib for that. Fixed code recognition based on mimetypes of filenodes, for better coloring.
Marcin Kuzminski <marcin@python-works.com>
parents:
165
diff
changeset
|
296 def pygmentize(filenode, **kwargs): |
899
d65843e07d3c
Added message tooltip into journal revisions in push.
Marcin Kuzminski <marcin@python-works.com>
parents:
864
diff
changeset
|
297 """pygmentize function using pygments |
d65843e07d3c
Added message tooltip into journal revisions in push.
Marcin Kuzminski <marcin@python-works.com>
parents:
864
diff
changeset
|
298 |
604
5cc96df705b9
fixed @repo into :repo for docs
Marcin Kuzminski <marcin@python-works.com>
parents:
547
diff
changeset
|
299 :param filenode: |
165
ea893ffb7f00
implemented pygmentize codes into webhelpers. Together with color_dict caching into pylons globals
Marcin Kuzminski <marcin@python-works.com>
parents:
104
diff
changeset
|
300 """ |
899
d65843e07d3c
Added message tooltip into journal revisions in push.
Marcin Kuzminski <marcin@python-works.com>
parents:
864
diff
changeset
|
301 |
450
c3236d7febad
fixed, empty cs bug.
Marcin Kuzminski <marcin@python-works.com>
parents:
448
diff
changeset
|
302 return literal(code_highlight(filenode.content, |
505
5aba7adff196
little gui change for file source
Marcin Kuzminski <marcin@python-works.com>
parents:
494
diff
changeset
|
303 filenode.lexer, CodeHtmlFormatter(**kwargs))) |
165
ea893ffb7f00
implemented pygmentize codes into webhelpers. Together with color_dict caching into pylons globals
Marcin Kuzminski <marcin@python-works.com>
parents:
104
diff
changeset
|
304 |
250
be4621c6de58
Pygments code coloring rewrite, annotation was moved to vcs whitch had much better lib for that. Fixed code recognition based on mimetypes of filenodes, for better coloring.
Marcin Kuzminski <marcin@python-works.com>
parents:
165
diff
changeset
|
305 def pygmentize_annotation(filenode, **kwargs): |
899
d65843e07d3c
Added message tooltip into journal revisions in push.
Marcin Kuzminski <marcin@python-works.com>
parents:
864
diff
changeset
|
306 """pygmentize function for annotation |
d65843e07d3c
Added message tooltip into journal revisions in push.
Marcin Kuzminski <marcin@python-works.com>
parents:
864
diff
changeset
|
307 |
604
5cc96df705b9
fixed @repo into :repo for docs
Marcin Kuzminski <marcin@python-works.com>
parents:
547
diff
changeset
|
308 :param filenode: |
165
ea893ffb7f00
implemented pygmentize codes into webhelpers. Together with color_dict caching into pylons globals
Marcin Kuzminski <marcin@python-works.com>
parents:
104
diff
changeset
|
309 """ |
631
05528ad948c4
Hacking for git support,and new faster repo scan
Marcin Kuzminski <marcin@python-works.com>
parents:
604
diff
changeset
|
310 |
438
0d4fceb91c9c
fixes #24, added generator that generates equally distrybuted colors. Thus skipping creating one large coloring history.
Marcin Kuzminski <marcin@python-works.com>
parents:
428
diff
changeset
|
311 color_dict = {} |
947
99850ac883d1
Fixed whoosh daemon, for depracated walk method
Marcin Kuzminski <marcin@python-works.com>
parents:
946
diff
changeset
|
312 def gen_color(n=10000): |
99850ac883d1
Fixed whoosh daemon, for depracated walk method
Marcin Kuzminski <marcin@python-works.com>
parents:
946
diff
changeset
|
313 """generator for getting n of evenly distributed colors using |
99850ac883d1
Fixed whoosh daemon, for depracated walk method
Marcin Kuzminski <marcin@python-works.com>
parents:
946
diff
changeset
|
314 hsv color and golden ratio. It always return same order of colors |
99850ac883d1
Fixed whoosh daemon, for depracated walk method
Marcin Kuzminski <marcin@python-works.com>
parents:
946
diff
changeset
|
315 |
99850ac883d1
Fixed whoosh daemon, for depracated walk method
Marcin Kuzminski <marcin@python-works.com>
parents:
946
diff
changeset
|
316 :returns: RGB tuple |
631
05528ad948c4
Hacking for git support,and new faster repo scan
Marcin Kuzminski <marcin@python-works.com>
parents:
604
diff
changeset
|
317 """ |
438
0d4fceb91c9c
fixes #24, added generator that generates equally distrybuted colors. Thus skipping creating one large coloring history.
Marcin Kuzminski <marcin@python-works.com>
parents:
428
diff
changeset
|
318 import colorsys |
0d4fceb91c9c
fixes #24, added generator that generates equally distrybuted colors. Thus skipping creating one large coloring history.
Marcin Kuzminski <marcin@python-works.com>
parents:
428
diff
changeset
|
319 golden_ratio = 0.618033988749895 |
0d4fceb91c9c
fixes #24, added generator that generates equally distrybuted colors. Thus skipping creating one large coloring history.
Marcin Kuzminski <marcin@python-works.com>
parents:
428
diff
changeset
|
320 h = 0.22717784590367374 |
947
99850ac883d1
Fixed whoosh daemon, for depracated walk method
Marcin Kuzminski <marcin@python-works.com>
parents:
946
diff
changeset
|
321 |
438
0d4fceb91c9c
fixes #24, added generator that generates equally distrybuted colors. Thus skipping creating one large coloring history.
Marcin Kuzminski <marcin@python-works.com>
parents:
428
diff
changeset
|
322 for c in xrange(n): |
450
c3236d7febad
fixed, empty cs bug.
Marcin Kuzminski <marcin@python-works.com>
parents:
448
diff
changeset
|
323 h += golden_ratio |
438
0d4fceb91c9c
fixes #24, added generator that generates equally distrybuted colors. Thus skipping creating one large coloring history.
Marcin Kuzminski <marcin@python-works.com>
parents:
428
diff
changeset
|
324 h %= 1 |
0d4fceb91c9c
fixes #24, added generator that generates equally distrybuted colors. Thus skipping creating one large coloring history.
Marcin Kuzminski <marcin@python-works.com>
parents:
428
diff
changeset
|
325 HSV_tuple = [h, 0.95, 0.95] |
0d4fceb91c9c
fixes #24, added generator that generates equally distrybuted colors. Thus skipping creating one large coloring history.
Marcin Kuzminski <marcin@python-works.com>
parents:
428
diff
changeset
|
326 RGB_tuple = colorsys.hsv_to_rgb(*HSV_tuple) |
631
05528ad948c4
Hacking for git support,and new faster repo scan
Marcin Kuzminski <marcin@python-works.com>
parents:
604
diff
changeset
|
327 yield map(lambda x:str(int(x * 256)), RGB_tuple) |
438
0d4fceb91c9c
fixes #24, added generator that generates equally distrybuted colors. Thus skipping creating one large coloring history.
Marcin Kuzminski <marcin@python-works.com>
parents:
428
diff
changeset
|
328 |
0d4fceb91c9c
fixes #24, added generator that generates equally distrybuted colors. Thus skipping creating one large coloring history.
Marcin Kuzminski <marcin@python-works.com>
parents:
428
diff
changeset
|
329 cgenerator = gen_color() |
631
05528ad948c4
Hacking for git support,and new faster repo scan
Marcin Kuzminski <marcin@python-works.com>
parents:
604
diff
changeset
|
330 |
165
ea893ffb7f00
implemented pygmentize codes into webhelpers. Together with color_dict caching into pylons globals
Marcin Kuzminski <marcin@python-works.com>
parents:
104
diff
changeset
|
331 def get_color_string(cs): |
ea893ffb7f00
implemented pygmentize codes into webhelpers. Together with color_dict caching into pylons globals
Marcin Kuzminski <marcin@python-works.com>
parents:
104
diff
changeset
|
332 if color_dict.has_key(cs): |
ea893ffb7f00
implemented pygmentize codes into webhelpers. Together with color_dict caching into pylons globals
Marcin Kuzminski <marcin@python-works.com>
parents:
104
diff
changeset
|
333 col = color_dict[cs] |
ea893ffb7f00
implemented pygmentize codes into webhelpers. Together with color_dict caching into pylons globals
Marcin Kuzminski <marcin@python-works.com>
parents:
104
diff
changeset
|
334 else: |
438
0d4fceb91c9c
fixes #24, added generator that generates equally distrybuted colors. Thus skipping creating one large coloring history.
Marcin Kuzminski <marcin@python-works.com>
parents:
428
diff
changeset
|
335 col = color_dict[cs] = cgenerator.next() |
0d4fceb91c9c
fixes #24, added generator that generates equally distrybuted colors. Thus skipping creating one large coloring history.
Marcin Kuzminski <marcin@python-works.com>
parents:
428
diff
changeset
|
336 return "color: rgb(%s)! important;" % (', '.join(col)) |
631
05528ad948c4
Hacking for git support,and new faster repo scan
Marcin Kuzminski <marcin@python-works.com>
parents:
604
diff
changeset
|
337 |
250
be4621c6de58
Pygments code coloring rewrite, annotation was moved to vcs whitch had much better lib for that. Fixed code recognition based on mimetypes of filenodes, for better coloring.
Marcin Kuzminski <marcin@python-works.com>
parents:
165
diff
changeset
|
338 def url_func(changeset): |
450
c3236d7febad
fixed, empty cs bug.
Marcin Kuzminski <marcin@python-works.com>
parents:
448
diff
changeset
|
339 tooltip_html = "<div style='font-size:0.8em'><b>Author:</b>" + \ |
631
05528ad948c4
Hacking for git support,and new faster repo scan
Marcin Kuzminski <marcin@python-works.com>
parents:
604
diff
changeset
|
340 " %s<br/><b>Date:</b> %s</b><br/><b>Message:</b> %s<br/></div>" |
05528ad948c4
Hacking for git support,and new faster repo scan
Marcin Kuzminski <marcin@python-works.com>
parents:
604
diff
changeset
|
341 |
281
cd2ee462fc2c
implemented yui tooltip, and added it into annotation and main page.
Marcin Kuzminski <marcin@python-works.com>
parents:
278
diff
changeset
|
342 tooltip_html = tooltip_html % (changeset.author, |
cd2ee462fc2c
implemented yui tooltip, and added it into annotation and main page.
Marcin Kuzminski <marcin@python-works.com>
parents:
278
diff
changeset
|
343 changeset.date, |
cd2ee462fc2c
implemented yui tooltip, and added it into annotation and main page.
Marcin Kuzminski <marcin@python-works.com>
parents:
278
diff
changeset
|
344 tooltip(changeset.message)) |
662
373ee7031003
fixed annotation bug, added history to annotation.
Marcin Kuzminski <marcin@python-works.com>
parents:
660
diff
changeset
|
345 lnk_format = '%5s:%s' % ('r%s' % changeset.revision, |
373ee7031003
fixed annotation bug, added history to annotation.
Marcin Kuzminski <marcin@python-works.com>
parents:
660
diff
changeset
|
346 short_id(changeset.raw_id)) |
281
cd2ee462fc2c
implemented yui tooltip, and added it into annotation and main page.
Marcin Kuzminski <marcin@python-works.com>
parents:
278
diff
changeset
|
347 uri = link_to( |
cd2ee462fc2c
implemented yui tooltip, and added it into annotation and main page.
Marcin Kuzminski <marcin@python-works.com>
parents:
278
diff
changeset
|
348 lnk_format, |
428
dee0e7eb0370
removed decodes, thus it should be implemented on vcs side
*** failed to import extension hggit: No module named hggit
parents:
401
diff
changeset
|
349 url('changeset_home', repo_name=changeset.repository.name, |
636
ffd07396d315
Fixes for raw_id, needed for git
Marcin Kuzminski <marcin@python-works.com>
parents:
635
diff
changeset
|
350 revision=changeset.raw_id), |
ffd07396d315
Fixes for raw_id, needed for git
Marcin Kuzminski <marcin@python-works.com>
parents:
635
diff
changeset
|
351 style=get_color_string(changeset.raw_id), |
281
cd2ee462fc2c
implemented yui tooltip, and added it into annotation and main page.
Marcin Kuzminski <marcin@python-works.com>
parents:
278
diff
changeset
|
352 class_='tooltip', |
904
82aaf4e71817
reimplemented tooltip, refactored tooltip_title into title for proper html,
Marcin Kuzminski <marcin@python-works.com>
parents:
899
diff
changeset
|
353 title=tooltip_html |
281
cd2ee462fc2c
implemented yui tooltip, and added it into annotation and main page.
Marcin Kuzminski <marcin@python-works.com>
parents:
278
diff
changeset
|
354 ) |
631
05528ad948c4
Hacking for git support,and new faster repo scan
Marcin Kuzminski <marcin@python-works.com>
parents:
604
diff
changeset
|
355 |
281
cd2ee462fc2c
implemented yui tooltip, and added it into annotation and main page.
Marcin Kuzminski <marcin@python-works.com>
parents:
278
diff
changeset
|
356 uri += '\n' |
631
05528ad948c4
Hacking for git support,and new faster repo scan
Marcin Kuzminski <marcin@python-works.com>
parents:
604
diff
changeset
|
357 return uri |
250
be4621c6de58
Pygments code coloring rewrite, annotation was moved to vcs whitch had much better lib for that. Fixed code recognition based on mimetypes of filenodes, for better coloring.
Marcin Kuzminski <marcin@python-works.com>
parents:
165
diff
changeset
|
358 return literal(annotate_highlight(filenode, url_func, **kwargs)) |
631
05528ad948c4
Hacking for git support,and new faster repo scan
Marcin Kuzminski <marcin@python-works.com>
parents:
604
diff
changeset
|
359 |
260
6ada8c223374
made global funcion to clean repo names, and remove all special chars from the name.
Marcin Kuzminski <marcin@python-works.com>
parents:
250
diff
changeset
|
360 def repo_name_slug(value): |
481
4187d93c7c04
reimplemented name slug to accept capitalized repositories names
Marcin Kuzminski <marcin@python-works.com>
parents:
450
diff
changeset
|
361 """Return slug of name of repository |
4187d93c7c04
reimplemented name slug to accept capitalized repositories names
Marcin Kuzminski <marcin@python-works.com>
parents:
450
diff
changeset
|
362 This function is called on each creation/modification |
4187d93c7c04
reimplemented name slug to accept capitalized repositories names
Marcin Kuzminski <marcin@python-works.com>
parents:
450
diff
changeset
|
363 of repository to prevent bad names in repo |
260
6ada8c223374
made global funcion to clean repo names, and remove all special chars from the name.
Marcin Kuzminski <marcin@python-works.com>
parents:
250
diff
changeset
|
364 """ |
899
d65843e07d3c
Added message tooltip into journal revisions in push.
Marcin Kuzminski <marcin@python-works.com>
parents:
864
diff
changeset
|
365 |
481
4187d93c7c04
reimplemented name slug to accept capitalized repositories names
Marcin Kuzminski <marcin@python-works.com>
parents:
450
diff
changeset
|
366 slug = remove_formatting(value) |
4187d93c7c04
reimplemented name slug to accept capitalized repositories names
Marcin Kuzminski <marcin@python-works.com>
parents:
450
diff
changeset
|
367 slug = strip_tags(slug) |
631
05528ad948c4
Hacking for git support,and new faster repo scan
Marcin Kuzminski <marcin@python-works.com>
parents:
604
diff
changeset
|
368 |
481
4187d93c7c04
reimplemented name slug to accept capitalized repositories names
Marcin Kuzminski <marcin@python-works.com>
parents:
450
diff
changeset
|
369 for c in """=[]\;'"<>,/~!@#$%^&*()+{}|: """: |
260
6ada8c223374
made global funcion to clean repo names, and remove all special chars from the name.
Marcin Kuzminski <marcin@python-works.com>
parents:
250
diff
changeset
|
370 slug = slug.replace(c, '-') |
6ada8c223374
made global funcion to clean repo names, and remove all special chars from the name.
Marcin Kuzminski <marcin@python-works.com>
parents:
250
diff
changeset
|
371 slug = recursive_replace(slug, '-') |
481
4187d93c7c04
reimplemented name slug to accept capitalized repositories names
Marcin Kuzminski <marcin@python-works.com>
parents:
450
diff
changeset
|
372 slug = collapse(slug, '-') |
260
6ada8c223374
made global funcion to clean repo names, and remove all special chars from the name.
Marcin Kuzminski <marcin@python-works.com>
parents:
250
diff
changeset
|
373 return slug |
281
cd2ee462fc2c
implemented yui tooltip, and added it into annotation and main page.
Marcin Kuzminski <marcin@python-works.com>
parents:
278
diff
changeset
|
374 |
450
c3236d7febad
fixed, empty cs bug.
Marcin Kuzminski <marcin@python-works.com>
parents:
448
diff
changeset
|
375 def get_changeset_safe(repo, rev): |
c3236d7febad
fixed, empty cs bug.
Marcin Kuzminski <marcin@python-works.com>
parents:
448
diff
changeset
|
376 from vcs.backends.base import BaseRepository |
c3236d7febad
fixed, empty cs bug.
Marcin Kuzminski <marcin@python-works.com>
parents:
448
diff
changeset
|
377 from vcs.exceptions import RepositoryError |
c3236d7febad
fixed, empty cs bug.
Marcin Kuzminski <marcin@python-works.com>
parents:
448
diff
changeset
|
378 if not isinstance(repo, BaseRepository): |
c3236d7febad
fixed, empty cs bug.
Marcin Kuzminski <marcin@python-works.com>
parents:
448
diff
changeset
|
379 raise Exception('You must pass an Repository ' |
c3236d7febad
fixed, empty cs bug.
Marcin Kuzminski <marcin@python-works.com>
parents:
448
diff
changeset
|
380 'object as first argument got %s', type(repo)) |
631
05528ad948c4
Hacking for git support,and new faster repo scan
Marcin Kuzminski <marcin@python-works.com>
parents:
604
diff
changeset
|
381 |
450
c3236d7febad
fixed, empty cs bug.
Marcin Kuzminski <marcin@python-works.com>
parents:
448
diff
changeset
|
382 try: |
c3236d7febad
fixed, empty cs bug.
Marcin Kuzminski <marcin@python-works.com>
parents:
448
diff
changeset
|
383 cs = repo.get_changeset(rev) |
c3236d7febad
fixed, empty cs bug.
Marcin Kuzminski <marcin@python-works.com>
parents:
448
diff
changeset
|
384 except RepositoryError: |
547
1e757ac98988
renamed project to rhodecode
Marcin Kuzminski <marcin@python-works.com>
parents:
512
diff
changeset
|
385 from rhodecode.lib.utils import EmptyChangeset |
450
c3236d7febad
fixed, empty cs bug.
Marcin Kuzminski <marcin@python-works.com>
parents:
448
diff
changeset
|
386 cs = EmptyChangeset() |
c3236d7febad
fixed, empty cs bug.
Marcin Kuzminski <marcin@python-works.com>
parents:
448
diff
changeset
|
387 return cs |
c3236d7febad
fixed, empty cs bug.
Marcin Kuzminski <marcin@python-works.com>
parents:
448
diff
changeset
|
388 |
c3236d7febad
fixed, empty cs bug.
Marcin Kuzminski <marcin@python-works.com>
parents:
448
diff
changeset
|
389 |
0 | 390 flash = _Flash() |
282
237470e64bb8
switched filters into webhelpers for easy of usage.
Marcin Kuzminski <marcin@python-works.com>
parents:
281
diff
changeset
|
391 |
237470e64bb8
switched filters into webhelpers for easy of usage.
Marcin Kuzminski <marcin@python-works.com>
parents:
281
diff
changeset
|
392 |
635
fd63782c4426
Fixed age, for new vcs implementation. Removed all obsolete date formatters
Marcin Kuzminski <marcin@python-works.com>
parents:
631
diff
changeset
|
393 #============================================================================== |
282
237470e64bb8
switched filters into webhelpers for easy of usage.
Marcin Kuzminski <marcin@python-works.com>
parents:
281
diff
changeset
|
394 # MERCURIAL FILTERS available via h. |
635
fd63782c4426
Fixed age, for new vcs implementation. Removed all obsolete date formatters
Marcin Kuzminski <marcin@python-works.com>
parents:
631
diff
changeset
|
395 #============================================================================== |
282
237470e64bb8
switched filters into webhelpers for easy of usage.
Marcin Kuzminski <marcin@python-works.com>
parents:
281
diff
changeset
|
396 from mercurial import util |
635
fd63782c4426
Fixed age, for new vcs implementation. Removed all obsolete date formatters
Marcin Kuzminski <marcin@python-works.com>
parents:
631
diff
changeset
|
397 from mercurial.templatefilters import person as _person |
fd63782c4426
Fixed age, for new vcs implementation. Removed all obsolete date formatters
Marcin Kuzminski <marcin@python-works.com>
parents:
631
diff
changeset
|
398 |
fd63782c4426
Fixed age, for new vcs implementation. Removed all obsolete date formatters
Marcin Kuzminski <marcin@python-works.com>
parents:
631
diff
changeset
|
399 def _age(curdate): |
fd63782c4426
Fixed age, for new vcs implementation. Removed all obsolete date formatters
Marcin Kuzminski <marcin@python-works.com>
parents:
631
diff
changeset
|
400 """turns a datetime into an age string.""" |
660
df61378032f3
#48 rewrote action logger, translated action logger messages, added some extra messages. Linked and showed pushed revisions in logs
Marcin Kuzminski <marcin@python-works.com>
parents:
653
diff
changeset
|
401 |
643
9dc1d92d82ed
updated setup for all newest versions
Marcin Kuzminski <marcin@python-works.com>
parents:
636
diff
changeset
|
402 if not curdate: |
9dc1d92d82ed
updated setup for all newest versions
Marcin Kuzminski <marcin@python-works.com>
parents:
636
diff
changeset
|
403 return '' |
282
237470e64bb8
switched filters into webhelpers for easy of usage.
Marcin Kuzminski <marcin@python-works.com>
parents:
281
diff
changeset
|
404 |
635
fd63782c4426
Fixed age, for new vcs implementation. Removed all obsolete date formatters
Marcin Kuzminski <marcin@python-works.com>
parents:
631
diff
changeset
|
405 from datetime import timedelta, datetime |
643
9dc1d92d82ed
updated setup for all newest versions
Marcin Kuzminski <marcin@python-works.com>
parents:
636
diff
changeset
|
406 |
635
fd63782c4426
Fixed age, for new vcs implementation. Removed all obsolete date formatters
Marcin Kuzminski <marcin@python-works.com>
parents:
631
diff
changeset
|
407 agescales = [("year", 3600 * 24 * 365), |
653
4a3291628f09
fixed a bug when age of last change is less than one minute
Marcin Kuzminski <marcin@python-works.com>
parents:
643
diff
changeset
|
408 ("month", 3600 * 24 * 30), |
4a3291628f09
fixed a bug when age of last change is less than one minute
Marcin Kuzminski <marcin@python-works.com>
parents:
643
diff
changeset
|
409 ("day", 3600 * 24), |
4a3291628f09
fixed a bug when age of last change is less than one minute
Marcin Kuzminski <marcin@python-works.com>
parents:
643
diff
changeset
|
410 ("hour", 3600), |
4a3291628f09
fixed a bug when age of last change is less than one minute
Marcin Kuzminski <marcin@python-works.com>
parents:
643
diff
changeset
|
411 ("minute", 60), |
4a3291628f09
fixed a bug when age of last change is less than one minute
Marcin Kuzminski <marcin@python-works.com>
parents:
643
diff
changeset
|
412 ("second", 1), ] |
635
fd63782c4426
Fixed age, for new vcs implementation. Removed all obsolete date formatters
Marcin Kuzminski <marcin@python-works.com>
parents:
631
diff
changeset
|
413 |
fd63782c4426
Fixed age, for new vcs implementation. Removed all obsolete date formatters
Marcin Kuzminski <marcin@python-works.com>
parents:
631
diff
changeset
|
414 age = datetime.now() - curdate |
fd63782c4426
Fixed age, for new vcs implementation. Removed all obsolete date formatters
Marcin Kuzminski <marcin@python-works.com>
parents:
631
diff
changeset
|
415 age_seconds = (age.days * agescales[2][1]) + age.seconds |
fd63782c4426
Fixed age, for new vcs implementation. Removed all obsolete date formatters
Marcin Kuzminski <marcin@python-works.com>
parents:
631
diff
changeset
|
416 pos = 1 |
fd63782c4426
Fixed age, for new vcs implementation. Removed all obsolete date formatters
Marcin Kuzminski <marcin@python-works.com>
parents:
631
diff
changeset
|
417 for scale in agescales: |
fd63782c4426
Fixed age, for new vcs implementation. Removed all obsolete date formatters
Marcin Kuzminski <marcin@python-works.com>
parents:
631
diff
changeset
|
418 if scale[1] <= age_seconds: |
653
4a3291628f09
fixed a bug when age of last change is less than one minute
Marcin Kuzminski <marcin@python-works.com>
parents:
643
diff
changeset
|
419 if pos == 6:pos = 5 |
668
dff6d5cb8bba
fixed deletion of repository on filesystem, works based on scm type for git and hg.
Marcin Kuzminski <marcin@python-works.com>
parents:
662
diff
changeset
|
420 return time_ago_in_words(curdate, agescales[pos][0]) + ' ' + _('ago') |
635
fd63782c4426
Fixed age, for new vcs implementation. Removed all obsolete date formatters
Marcin Kuzminski <marcin@python-works.com>
parents:
631
diff
changeset
|
421 pos += 1 |
fd63782c4426
Fixed age, for new vcs implementation. Removed all obsolete date formatters
Marcin Kuzminski <marcin@python-works.com>
parents:
631
diff
changeset
|
422 |
668
dff6d5cb8bba
fixed deletion of repository on filesystem, works based on scm type for git and hg.
Marcin Kuzminski <marcin@python-works.com>
parents:
662
diff
changeset
|
423 return _('just now') |
dff6d5cb8bba
fixed deletion of repository on filesystem, works based on scm type for git and hg.
Marcin Kuzminski <marcin@python-works.com>
parents:
662
diff
changeset
|
424 |
635
fd63782c4426
Fixed age, for new vcs implementation. Removed all obsolete date formatters
Marcin Kuzminski <marcin@python-works.com>
parents:
631
diff
changeset
|
425 age = lambda x:_age(x) |
282
237470e64bb8
switched filters into webhelpers for easy of usage.
Marcin Kuzminski <marcin@python-works.com>
parents:
281
diff
changeset
|
426 capitalize = lambda x: x.capitalize() |
237470e64bb8
switched filters into webhelpers for easy of usage.
Marcin Kuzminski <marcin@python-works.com>
parents:
281
diff
changeset
|
427 email = util.email |
401
b1debb6c5a09
implemented gravatars to changesets, updated styling for changesets
Marcin Kuzminski <marcin@python-works.com>
parents:
400
diff
changeset
|
428 email_or_none = lambda x: util.email(x) if util.email(x) != x else None |
282
237470e64bb8
switched filters into webhelpers for easy of usage.
Marcin Kuzminski <marcin@python-works.com>
parents:
281
diff
changeset
|
429 person = lambda x: _person(x) |
636
ffd07396d315
Fixes for raw_id, needed for git
Marcin Kuzminski <marcin@python-works.com>
parents:
635
diff
changeset
|
430 short_id = lambda x: x[:12] |
282
237470e64bb8
switched filters into webhelpers for easy of usage.
Marcin Kuzminski <marcin@python-works.com>
parents:
281
diff
changeset
|
431 |
660
df61378032f3
#48 rewrote action logger, translated action logger messages, added some extra messages. Linked and showed pushed revisions in logs
Marcin Kuzminski <marcin@python-works.com>
parents:
653
diff
changeset
|
432 |
712
131c1e335fa7
Added ldap info on admin users, added bool2icon helper for nicer representation of
Marcin Kuzminski <marcin@python-works.com>
parents:
698
diff
changeset
|
433 def bool2icon(value): |
899
d65843e07d3c
Added message tooltip into journal revisions in push.
Marcin Kuzminski <marcin@python-works.com>
parents:
864
diff
changeset
|
434 """Returns True/False values represented as small html image of true/false |
712
131c1e335fa7
Added ldap info on admin users, added bool2icon helper for nicer representation of
Marcin Kuzminski <marcin@python-works.com>
parents:
698
diff
changeset
|
435 icons |
899
d65843e07d3c
Added message tooltip into journal revisions in push.
Marcin Kuzminski <marcin@python-works.com>
parents:
864
diff
changeset
|
436 |
712
131c1e335fa7
Added ldap info on admin users, added bool2icon helper for nicer representation of
Marcin Kuzminski <marcin@python-works.com>
parents:
698
diff
changeset
|
437 :param value: bool value |
131c1e335fa7
Added ldap info on admin users, added bool2icon helper for nicer representation of
Marcin Kuzminski <marcin@python-works.com>
parents:
698
diff
changeset
|
438 """ |
131c1e335fa7
Added ldap info on admin users, added bool2icon helper for nicer representation of
Marcin Kuzminski <marcin@python-works.com>
parents:
698
diff
changeset
|
439 |
131c1e335fa7
Added ldap info on admin users, added bool2icon helper for nicer representation of
Marcin Kuzminski <marcin@python-works.com>
parents:
698
diff
changeset
|
440 if value is True: |
714 | 441 return HTML.tag('img', src="/images/icons/accept.png", alt=_('True')) |
712
131c1e335fa7
Added ldap info on admin users, added bool2icon helper for nicer representation of
Marcin Kuzminski <marcin@python-works.com>
parents:
698
diff
changeset
|
442 |
131c1e335fa7
Added ldap info on admin users, added bool2icon helper for nicer representation of
Marcin Kuzminski <marcin@python-works.com>
parents:
698
diff
changeset
|
443 if value is False: |
714 | 444 return HTML.tag('img', src="/images/icons/cancel.png", alt=_('False')) |
712
131c1e335fa7
Added ldap info on admin users, added bool2icon helper for nicer representation of
Marcin Kuzminski <marcin@python-works.com>
parents:
698
diff
changeset
|
445 |
131c1e335fa7
Added ldap info on admin users, added bool2icon helper for nicer representation of
Marcin Kuzminski <marcin@python-works.com>
parents:
698
diff
changeset
|
446 return value |
131c1e335fa7
Added ldap info on admin users, added bool2icon helper for nicer representation of
Marcin Kuzminski <marcin@python-works.com>
parents:
698
diff
changeset
|
447 |
131c1e335fa7
Added ldap info on admin users, added bool2icon helper for nicer representation of
Marcin Kuzminski <marcin@python-works.com>
parents:
698
diff
changeset
|
448 |
660
df61378032f3
#48 rewrote action logger, translated action logger messages, added some extra messages. Linked and showed pushed revisions in logs
Marcin Kuzminski <marcin@python-works.com>
parents:
653
diff
changeset
|
449 def action_parser(user_log): |
899
d65843e07d3c
Added message tooltip into journal revisions in push.
Marcin Kuzminski <marcin@python-works.com>
parents:
864
diff
changeset
|
450 """This helper will map the specified string action into translated |
660
df61378032f3
#48 rewrote action logger, translated action logger messages, added some extra messages. Linked and showed pushed revisions in logs
Marcin Kuzminski <marcin@python-works.com>
parents:
653
diff
changeset
|
451 fancy names with icons and links |
df61378032f3
#48 rewrote action logger, translated action logger messages, added some extra messages. Linked and showed pushed revisions in logs
Marcin Kuzminski <marcin@python-works.com>
parents:
653
diff
changeset
|
452 |
899
d65843e07d3c
Added message tooltip into journal revisions in push.
Marcin Kuzminski <marcin@python-works.com>
parents:
864
diff
changeset
|
453 :param user_log: user log instance |
660
df61378032f3
#48 rewrote action logger, translated action logger messages, added some extra messages. Linked and showed pushed revisions in logs
Marcin Kuzminski <marcin@python-works.com>
parents:
653
diff
changeset
|
454 """ |
899
d65843e07d3c
Added message tooltip into journal revisions in push.
Marcin Kuzminski <marcin@python-works.com>
parents:
864
diff
changeset
|
455 |
660
df61378032f3
#48 rewrote action logger, translated action logger messages, added some extra messages. Linked and showed pushed revisions in logs
Marcin Kuzminski <marcin@python-works.com>
parents:
653
diff
changeset
|
456 action = user_log.action |
840
ee6f345736a6
action logger upgrade, for working with migrations
Marcin Kuzminski <marcin@python-works.com>
parents:
817
diff
changeset
|
457 action_params = ' ' |
660
df61378032f3
#48 rewrote action logger, translated action logger messages, added some extra messages. Linked and showed pushed revisions in logs
Marcin Kuzminski <marcin@python-works.com>
parents:
653
diff
changeset
|
458 |
df61378032f3
#48 rewrote action logger, translated action logger messages, added some extra messages. Linked and showed pushed revisions in logs
Marcin Kuzminski <marcin@python-works.com>
parents:
653
diff
changeset
|
459 x = action.split(':') |
df61378032f3
#48 rewrote action logger, translated action logger messages, added some extra messages. Linked and showed pushed revisions in logs
Marcin Kuzminski <marcin@python-works.com>
parents:
653
diff
changeset
|
460 |
df61378032f3
#48 rewrote action logger, translated action logger messages, added some extra messages. Linked and showed pushed revisions in logs
Marcin Kuzminski <marcin@python-works.com>
parents:
653
diff
changeset
|
461 if len(x) > 1: |
df61378032f3
#48 rewrote action logger, translated action logger messages, added some extra messages. Linked and showed pushed revisions in logs
Marcin Kuzminski <marcin@python-works.com>
parents:
653
diff
changeset
|
462 action, action_params = x |
df61378032f3
#48 rewrote action logger, translated action logger messages, added some extra messages. Linked and showed pushed revisions in logs
Marcin Kuzminski <marcin@python-works.com>
parents:
653
diff
changeset
|
463 |
718
7df3855bf6c7
Added fork name to journal
Marcin Kuzminski <marcin@python-works.com>
parents:
714
diff
changeset
|
464 def get_cs_links(): |
953
def3578dac8c
fixed vcs import.
Marcin Kuzminski <marcin@python-works.com>
parents:
947
diff
changeset
|
465 revs_limit = 5 #display this amount always |
def3578dac8c
fixed vcs import.
Marcin Kuzminski <marcin@python-works.com>
parents:
947
diff
changeset
|
466 revs_top_limit = 50 #show upto this amount of changesets hidden |
def3578dac8c
fixed vcs import.
Marcin Kuzminski <marcin@python-works.com>
parents:
947
diff
changeset
|
467 revs = action_params.split(',') |
def3578dac8c
fixed vcs import.
Marcin Kuzminski <marcin@python-works.com>
parents:
947
diff
changeset
|
468 repo_name = user_log.repository.repo_name |
def3578dac8c
fixed vcs import.
Marcin Kuzminski <marcin@python-works.com>
parents:
947
diff
changeset
|
469 from rhodecode.model.scm import ScmModel |
899
d65843e07d3c
Added message tooltip into journal revisions in push.
Marcin Kuzminski <marcin@python-works.com>
parents:
864
diff
changeset
|
470 |
953
def3578dac8c
fixed vcs import.
Marcin Kuzminski <marcin@python-works.com>
parents:
947
diff
changeset
|
471 message = lambda rev: get_changeset_safe(ScmModel().get(repo_name), |
def3578dac8c
fixed vcs import.
Marcin Kuzminski <marcin@python-works.com>
parents:
947
diff
changeset
|
472 rev).message |
899
d65843e07d3c
Added message tooltip into journal revisions in push.
Marcin Kuzminski <marcin@python-works.com>
parents:
864
diff
changeset
|
473 |
953
def3578dac8c
fixed vcs import.
Marcin Kuzminski <marcin@python-works.com>
parents:
947
diff
changeset
|
474 cs_links = " " + ', '.join ([link_to(rev, |
def3578dac8c
fixed vcs import.
Marcin Kuzminski <marcin@python-works.com>
parents:
947
diff
changeset
|
475 url('changeset_home', |
def3578dac8c
fixed vcs import.
Marcin Kuzminski <marcin@python-works.com>
parents:
947
diff
changeset
|
476 repo_name=repo_name, |
def3578dac8c
fixed vcs import.
Marcin Kuzminski <marcin@python-works.com>
parents:
947
diff
changeset
|
477 revision=rev), title=tooltip(message(rev)), |
def3578dac8c
fixed vcs import.
Marcin Kuzminski <marcin@python-works.com>
parents:
947
diff
changeset
|
478 class_='tooltip') for rev in revs[:revs_limit] ]) |
def3578dac8c
fixed vcs import.
Marcin Kuzminski <marcin@python-works.com>
parents:
947
diff
changeset
|
479 if len(revs) > revs_limit: |
def3578dac8c
fixed vcs import.
Marcin Kuzminski <marcin@python-works.com>
parents:
947
diff
changeset
|
480 uniq_id = revs[0] |
def3578dac8c
fixed vcs import.
Marcin Kuzminski <marcin@python-works.com>
parents:
947
diff
changeset
|
481 html_tmpl = ('<span> %s ' |
def3578dac8c
fixed vcs import.
Marcin Kuzminski <marcin@python-works.com>
parents:
947
diff
changeset
|
482 '<a class="show_more" id="_%s" href="#">%s</a> ' |
def3578dac8c
fixed vcs import.
Marcin Kuzminski <marcin@python-works.com>
parents:
947
diff
changeset
|
483 '%s</span>') |
def3578dac8c
fixed vcs import.
Marcin Kuzminski <marcin@python-works.com>
parents:
947
diff
changeset
|
484 cs_links += html_tmpl % (_('and'), uniq_id, _('%s more') \ |
def3578dac8c
fixed vcs import.
Marcin Kuzminski <marcin@python-works.com>
parents:
947
diff
changeset
|
485 % (len(revs) - revs_limit), |
def3578dac8c
fixed vcs import.
Marcin Kuzminski <marcin@python-works.com>
parents:
947
diff
changeset
|
486 _('revisions')) |
808
1af15d66838f
added icons to journal, extend show more to actually show more pushed revisions,
Marcin Kuzminski <marcin@python-works.com>
parents:
790
diff
changeset
|
487 |
953
def3578dac8c
fixed vcs import.
Marcin Kuzminski <marcin@python-works.com>
parents:
947
diff
changeset
|
488 html_tmpl = '<span id="%s" style="display:none"> %s </span>' |
def3578dac8c
fixed vcs import.
Marcin Kuzminski <marcin@python-works.com>
parents:
947
diff
changeset
|
489 cs_links += html_tmpl % (uniq_id, ', '.join([link_to(rev, |
def3578dac8c
fixed vcs import.
Marcin Kuzminski <marcin@python-works.com>
parents:
947
diff
changeset
|
490 url('changeset_home', |
def3578dac8c
fixed vcs import.
Marcin Kuzminski <marcin@python-works.com>
parents:
947
diff
changeset
|
491 repo_name=repo_name, revision=rev), |
def3578dac8c
fixed vcs import.
Marcin Kuzminski <marcin@python-works.com>
parents:
947
diff
changeset
|
492 title=message(rev), class_='tooltip') |
def3578dac8c
fixed vcs import.
Marcin Kuzminski <marcin@python-works.com>
parents:
947
diff
changeset
|
493 for rev in revs[revs_limit:revs_top_limit]])) |
734
49eb69d78988
implemented user dashboards, and following system.
Marcin Kuzminski <marcin@python-works.com>
parents:
718
diff
changeset
|
494 |
953
def3578dac8c
fixed vcs import.
Marcin Kuzminski <marcin@python-works.com>
parents:
947
diff
changeset
|
495 return cs_links |
734
49eb69d78988
implemented user dashboards, and following system.
Marcin Kuzminski <marcin@python-works.com>
parents:
718
diff
changeset
|
496 |
718
7df3855bf6c7
Added fork name to journal
Marcin Kuzminski <marcin@python-works.com>
parents:
714
diff
changeset
|
497 def get_fork_name(): |
953
def3578dac8c
fixed vcs import.
Marcin Kuzminski <marcin@python-works.com>
parents:
947
diff
changeset
|
498 from rhodecode.model.scm import ScmModel |
def3578dac8c
fixed vcs import.
Marcin Kuzminski <marcin@python-works.com>
parents:
947
diff
changeset
|
499 repo_name = action_params |
def3578dac8c
fixed vcs import.
Marcin Kuzminski <marcin@python-works.com>
parents:
947
diff
changeset
|
500 repo = ScmModel().get(repo_name) |
def3578dac8c
fixed vcs import.
Marcin Kuzminski <marcin@python-works.com>
parents:
947
diff
changeset
|
501 if repo is None: |
def3578dac8c
fixed vcs import.
Marcin Kuzminski <marcin@python-works.com>
parents:
947
diff
changeset
|
502 return repo_name |
def3578dac8c
fixed vcs import.
Marcin Kuzminski <marcin@python-works.com>
parents:
947
diff
changeset
|
503 return link_to(action_params, url('summary_home', |
def3578dac8c
fixed vcs import.
Marcin Kuzminski <marcin@python-works.com>
parents:
947
diff
changeset
|
504 repo_name=repo.name,), |
def3578dac8c
fixed vcs import.
Marcin Kuzminski <marcin@python-works.com>
parents:
947
diff
changeset
|
505 title=repo.dbrepo.description) |
def3578dac8c
fixed vcs import.
Marcin Kuzminski <marcin@python-works.com>
parents:
947
diff
changeset
|
506 |
def3578dac8c
fixed vcs import.
Marcin Kuzminski <marcin@python-works.com>
parents:
947
diff
changeset
|
507 map = {'user_deleted_repo':(_('User [deleted] repository'), None), |
def3578dac8c
fixed vcs import.
Marcin Kuzminski <marcin@python-works.com>
parents:
947
diff
changeset
|
508 'user_created_repo':(_('User [created] repository'), None), |
def3578dac8c
fixed vcs import.
Marcin Kuzminski <marcin@python-works.com>
parents:
947
diff
changeset
|
509 'user_forked_repo':(_('User [forked] repository as:'), get_fork_name), |
def3578dac8c
fixed vcs import.
Marcin Kuzminski <marcin@python-works.com>
parents:
947
diff
changeset
|
510 'user_updated_repo':(_('User [updated] repository'), None), |
def3578dac8c
fixed vcs import.
Marcin Kuzminski <marcin@python-works.com>
parents:
947
diff
changeset
|
511 'admin_deleted_repo':(_('Admin [delete] repository'), None), |
def3578dac8c
fixed vcs import.
Marcin Kuzminski <marcin@python-works.com>
parents:
947
diff
changeset
|
512 'admin_created_repo':(_('Admin [created] repository'), None), |
def3578dac8c
fixed vcs import.
Marcin Kuzminski <marcin@python-works.com>
parents:
947
diff
changeset
|
513 'admin_forked_repo':(_('Admin [forked] repository'), None), |
def3578dac8c
fixed vcs import.
Marcin Kuzminski <marcin@python-works.com>
parents:
947
diff
changeset
|
514 'admin_updated_repo':(_('Admin [updated] repository'), None), |
def3578dac8c
fixed vcs import.
Marcin Kuzminski <marcin@python-works.com>
parents:
947
diff
changeset
|
515 'push':(_('[Pushed]'), get_cs_links), |
def3578dac8c
fixed vcs import.
Marcin Kuzminski <marcin@python-works.com>
parents:
947
diff
changeset
|
516 'pull':(_('[Pulled]'), None), |
def3578dac8c
fixed vcs import.
Marcin Kuzminski <marcin@python-works.com>
parents:
947
diff
changeset
|
517 'started_following_repo':(_('User [started following] repository'), None), |
def3578dac8c
fixed vcs import.
Marcin Kuzminski <marcin@python-works.com>
parents:
947
diff
changeset
|
518 'stopped_following_repo':(_('User [stopped following] repository'), None), |
735
dbec976d9975
added action loggers to following repositories,
Marcin Kuzminski <marcin@python-works.com>
parents:
734
diff
changeset
|
519 } |
660
df61378032f3
#48 rewrote action logger, translated action logger messages, added some extra messages. Linked and showed pushed revisions in logs
Marcin Kuzminski <marcin@python-works.com>
parents:
653
diff
changeset
|
520 |
764
5c87d5ad1b5e
some stylings to journal
Marcin Kuzminski <marcin@python-works.com>
parents:
740
diff
changeset
|
521 action_str = map.get(action, action) |
953
def3578dac8c
fixed vcs import.
Marcin Kuzminski <marcin@python-works.com>
parents:
947
diff
changeset
|
522 action = action_str[0].replace('[', '<span class="journal_highlight">')\ |
def3578dac8c
fixed vcs import.
Marcin Kuzminski <marcin@python-works.com>
parents:
947
diff
changeset
|
523 .replace(']', '</span>') |
def3578dac8c
fixed vcs import.
Marcin Kuzminski <marcin@python-works.com>
parents:
947
diff
changeset
|
524 if action_str[1] is not None: |
def3578dac8c
fixed vcs import.
Marcin Kuzminski <marcin@python-works.com>
parents:
947
diff
changeset
|
525 action = action + " " + action_str[1]() |
def3578dac8c
fixed vcs import.
Marcin Kuzminski <marcin@python-works.com>
parents:
947
diff
changeset
|
526 |
def3578dac8c
fixed vcs import.
Marcin Kuzminski <marcin@python-works.com>
parents:
947
diff
changeset
|
527 return literal(action) |
808
1af15d66838f
added icons to journal, extend show more to actually show more pushed revisions,
Marcin Kuzminski <marcin@python-works.com>
parents:
790
diff
changeset
|
528 |
1af15d66838f
added icons to journal, extend show more to actually show more pushed revisions,
Marcin Kuzminski <marcin@python-works.com>
parents:
790
diff
changeset
|
529 def action_parser_icon(user_log): |
1af15d66838f
added icons to journal, extend show more to actually show more pushed revisions,
Marcin Kuzminski <marcin@python-works.com>
parents:
790
diff
changeset
|
530 action = user_log.action |
1af15d66838f
added icons to journal, extend show more to actually show more pushed revisions,
Marcin Kuzminski <marcin@python-works.com>
parents:
790
diff
changeset
|
531 action_params = None |
1af15d66838f
added icons to journal, extend show more to actually show more pushed revisions,
Marcin Kuzminski <marcin@python-works.com>
parents:
790
diff
changeset
|
532 x = action.split(':') |
1af15d66838f
added icons to journal, extend show more to actually show more pushed revisions,
Marcin Kuzminski <marcin@python-works.com>
parents:
790
diff
changeset
|
533 |
1af15d66838f
added icons to journal, extend show more to actually show more pushed revisions,
Marcin Kuzminski <marcin@python-works.com>
parents:
790
diff
changeset
|
534 if len(x) > 1: |
1af15d66838f
added icons to journal, extend show more to actually show more pushed revisions,
Marcin Kuzminski <marcin@python-works.com>
parents:
790
diff
changeset
|
535 action, action_params = x |
1af15d66838f
added icons to journal, extend show more to actually show more pushed revisions,
Marcin Kuzminski <marcin@python-works.com>
parents:
790
diff
changeset
|
536 |
817
09e58532d4f7
fixed some w3c html
Marcin Kuzminski <marcin@python-works.com>
parents:
808
diff
changeset
|
537 tmpl = """<img src="/images/icons/%s" alt="%s"/>""" |
808
1af15d66838f
added icons to journal, extend show more to actually show more pushed revisions,
Marcin Kuzminski <marcin@python-works.com>
parents:
790
diff
changeset
|
538 map = {'user_deleted_repo':'database_delete.png', |
1af15d66838f
added icons to journal, extend show more to actually show more pushed revisions,
Marcin Kuzminski <marcin@python-works.com>
parents:
790
diff
changeset
|
539 'user_created_repo':'database_add.png', |
1af15d66838f
added icons to journal, extend show more to actually show more pushed revisions,
Marcin Kuzminski <marcin@python-works.com>
parents:
790
diff
changeset
|
540 'user_forked_repo':'arrow_divide.png', |
1af15d66838f
added icons to journal, extend show more to actually show more pushed revisions,
Marcin Kuzminski <marcin@python-works.com>
parents:
790
diff
changeset
|
541 'user_updated_repo':'database_edit.png', |
1af15d66838f
added icons to journal, extend show more to actually show more pushed revisions,
Marcin Kuzminski <marcin@python-works.com>
parents:
790
diff
changeset
|
542 'admin_deleted_repo':'database_delete.png', |
899
d65843e07d3c
Added message tooltip into journal revisions in push.
Marcin Kuzminski <marcin@python-works.com>
parents:
864
diff
changeset
|
543 'admin_created_repo':'database_add.png', |
808
1af15d66838f
added icons to journal, extend show more to actually show more pushed revisions,
Marcin Kuzminski <marcin@python-works.com>
parents:
790
diff
changeset
|
544 'admin_forked_repo':'arrow_divide.png', |
1af15d66838f
added icons to journal, extend show more to actually show more pushed revisions,
Marcin Kuzminski <marcin@python-works.com>
parents:
790
diff
changeset
|
545 'admin_updated_repo':'database_edit.png', |
1af15d66838f
added icons to journal, extend show more to actually show more pushed revisions,
Marcin Kuzminski <marcin@python-works.com>
parents:
790
diff
changeset
|
546 'push':'script_add.png', |
1af15d66838f
added icons to journal, extend show more to actually show more pushed revisions,
Marcin Kuzminski <marcin@python-works.com>
parents:
790
diff
changeset
|
547 'pull':'down_16.png', |
1af15d66838f
added icons to journal, extend show more to actually show more pushed revisions,
Marcin Kuzminski <marcin@python-works.com>
parents:
790
diff
changeset
|
548 'started_following_repo':'heart_add.png', |
1af15d66838f
added icons to journal, extend show more to actually show more pushed revisions,
Marcin Kuzminski <marcin@python-works.com>
parents:
790
diff
changeset
|
549 'stopped_following_repo':'heart_delete.png', |
1af15d66838f
added icons to journal, extend show more to actually show more pushed revisions,
Marcin Kuzminski <marcin@python-works.com>
parents:
790
diff
changeset
|
550 } |
817
09e58532d4f7
fixed some w3c html
Marcin Kuzminski <marcin@python-works.com>
parents:
808
diff
changeset
|
551 return literal(tmpl % (map.get(action, action), action)) |
660
df61378032f3
#48 rewrote action logger, translated action logger messages, added some extra messages. Linked and showed pushed revisions in logs
Marcin Kuzminski <marcin@python-works.com>
parents:
653
diff
changeset
|
552 |
df61378032f3
#48 rewrote action logger, translated action logger messages, added some extra messages. Linked and showed pushed revisions in logs
Marcin Kuzminski <marcin@python-works.com>
parents:
653
diff
changeset
|
553 |
635
fd63782c4426
Fixed age, for new vcs implementation. Removed all obsolete date formatters
Marcin Kuzminski <marcin@python-works.com>
parents:
631
diff
changeset
|
554 #============================================================================== |
307
504feff57b49
added permission functions to webhelpers, updated dbmanage permissions
Marcin Kuzminski <marcin@python-works.com>
parents:
293
diff
changeset
|
555 # PERMS |
635
fd63782c4426
Fixed age, for new vcs implementation. Removed all obsolete date formatters
Marcin Kuzminski <marcin@python-works.com>
parents:
631
diff
changeset
|
556 #============================================================================== |
547
1e757ac98988
renamed project to rhodecode
Marcin Kuzminski <marcin@python-works.com>
parents:
512
diff
changeset
|
557 from rhodecode.lib.auth import HasPermissionAny, HasPermissionAll, \ |
307
504feff57b49
added permission functions to webhelpers, updated dbmanage permissions
Marcin Kuzminski <marcin@python-works.com>
parents:
293
diff
changeset
|
558 HasRepoPermissionAny, HasRepoPermissionAll |
282
237470e64bb8
switched filters into webhelpers for easy of usage.
Marcin Kuzminski <marcin@python-works.com>
parents:
281
diff
changeset
|
559 |
635
fd63782c4426
Fixed age, for new vcs implementation. Removed all obsolete date formatters
Marcin Kuzminski <marcin@python-works.com>
parents:
631
diff
changeset
|
560 #============================================================================== |
398
8c50b164fb58
Implemented basic gravatar support on admin pages only for now
Marcin Kuzminski <marcin@python-works.com>
parents:
307
diff
changeset
|
561 # GRAVATAR URL |
635
fd63782c4426
Fixed age, for new vcs implementation. Removed all obsolete date formatters
Marcin Kuzminski <marcin@python-works.com>
parents:
631
diff
changeset
|
562 #============================================================================== |
398
8c50b164fb58
Implemented basic gravatar support on admin pages only for now
Marcin Kuzminski <marcin@python-works.com>
parents:
307
diff
changeset
|
563 import hashlib |
8c50b164fb58
Implemented basic gravatar support on admin pages only for now
Marcin Kuzminski <marcin@python-works.com>
parents:
307
diff
changeset
|
564 import urllib |
400
7eba3d1e4227
webhelpers import bugfix for gravatar
Marcin Kuzminski <marcin@python-works.com>
parents:
398
diff
changeset
|
565 from pylons import request |
282
237470e64bb8
switched filters into webhelpers for easy of usage.
Marcin Kuzminski <marcin@python-works.com>
parents:
281
diff
changeset
|
566 |
401
b1debb6c5a09
implemented gravatars to changesets, updated styling for changesets
Marcin Kuzminski <marcin@python-works.com>
parents:
400
diff
changeset
|
567 def gravatar_url(email_address, size=30): |
946
f12cd4707301
patched gravatar url generation to properly support new https force flag from settings.
Marcin Kuzminski <marcin@python-works.com>
parents:
911
diff
changeset
|
568 ssl_enabled = 'https' == request.environ.get('wsgi.url_scheme') |
398
8c50b164fb58
Implemented basic gravatar support on admin pages only for now
Marcin Kuzminski <marcin@python-works.com>
parents:
307
diff
changeset
|
569 default = 'identicon' |
8c50b164fb58
Implemented basic gravatar support on admin pages only for now
Marcin Kuzminski <marcin@python-works.com>
parents:
307
diff
changeset
|
570 baseurl_nossl = "http://www.gravatar.com/avatar/" |
8c50b164fb58
Implemented basic gravatar support on admin pages only for now
Marcin Kuzminski <marcin@python-works.com>
parents:
307
diff
changeset
|
571 baseurl_ssl = "https://secure.gravatar.com/avatar/" |
8c50b164fb58
Implemented basic gravatar support on admin pages only for now
Marcin Kuzminski <marcin@python-works.com>
parents:
307
diff
changeset
|
572 baseurl = baseurl_ssl if ssl_enabled else baseurl_nossl |
631
05528ad948c4
Hacking for git support,and new faster repo scan
Marcin Kuzminski <marcin@python-works.com>
parents:
604
diff
changeset
|
573 |
05528ad948c4
Hacking for git support,and new faster repo scan
Marcin Kuzminski <marcin@python-works.com>
parents:
604
diff
changeset
|
574 |
398
8c50b164fb58
Implemented basic gravatar support on admin pages only for now
Marcin Kuzminski <marcin@python-works.com>
parents:
307
diff
changeset
|
575 # construct the url |
401
b1debb6c5a09
implemented gravatars to changesets, updated styling for changesets
Marcin Kuzminski <marcin@python-works.com>
parents:
400
diff
changeset
|
576 gravatar_url = baseurl + hashlib.md5(email_address.lower()).hexdigest() + "?" |
398
8c50b164fb58
Implemented basic gravatar support on admin pages only for now
Marcin Kuzminski <marcin@python-works.com>
parents:
307
diff
changeset
|
577 gravatar_url += urllib.urlencode({'d':default, 's':str(size)}) |
8c50b164fb58
Implemented basic gravatar support on admin pages only for now
Marcin Kuzminski <marcin@python-works.com>
parents:
307
diff
changeset
|
578 |
8c50b164fb58
Implemented basic gravatar support on admin pages only for now
Marcin Kuzminski <marcin@python-works.com>
parents:
307
diff
changeset
|
579 return gravatar_url |
443
e5157e2a530e
added safe unicode funtion, and implemented it in whoosh indexer
Marcin Kuzminski <marcin@python-works.com>
parents:
438
diff
changeset
|
580 |
e5157e2a530e
added safe unicode funtion, and implemented it in whoosh indexer
Marcin Kuzminski <marcin@python-works.com>
parents:
438
diff
changeset
|
581 def safe_unicode(str): |
e5157e2a530e
added safe unicode funtion, and implemented it in whoosh indexer
Marcin Kuzminski <marcin@python-works.com>
parents:
438
diff
changeset
|
582 """safe unicode function. In case of UnicodeDecode error we try to return |
e5157e2a530e
added safe unicode funtion, and implemented it in whoosh indexer
Marcin Kuzminski <marcin@python-works.com>
parents:
438
diff
changeset
|
583 unicode with errors replace, if this failes we return unicode with |
e5157e2a530e
added safe unicode funtion, and implemented it in whoosh indexer
Marcin Kuzminski <marcin@python-works.com>
parents:
438
diff
changeset
|
584 string_escape decoding """ |
631
05528ad948c4
Hacking for git support,and new faster repo scan
Marcin Kuzminski <marcin@python-works.com>
parents:
604
diff
changeset
|
585 |
443
e5157e2a530e
added safe unicode funtion, and implemented it in whoosh indexer
Marcin Kuzminski <marcin@python-works.com>
parents:
438
diff
changeset
|
586 try: |
e5157e2a530e
added safe unicode funtion, and implemented it in whoosh indexer
Marcin Kuzminski <marcin@python-works.com>
parents:
438
diff
changeset
|
587 u_str = unicode(str) |
e5157e2a530e
added safe unicode funtion, and implemented it in whoosh indexer
Marcin Kuzminski <marcin@python-works.com>
parents:
438
diff
changeset
|
588 except UnicodeDecodeError: |
e5157e2a530e
added safe unicode funtion, and implemented it in whoosh indexer
Marcin Kuzminski <marcin@python-works.com>
parents:
438
diff
changeset
|
589 try: |
e5157e2a530e
added safe unicode funtion, and implemented it in whoosh indexer
Marcin Kuzminski <marcin@python-works.com>
parents:
438
diff
changeset
|
590 u_str = unicode(str, 'utf-8', 'replace') |
e5157e2a530e
added safe unicode funtion, and implemented it in whoosh indexer
Marcin Kuzminski <marcin@python-works.com>
parents:
438
diff
changeset
|
591 except UnicodeDecodeError: |
e5157e2a530e
added safe unicode funtion, and implemented it in whoosh indexer
Marcin Kuzminski <marcin@python-works.com>
parents:
438
diff
changeset
|
592 #incase we have a decode error just represent as byte string |
e5157e2a530e
added safe unicode funtion, and implemented it in whoosh indexer
Marcin Kuzminski <marcin@python-works.com>
parents:
438
diff
changeset
|
593 u_str = unicode(str(str).encode('string_escape')) |
631
05528ad948c4
Hacking for git support,and new faster repo scan
Marcin Kuzminski <marcin@python-works.com>
parents:
604
diff
changeset
|
594 |
450
c3236d7febad
fixed, empty cs bug.
Marcin Kuzminski <marcin@python-works.com>
parents:
448
diff
changeset
|
595 return u_str |
990
7a1df0130533
moved tooltip function from the for loop and from templates to helpers
Marcin Kuzminski <marcin@python-works.com>
parents:
966
diff
changeset
|
596 |
7a1df0130533
moved tooltip function from the for loop and from templates to helpers
Marcin Kuzminski <marcin@python-works.com>
parents:
966
diff
changeset
|
597 def changed_tooltip(nodes): |
7a1df0130533
moved tooltip function from the for loop and from templates to helpers
Marcin Kuzminski <marcin@python-works.com>
parents:
966
diff
changeset
|
598 if nodes: |
7a1df0130533
moved tooltip function from the for loop and from templates to helpers
Marcin Kuzminski <marcin@python-works.com>
parents:
966
diff
changeset
|
599 pref = ': <br/> ' |
7a1df0130533
moved tooltip function from the for loop and from templates to helpers
Marcin Kuzminski <marcin@python-works.com>
parents:
966
diff
changeset
|
600 suf = '' |
7a1df0130533
moved tooltip function from the for loop and from templates to helpers
Marcin Kuzminski <marcin@python-works.com>
parents:
966
diff
changeset
|
601 if len(nodes) > 30: |
7a1df0130533
moved tooltip function from the for loop and from templates to helpers
Marcin Kuzminski <marcin@python-works.com>
parents:
966
diff
changeset
|
602 suf = '<br/>' + _(' and %s more') % (len(nodes) - 30) |
7a1df0130533
moved tooltip function from the for loop and from templates to helpers
Marcin Kuzminski <marcin@python-works.com>
parents:
966
diff
changeset
|
603 return literal(pref + '<br/> '.join([x.path for x in nodes[:30]]) + suf) |
7a1df0130533
moved tooltip function from the for loop and from templates to helpers
Marcin Kuzminski <marcin@python-works.com>
parents:
966
diff
changeset
|
604 else: |
7a1df0130533
moved tooltip function from the for loop and from templates to helpers
Marcin Kuzminski <marcin@python-works.com>
parents:
966
diff
changeset
|
605 return ': ' + _('No Files') |