Skip to content

Commit b55b541

Browse files
Merge pull request #87 from klehman-rally/master
mods, defect fixes, new features, perf enhancements for 1.2.0
2 parents ed49086 + 71b9312 commit b55b541

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

77 files changed

+3756
-1330
lines changed

LICENSE

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
Copyright © 2010-2015, Rally Software Development Corp. Boulder, Colorado USA
1+
Copyright © 2016, CA Technologies; 2010-2015, Rally Software Development Corp. Boulder, Colorado USA
22
All rights reserved.
33

44
License for pyral (a Python toolkit for the Rally REST API)

README.rst

Lines changed: 54 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,11 @@ and productive Python language.
88
The ``pyral`` package provides a smooth and easy to use veneer on top
99
of the Rally REST Web Services API using JSON.
1010

11+
As of July 2015, the Rally Software Development company was acquired by CA Technologies.
12+
The Rally product itself has been rebranded as 'Agile Central'. Over time, the documentation
13+
will transition from using the term 'Rally' to using 'Agile Central'.
14+
15+
1116
.. contents::
1217

1318
Getting started
@@ -34,7 +39,7 @@ Obtain the requests_ package and install it according to that package's directio
3439
As of requests-2.0.0, there is support for HTTPS over HTTP proxy via the CONNECT request.
3540
Use of requests-2.x or better is recommended for use with pyral.
3641
The requests_ package can be found via the Python Package Index site (http://pypi/python.org/index).
37-
The most recent release of pyral (1.1.1) has been tested using requests 2.3.0.
42+
The most recent release of pyral (1.2.0) has been tested using requests 2.8.1.
3843

3944

4045
Unpack the ``pyral`` distribution file (zip or tar.gz) and then install the pyral_ package.
@@ -56,11 +61,11 @@ relevant packages.
5661
::
5762

5863
$ python
59-
Python 2.7.5 [other Python interpreter info elided ...]
64+
Python 2.7.11 [other Python interpreter info elided ...]
6065
>> import requests
6166
>> import pyral
6267
>> pyral.__version__
63-
(1, 1, 1)
68+
(1, 2, 0)
6469

6570

6671

@@ -87,7 +92,7 @@ Full Documentation
8792
The complete documentation for the Python toolkit for Rally REST API
8893
is in the doc/build/html subdirectory in the repository.
8994
The rendered version of this is also available at
90-
http://readthedocs.org/docs/pyral.
95+
http://pyral.readthedocs.io/en/latest/
9196

9297

9398
Sample code
@@ -254,42 +259,63 @@ The item names in config files **are** case sensitive.
254259
Prerequisites
255260
-------------
256261

257-
* Python 2.6 or 2.7 (2.7 is preferred)
262+
* Python 2.6 or 2.7 (2.7 is preferred) OR
263+
* Python 3.5 (this package not tested with earlier versions of Python 3.x)
258264
* The requests_ package, 2.0.0 or better (2.0.0 finally includes support for https proxy),
259-
requests 2.3.0 is recommended.
265+
requests 2.8.1 is recommended.
260266

261267
.. _requests: http://github.com/kennethreitz/requests
262268

263269
Versions
264270
--------
265271

272+
1.2.0
273+
Support for Python 3.5.x
274+
Begin deprecation sequence for pinging the Rally server before the connection attempt,
275+
initially with this version, allow option on instantiation to bypass ping.
276+
Added ability to rankAbove, rankBelow, rankToTop, rankToBottom for an Artifact.
277+
Fixed defect where user has no default workspace or project.
278+
279+
addAttachment now correctly handles binary file, attachment size limit increased to 50MB to match Agile Central limit.
280+
Exception generated when running getAllUsers when credentials are for non Subscription/Workspace Administrator has been fixed.
281+
Added ability to work with a single Workspace, which has beneficial performance effect for Subscriptions with a large number of Workspaces.
282+
Modified internal attribute handling to limit calls to get attribute's allowed values to qualifying attribute types.
283+
Added examples/updtag.py script.
284+
285+
266286
1.1.1
267-
- Modified entity.py to allow it to pass back PortfolioItem sub type instances.
268-
- Modified rallyresp.py defect referencing non-existing req_type instance var by changing reference to request_type.
269-
- Modified restapi.py to use user, dropped auth_user.
270-
- Modified restapi.py to be more defensive when user has no associated UserProfile.
271-
- Modified context.py to account for use of Cygwin in Pinger code.
272-
- Modified restapi.py to handle encoding of attachment content to match Rally expectations.
273-
- Modified restapi.py/entity.py to handle querying of SchedulableArtifact instances.
274-
- Modified restapi.py to handle querying and hydrating of PortfolioItem instances more completely.
275-
- Modified restapi.py/entity.py to provide rudimentary support for querying of RecycleBin entries.
276-
- Modified restapi.py and added search_utils.py to provide a search method for pyral Rally instances.
277-
- Modified rallyresp.py to better handle some boundary conditions when response body item counts differ from what is stated in the TotalResultCount.
278-
- Modified context.py to account for scenario where user's default workspace has no projects.
279-
- Modified restapi.py/getProject to return correct project.
287+
Modified entity.py to allow it to pass back PortfolioItem sub type instances.
288+
Modified rallyresp.py defect referencing non-existing req_type instance var by changing
289+
reference to request_type.
290+
Modified restapi.py to use user, dropped auth_user.
291+
Modified restapi.py to be more defensive when user has no associated UserProfile.
292+
Modified context.py to account for use of Cygwin in Pinger code.
293+
Modified restapi.py to handle encoding of attachment content to match Rally expectations.
294+
Modified restapi.py/entity.py to handle querying of SchedulableArtifact instances.
295+
Modified restapi.py to handle querying and hydrating of PortfolioItem instances more completely.
296+
Modified restapi.py/entity.py to provide rudimentary support for querying of RecycleBin entries.
297+
Modified restapi.py and added search_utils.py to provide a search method for pyral Rally instances.
298+
Modified rallyresp.py to better handle some boundary conditions when response body item counts
299+
differ from what is stated in the TotalResultCount.
300+
Modified context.py to account for scenario where user's default workspace has no projects.
301+
Modified restapi.py/getProject to return correct project.
280302

281303
1.1.0
282-
- Introduction of support to use Rally API Key and rallyWorkset (supercedes rallySettings).
283-
- Two relatively minor defects fixed dealing with internalizing environment vars for initialization and in retrieving Rally entity attribute allowed values.
304+
Introduction of support to use Rally API Key and rallyWorkset (supercedes rallySettings).
305+
Two relatively minor defects fixed dealing with internalizing environment
306+
vars for initialization and in retrieving Rally entity attribute allowed values.
284307

285308
1.0.1
286-
- Patch to address defect with Rally WSAPI v2.0 projects collection endpoint providing conflicting information.
309+
Patch to address defect with Rally WSAPI v2.0 projects collection endpoint
310+
providing conflicting information.
287311

288312
1.0.0
289-
- Default WSAPI version in config is v2.0. This version is not compatible with Rally WSAPI version 1.x.
290-
- Adjusted the RallyUrlBuilder (via RallyQueryFormatter) to be more resilient with respect to many more "special" characters (non-alphanumeric).
291-
- Retrieving the meta data uses the v2.0 schema endpoint.
292-
- No longer support a version keyword argument when obtaining a Rally instance.
313+
Default WSAPI version in config is v2.0. This version is not compatible
314+
with Rally WSAPI version 1.x.
315+
Adjusted the RallyUrlBuilder (via RallyQueryFormatter) to be more resilient
316+
with respect to many more "special" characters (non-alphanumeric).
317+
Retrieving the meta data uses the v2.0 schema endpoint.
318+
No longer support a version keyword argument when obtaining a Rally instance.
293319

294320
0.9.4
295321
Adjusted Rally __init__ to accommodate using requests 0.x, 1.x, 2.x versions.
@@ -355,15 +381,14 @@ Versions
355381

356382
TODO
357383
----
358-
* Rework the distribution to be pip installable
384+
* Investigate permanent location for web-access to rendered documentation
359385
* Dynamically construct the Rally schema hierarchy economically.
360-
* Python 3.3+ support
361386

362387

363388
License
364389
-------
365390

366-
BSD3-style license. Copyright (c) 2010-2015 Rally Software Development.
391+
BSD3-style license. Copyright (c) 2015-2016 CA Technologies, 2010-2015 Rally Software Development.
367392

368393
See the LICENSE file provided with the source distribution for full details.
369394

README.short

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ Requirements
2020
The pyral package requires the use of Kenneth Reitz's requests package using version 2.0.0 or better.
2121
As of requests version 2.0.0, there is support for HTTPS over HTTP proxy via the CONNECT request.
2222
The requests package can be found via the Python Package Index site (http://pypi/python.org/index).
23-
The most recent release of pyral (1.1.1) has been tested with requests 2.3.0.
23+
The most recent release of pyral (1.2.0) has been tested with requests 2.8.1.
2424

2525

2626
Installation
@@ -48,5 +48,5 @@ Documentation
4848
Obtain the zip file containing the HTML and CSS files comprising the document set for pyral.
4949
Unzip in a suitable location and point your web browser to the doc/build/html/index.html file
5050

51-
The rendered documentation is also available at http://readthedocs.org/docs/pyral .
51+
The rendered documentation is also available at http://pyral.readthedocs.io/en/latest/
5252

VERSIONS

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -72,3 +72,18 @@
7272
Added ability to query RecycleBin entries.
7373
Added basic search method to Rally instance.
7474

75+
1.1.2 - February 2016
76+
internal release only
77+
minor style mods for Pinger
78+
fixed handling of proxy value under some edge conditions
79+
exploratory support for Python 3.5
80+
81+
1.2.0 - Oct 2016
82+
support for Python 3.5
83+
allow instantiation option to bypass use of Pinger
84+
changed header to reflect change of company name to CA Technologies
85+
added ranking convenience methods
86+
modified handling of attribute allowedValues for better create/update performance
87+
allow instantiation option to work with only one workspace for better performance for Subscriptions with large number of Workspaces
88+
fix addAttachment handling to allow binary files and increase size limit to 50MB.
89+

build_dist.py

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
import zipfile
1212

1313
PACKAGE_NAME = "pyral"
14-
VERSION = "1.1.1"
14+
VERSION = "1.2.0"
1515

1616
AUX_FILES = ['MANIFEST.in',
1717
'LICENSE',
@@ -36,7 +36,8 @@
3636
'get_attachments.py',
3737
'get_schedulable_artifacts.py',
3838
'add_tcrs.py',
39-
'defrevs.py'
39+
'defrevs.py',
40+
'updtag.py'
4041
]
4142
DOC_FILES = ['doc/Makefile',
4243
'doc/source/conf.py',
@@ -67,6 +68,8 @@
6768
'test/test_search.py',
6869
'test/test_wksprj_setting.py',
6970
'test/test_attachments.py',
71+
'test/test_workspaces.py'
72+
'test/test_ranking.py'
7073
]
7174

7275
################################################################################
@@ -80,10 +83,13 @@ def main(args):
8083

8184
zf = zipfile.ZipFile(zipped, 'r')
8285
for info in zf.infolist():
83-
#print info.filename, info.date_time, info.file_size, info.compress_size
84-
reduction_fraction = float(info.compress_size) / float(info.file_size)
86+
#print(info.filename, info.date_time, info.file_size, info.compress_size)
87+
if info.file_size:
88+
reduction_fraction = float(info.compress_size) / float(info.file_size)
89+
else:
90+
reduction_fraction = 0.0
8591
reduction_pct = int(reduction_fraction * 100)
86-
print "%-52.52s %6d (%2d%%)" % (info.filename, info.compress_size, reduction_pct)
92+
print("%-52.52s %6d (%2d%%)" % (info.filename, info.compress_size, reduction_pct))
8793

8894
################################################################################
8995

dists/pyral-1.2.0.tar.gz

845 KB
Binary file not shown.

dists/pyral-1.2.0.zip

218 KB
Binary file not shown.
793 Bytes
Binary file not shown.

doc/build/doctrees/index.doctree

5 Bytes
Binary file not shown.
21.8 KB
Binary file not shown.

0 commit comments

Comments
 (0)