Mercurial > hg
annotate contrib/casesmash.py @ 19746:9ad7dd9574a9
hgweb: add ajaxScrollInit function, which does the ajax requests and processing
This function should be correctly called on a page, otherwise there is
no effect.
When called, it makes ajax requests for the next portion of changesets when the
user scrolls to the end. Also, when the monitor is high so that the
default amount of changesets isn't enough to fill it, multiple portions are
loaded if needed after the page load.
author | Alexander Plavin <alexander@plav.in> |
---|---|
date | Wed, 18 Sep 2013 22:44:12 +0400 |
parents | 9de689d20230 |
children | 42a7301fb4d5 |
rev | line source |
---|---|
19322
ff1586a3adc5
cleanup: remove unused imports
Simon Heimberg <simohe@besonet.ch>
parents:
14730
diff
changeset
|
1 import os, __builtin__ |
14730 | 2 from mercurial import util |
3 | |
4 def lowerwrap(scope, funcname): | |
5 f = getattr(scope, funcname) | |
6 def wrap(fname, *args, **kwargs): | |
7 d, base = os.path.split(fname) | |
8 try: | |
9 files = os.listdir(d or '.') | |
19378
9de689d20230
cleanup: drop unused variables and an unused import
Simon Heimberg <simohe@besonet.ch>
parents:
19322
diff
changeset
|
10 except OSError: |
14730 | 11 files = [] |
12 if base in files: | |
13 return f(fname, *args, **kwargs) | |
14 for fn in files: | |
15 if fn.lower() == base.lower(): | |
16 return f(os.path.join(d, fn), *args, **kwargs) | |
17 return f(fname, *args, **kwargs) | |
18 scope.__dict__[funcname] = wrap | |
19 | |
20 def normcase(path): | |
21 return path.lower() | |
22 | |
23 os.path.normcase = normcase | |
24 | |
25 for f in 'file open'.split(): | |
26 lowerwrap(__builtin__, f) | |
27 | |
28 for f in "chmod chown open lstat stat remove unlink".split(): | |
29 lowerwrap(os, f) | |
30 | |
31 for f in "exists lexists".split(): | |
32 lowerwrap(os.path, f) | |
33 | |
34 lowerwrap(util, 'posixfile') |