Files
@ e13a747e9c6a
Branch filter:
Location: kallithea/rhodecode/lib/vcs/utils/lazy.py - annotation
e13a747e9c6a
1.5 KiB
text/x-python
Migrate to jQuery 1.10.2 from 1.10.1.
Include the minified version of jQuery 1.10.2 instead of 1.10.1. The 1.10.2
files were download via these commands:
$ wget -N http://code.jquery.com/jquery-1.10.2.min.js
$ wget -N http://code.jquery.com/jquery-1.10.2.min.map
Meanwhile, since the Javascript code is covered by GPLv3, we should always
provide an up-to-date version of the source code. I have included it
here by creating the directory jquery-src. I extracted the correct version
of the source with the following commands:
$ git clone git://github.com/jquery/jquery.git
$ git checkout 1.10.2
which is what the jQuery website instructs to do: http://jquery.com/download/
This repository is mirrorred at https://kallithea-scm.org/repos/mirror/jquery/ .
Include the minified version of jQuery 1.10.2 instead of 1.10.1. The 1.10.2
files were download via these commands:
$ wget -N http://code.jquery.com/jquery-1.10.2.min.js
$ wget -N http://code.jquery.com/jquery-1.10.2.min.map
Meanwhile, since the Javascript code is covered by GPLv3, we should always
provide an up-to-date version of the source code. I have included it
here by creating the directory jquery-src. I extracted the correct version
of the source with the following commands:
$ git clone git://github.com/jquery/jquery.git
$ git checkout 1.10.2
which is what the jQuery website instructs to do: http://jquery.com/download/
This repository is mirrorred at https://kallithea-scm.org/repos/mirror/jquery/ .
f134d125fb67 f134d125fb67 f134d125fb67 f134d125fb67 f134d125fb67 f134d125fb67 f134d125fb67 f134d125fb67 f134d125fb67 f134d125fb67 f134d125fb67 324ac367a4da 324ac367a4da 324ac367a4da 324ac367a4da 324ac367a4da 324ac367a4da 324ac367a4da 324ac367a4da 324ac367a4da 324ac367a4da 324ac367a4da 324ac367a4da 324ac367a4da 324ac367a4da 324ac367a4da 324ac367a4da 324ac367a4da 324ac367a4da 324ac367a4da c4d418b440d1 324ac367a4da 324ac367a4da 324ac367a4da 324ac367a4da 324ac367a4da c4d418b440d1 f134d125fb67 f134d125fb67 f134d125fb67 f134d125fb67 f134d125fb67 7ae9939409ab 7ae9939409ab 7ae9939409ab 7ae9939409ab 7ae9939409ab 7ae9939409ab 7ae9939409ab 7ae9939409ab 7ae9939409ab 7ae9939409ab 7ae9939409ab 7ae9939409ab 7ae9939409ab 7ae9939409ab 7ae9939409ab f134d125fb67 f134d125fb67 f134d125fb67 f134d125fb67 f134d125fb67 | class _Missing(object):
def __repr__(self):
return 'no value'
def __reduce__(self):
return '_missing'
_missing = _Missing()
class LazyProperty(object):
"""
Decorator for easier creation of ``property`` from potentially expensive to
calculate attribute of the class.
Usage::
class Foo(object):
@LazyProperty
def bar(self):
print 'Calculating self._bar'
return 42
Taken from http://blog.pythonisito.com/2008/08/lazy-descriptors.html and
used widely.
"""
def __init__(self, func):
self._func = func
self.__module__ = func.__module__
self.__name__ = func.__name__
self.__doc__ = func.__doc__
def __get__(self, obj, klass=None):
if obj is None:
return self
value = obj.__dict__.get(self.__name__, _missing)
if value is _missing:
value = self._func(obj)
obj.__dict__[self.__name__] = value
return value
import threading
class ThreadLocalLazyProperty(LazyProperty):
"""
Same as above but uses thread local dict for cache storage.
"""
def __get__(self, obj, klass=None):
if obj is None:
return self
if not hasattr(obj, '__tl_dict__'):
obj.__tl_dict__ = threading.local().__dict__
value = obj.__tl_dict__.get(self.__name__, _missing)
if value is _missing:
value = self._func(obj)
obj.__tl_dict__[self.__name__] = value
return value
|