Mercurial > kallithea
changeset 2792:9ae95fdeca18 rhodecode-0.0.1.4.0
merge with beta
author | Marcin Kuzminski <marcin@python-works.com> |
---|---|
date | Mon, 03 Sep 2012 21:59:31 +0200 |
parents | c85746b607bd (current diff) 85bb0866d444 (diff) |
children | 4c13cedbde93 |
files | rhodecode/controllers/summary.py rhodecode/lib/utils.py rhodecode/model/db.py |
diffstat | 8 files changed, 39 insertions(+), 30 deletions(-) [+] |
line wrap: on
line diff
--- a/rhodecode/controllers/summary.py Sun Sep 02 23:29:39 2012 +0200 +++ b/rhodecode/controllers/summary.py Mon Sep 03 21:59:31 2012 +0200 @@ -195,6 +195,8 @@ try: # get's the landing revision! or tip if fails cs = db_repo.get_landing_changeset() + if isinstance(cs, EmptyChangeset): + raise EmptyRepositoryError() renderer = MarkupRenderer() for f in README_FILES: try:
--- a/rhodecode/lib/compat.py Sun Sep 02 23:29:39 2012 +0200 +++ b/rhodecode/lib/compat.py Mon Sep 03 21:59:31 2012 +0200 @@ -407,6 +407,15 @@ #============================================================================== +# bytes +#============================================================================== +if __py_version__ >= (2, 6): + _bytes = bytes +else: + # in py2.6 bytes is a synonim for str + _bytes = str + +#============================================================================== # deque #============================================================================== @@ -416,11 +425,11 @@ #need to implement our own deque with maxlen class deque(object): - def __init__(self, iterable=(), maxlen=-1): + def __init__(self, iterable=(), maxlen= -1): if not hasattr(self, 'data'): self.left = self.right = 0 self.data = {} - self.maxlen = maxlen + self.maxlen = maxlen or -1 self.extend(iterable) def append(self, x): @@ -537,9 +546,9 @@ #============================================================================== if __py_version__ >= (2, 6): - from threading import Event + from threading import Event, Thread else: - from threading import _Verbose, Condition, Lock + from threading import _Verbose, Condition, Lock, Thread def Event(*args, **kwargs): return _Event(*args, **kwargs)
--- a/rhodecode/lib/subprocessio.py Sun Sep 02 23:29:39 2012 +0200 +++ b/rhodecode/lib/subprocessio.py Mon Sep 03 21:59:31 2012 +0200 @@ -24,11 +24,10 @@ ''' import os import subprocess -import threading -from rhodecode.lib.compat import deque, Event +from rhodecode.lib.compat import deque, Event, Thread, _bytes -class StreamFeeder(threading.Thread): +class StreamFeeder(Thread): """ Normal writing into pipe-like is blocking once the buffer is filled. This thread allows a thread to seep data from a file-like into a pipe @@ -39,9 +38,9 @@ super(StreamFeeder, self).__init__() self.daemon = True filelike = False - self.bytes = bytes() - if type(source) in (type(''), bytes, bytearray): # string-like - self.bytes = bytes(source) + self.bytes = _bytes() + if type(source) in (type(''), _bytes, bytearray): # string-like + self.bytes = _bytes(source) else: # can be either file pointer or file-like if type(source) in (int, long): # file pointer it is ## converting file descriptor (int) stdin into file-like @@ -77,7 +76,7 @@ return self.readiface -class InputStreamChunker(threading.Thread): +class InputStreamChunker(Thread): def __init__(self, source, target, buffer_size, chunk_size): super(InputStreamChunker, self).__init__() @@ -121,6 +120,7 @@ da = self.data_added go = self.go b = s.read(cs) + while b and go.is_set(): if len(t) > ccm: kr.clear() @@ -180,7 +180,7 @@ self.worker.data_added.wait(0.2) if len(self.data): self.worker.keep_reading.set() - return bytes(self.data.popleft()) + return _bytes(self.data.popleft()) elif self.worker.EOF.is_set(): raise StopIteration
--- a/rhodecode/lib/utils.py Sun Sep 02 23:29:39 2012 +0200 +++ b/rhodecode/lib/utils.py Mon Sep 03 21:59:31 2012 +0200 @@ -91,7 +91,7 @@ slug = remove_formatting(value) slug = strip_tags(slug) - for c in """=[]\;'"<>,/~!@#$%^&*()+{}|: """: + for c in """`?=[]\;'"<>,/~!@#$%^&*()+{}|: """: slug = slug.replace(c, '-') slug = recursive_replace(slug, '-') slug = collapse(slug, '-')
--- a/rhodecode/model/db.py Sun Sep 02 23:29:39 2012 +0200 +++ b/rhodecode/model/db.py Mon Sep 03 21:59:31 2012 +0200 @@ -1534,7 +1534,7 @@ hl_lines = Column('hl_lines', Unicode(512), nullable=True) f_path = Column('f_path', Unicode(1000), nullable=True) user_id = Column('user_id', Integer(), ForeignKey('users.user_id'), nullable=False) - text = Column('text', Unicode(25000), nullable=False) + text = Column('text', UnicodeText(25000), nullable=False) created_on = Column('created_on', DateTime(timezone=False), nullable=False, default=datetime.datetime.now) modified_at = Column('modified_at', DateTime(timezone=False), nullable=False, default=datetime.datetime.now)
--- a/rhodecode/public/js/rhodecode.js Sun Sep 02 23:29:39 2012 +0200 +++ b/rhodecode/public/js/rhodecode.js Mon Sep 03 21:59:31 2012 +0200 @@ -372,18 +372,18 @@ } }; -var tableTr = function(cls,body){ - var tr = document.createElement('tr'); - YUD.addClass(tr, cls); - - +var tableTr = function(cls, body){ + var _el = document.createElement('div'); var cont = new YAHOO.util.Element(body); var comment_id = fromHTML(body).children[0].id.split('comment-')[1]; - tr.id = 'comment-tr-{0}'.format(comment_id); - tr.innerHTML = '<td class="lineno-inline new-inline"></td>'+ - '<td class="lineno-inline old-inline"></td>'+ - '<td>{0}</td>'.format(body); - return tr; + var id = 'comment-tr-{0}'.format(comment_id); + var _html = ('<table><tbody><tr id="{0}" class="{1}">'+ + '<td class="lineno-inline new-inline"></td>'+ + '<td class="lineno-inline old-inline"></td>'+ + '<td>{2}</td>'+ + '</tr></tbody></table>').format(id, cls, body); + _el.innerHTML = _html; + return _el.children[0].children[0].children[0]; }; /** comments **/ @@ -395,7 +395,7 @@ var tmpl = YUD.get('comment-inline-form-template').innerHTML; tmpl = tmpl.format(f_path, line); var form = tableTr('comment-form-inline',tmpl) - + // create event for hide button form = new YAHOO.util.Element(form); var form_hide_button = new YAHOO.util.Element(YUD.getElementsByClassName('hide-inline-form',null,form)[0]); @@ -444,13 +444,11 @@ } } YUD.insertAfter(form,parent); - var f = YUD.get(form); - var overlay = YUD.getElementsByClassName('overlay',null,f)[0]; var _form = YUD.getElementsByClassName('inline-form',null,f)[0]; - form.on('submit',function(e){ + YUE.on(YUD.get(_form), 'submit',function(e){ YUE.preventDefault(e); //ajax submit
--- a/rhodecode/templates/index_base.html Sun Sep 02 23:29:39 2012 +0200 +++ b/rhodecode/templates/index_base.html Mon Sep 03 21:59:31 2012 +0200 @@ -42,7 +42,7 @@ </div> </td> %if c.visual.stylify_metatags: - <td>${h.desc_stylize(gr.group_description)}</td> + <td>${h.urlify_text(h.desc_stylize(gr.group_description))}</td> %else: <td>${gr.group_description}</td> %endif
--- a/rhodecode/tests/test_libs.py Sun Sep 02 23:29:39 2012 +0200 +++ b/rhodecode/tests/test_libs.py Mon Sep 03 21:59:31 2012 +0200 @@ -22,7 +22,7 @@ # # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. - +from __future__ import with_statement import unittest import datetime import hashlib