Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(12)

Side by Side Diff: third_party/psutil/psutil/_compat.py

Issue 8774018: Add psutil build step to fix pyauto media issues. Upgrade psutil to 0.4.0. (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: Disable Mac builds. Created 9 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 #!/usr/bin/env python 1 #!/usr/bin/env python
2 # 2 #
3 # $Id: _compat.py 1142 2011-10-05 18:45:49Z g.rodola $ 3 # $Id: _compat.py 1145 2011-10-11 10:30:02Z g.rodola $
4 # 4 #
5 # Copyright (c) 2009, Jay Loden, Giampaolo Rodola'. All rights reserved. 5 # Copyright (c) 2009, Jay Loden, Giampaolo Rodola'. All rights reserved.
6 # Use of this source code is governed by a BSD-style license that can be 6 # Use of this source code is governed by a BSD-style license that can be
7 # found in the LICENSE file. 7 # found in the LICENSE file.
8 8
9 """Module which provides compatibility with older Python versions.""" 9 """Module which provides compatibility with older Python versions."""
10 10
11 __all__ = ["namedtuple", "property"] 11 __all__ = ["namedtuple", "property"]
12 12
13 from operator import itemgetter as _itemgetter 13 from operator import itemgetter as _itemgetter
(...skipping 98 matching lines...) Expand 10 before | Expand all | Expand 10 after
112 # for example) or sys._getframe is not defined for arguments 112 # for example) or sys._getframe is not defined for arguments
113 # greater than 0 (IronPython). 113 # greater than 0 (IronPython).
114 try: 114 try:
115 result.__module__ = _sys._getframe(1).f_globals.get('__name__', '__m ain__') 115 result.__module__ = _sys._getframe(1).f_globals.get('__name__', '__m ain__')
116 except (AttributeError, ValueError): 116 except (AttributeError, ValueError):
117 pass 117 pass
118 118
119 return result 119 return result
120 120
121 121
122 # dirty hack to support property.setter on python < 2.6 122 # hack to support property.setter/deleter on python < 2.6
123 property = property 123 # http://docs.python.org/library/functions.html?highlight=property#property
124 124 if hasattr(property, 'setter'):
125 if not hasattr(property, "setter"): 125 property = property
126 126 else:
127 class property(property): 127 class property(__builtin__.property):
128 __metaclass__ = type
128 129
129 def __init__(self, fget, *args, **kwargs): 130 def __init__(self, fget, *args, **kwargs):
131 super(property, self).__init__(fget, *args, **kwargs)
130 self.__doc__ = fget.__doc__ 132 self.__doc__ = fget.__doc__
131 super(property, self).__init__(fget, *args, **kwargs)
132 133
133 def setter(self, fset): 134 def getter(self, method):
134 cls_ns = _sys._getframe(1).f_locals 135 return property(method, self.fset, self.fdel)
135 for k, v in cls_ns.iteritems():
136 if v == self:
137 propname = k
138 break
139 cls_ns[propname] = property(self.fget, fset,
140 self.fdel, self.__doc__)
141 return cls_ns[propname]
142 136
143 def deleter(self, fdel): 137 def setter(self, method):
144 cls_ns = _sys._getframe(1).f_locals 138 return property(self.fget, method, self.fdel)
145 for k, v in cls_ns.iteritems():
146 if v == self:
147 propname = k
148 break
149 cls_ns[propname] = property(self.fget, self.fset,
150 fdel, self.__doc__)
151 return cls_ns[propname]
152 139
153 __builtin__.property = property 140 def deleter(self, method):
154 141 return property(self.fget, self.fset, method)
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698