15
0
Ciaran Farrell
2009-08-10 14:47:54 +00:00
committed by Git OBS Bridge
parent 0eae4e724d
commit fd2f56ce32
5 changed files with 85 additions and 9 deletions

View File

@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:2a95e9e6076d5d969ae75e79724e54a9ffd4ddc19f395dfc7346fd4a02440263
size 15458

View File

@@ -0,0 +1,75 @@
diff -up decorator-3.0.1/documentation.py.doctest decorator-3.0.1/documentation.py
--- decorator-3.0.1/documentation.py.doctest 2009-05-21 21:13:24.171482875 -0700
+++ decorator-3.0.1/documentation.py 2009-05-21 21:59:01.242233871 -0700
@@ -120,7 +120,7 @@ keyword arguments:
>>> from inspect import getargspec
>>> print getargspec(f1)
- ([], 'args', 'kw', None)
+ ArgSpec(args=[], varargs='args', keywords='kw', defaults=None)
This means that introspection tools such as pydoc will give
wrong informations about the signature of ``f1``. This is pretty bad:
@@ -186,7 +186,7 @@ The signature of ``heavy_computation`` i
.. code-block:: python
>>> print getargspec(heavy_computation)
- ([], None, None, None)
+ ArgSpec(args=[], varargs=None, keywords=None, defaults=None)
A ``trace`` decorator
------------------------------------------------------
@@ -219,7 +219,7 @@ and it that it has the correct signature
.. code-block:: python
>>> print getargspec(f1)
- (['x'], None, None, None)
+ ArgSpec(args=['x'], varargs=None, keywords=None, defaults=None)
The same decorator works with functions of any signature:
@@ -233,7 +233,7 @@ The same decorator works with functions
calling f with args (0, 3, 2), {}
>>> print getargspec(f)
- (['x', 'y', 'z'], 'args', 'kw', (1, 2))
+ ArgSpec(args=['x', 'y', 'z'], varargs='args', keywords='kw', defaults=(1, 2))
That includes even functions with exotic signatures like the following:
@@ -243,7 +243,7 @@ That includes even functions with exotic
... def exotic_signature((x, y)=(1,2)): return x+y
>>> print getargspec(exotic_signature)
- ([['x', 'y']], None, None, ((1, 2),))
+ ArgSpec(args=[['x', 'y']], varargs=None, keywords=None, defaults=((1, 2),))
>>> exotic_signature()
calling exotic_signature with args ((1, 2),), {}
3
@@ -281,7 +281,7 @@ can easily check that the signature has
.. code-block:: python
>>> print getargspec(trace)
- (['f'], None, None, None)
+ ArgSpec(args=['f'], varargs=None, keywords=None, defaults=None)
Therefore now ``trace`` can be used as a decorator and
the following will work:
@@ -387,13 +387,13 @@ be locked. Here is a minimalistic exampl
Each call to ``write`` will create a new writer thread, but there will
be no synchronization problems since ``write`` is locked.
->>> write("data1")
-<Thread(write-1, started)>
+>>> write("data1") # doctest: +ELLIPSIS
+<Thread(write-1, started...)>
>>> time.sleep(.1) # wait a bit, so we are sure data2 is written after data1
->>> write("data2")
-<Thread(write-2, started)>
+>>> write("data2") # doctest: +ELLIPSIS
+<Thread(write-2, started...)>
>>> time.sleep(2) # wait for the writers to complete

3
decorator-3.0.1.tar.bz2 Normal file
View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:6c3b80ef5ffc06010990889c7cb9e9c6883907bb27fd8dd2e91f1a94108f3804
size 121559

View File

@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:d4294afdd740b8f32f2381450b4521c812ba5d8919b57f9abaeb5ea151e6d1f3
size 151960

View File

@@ -6,10 +6,12 @@ Summary: Better Living Through Python With Decorators
URL: http://www.phyast.pitt.edu/~micheles/python/documentation.html
License: BSD
Group: Development/Libraries/Python
Source: %{modname}-%{version}.tar.gz
Source: %{modname}-%{version}.tar.bz2
Patch0: decorator-3.0.1-doctest.patch
BuildRoot: %{_tmppath}/%{name}-buildroot
%{py_requires}
BuildRequires: python-devel
BuildRequires: python-nose
%description
As of now, writing custom decorators correctly requires some experience and it
@@ -29,8 +31,10 @@ Authors:
%prep
%setup -q -n %{modname}-%{version}
%patch0 -p1 -b .doctest
# Remove executable bits from doc files
chmod -x *
chmod a-x *.txt *.py
sed -i 's/\r//' README.txt
%build
export CFLAGS="$RPM_OPT_FLAGS"
@@ -44,7 +48,7 @@ rm -rf %{buildroot}
%files -f INSTALLED_FILES
%defattr(-,root,root)
%doc CHANGES.txt README.txt corner-cases.txt documentation.txt other.txt util.py
%doc CHANGES.txt README.txt documentation.html
%changelog
* Mon Aug 10 2009 - Ciaran Farrell <cfarrell1980@gmail.com> - 3.0.1-1