Skip to content

Commit

Permalink
Update readme, fix grammar in docs.
Browse files Browse the repository at this point in the history
  • Loading branch information
vasily-v-ryabov committed Sep 8, 2015
1 parent 01502b5 commit 6ee10c1
Show file tree
Hide file tree
Showing 5 changed files with 47 additions and 46 deletions.
19 changes: 10 additions & 9 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ Recommended usage: 64-bit Python is for 64-bit applications; 32-bit Python is fo

### Setup
* Install [pyWin32 extensions](http://sourceforge.net/projects/pywin32/files/pywin32/) (no need for Active Python)
* Download [latest pywinauto release](https://github.com/pywinauto/pywinauto/releases/download/0.5.1/pywinauto-0.5.1.zip)
* Download [latest pywinauto release](https://github.com/pywinauto/pywinauto/releases/download/0.5.2/pywinauto-0.5.2.zip)
* Just unpack and run `python setup.py install`

### Documentation
Expand All @@ -20,13 +20,14 @@ Recommended usage: 64-bit Python is for 64-bit applications; 32-bit Python is fo
* [HowTo's](http://pywinauto.github.io/docs/HowTo.html)
* [Code examples (gists) on gist.github.com](https://gist.github.com/vasily-v-ryabov)

### pywinauto 0.5.1 release notes (2015 July, 13)
- [x] Resolve pip issues
- [x] Warnings about mismatched Python/application bitness
- [x] Add "TCheckBox" class name to ButtonWrapper detection list
- [x] Fix `DebugMessage` method
- [x] Disable logging (actionlogger.py) by default, provide shortcuts: `actionlogger.enable()` and `actionlogger.disable()`.
For those who are familiar with standard `logging` module there's method `actionlogger.set_level(level)`.
### pywinauto 0.5.2 release notes (2015 September, 8)
- [x] `ListViewWrapper` interface is aligned with `TreeViewWrapper`. `GetItem()` returns a `_listview_item` object that looks like `_treeview_element` now.
- [x] Add DPI awareness API support (Win8+). It allows correct work when all fonts (globally or per monitor) are scaled at 125%, 150% etc.
- [x] Add new `Application` methods: `CPUUsage` and `WaitCPUUsageLower`.
- [x] Fix `TreeViewWrapper.Select` method when tree view is not in focus.
- [x] Fix `TabControlWrapper.Select` method in case of TCS_BUTTONS style set.
- [x] Fix `ListViewWrapper` methods: `Check` and `UnCheck`.
- [x] Fix toolbar button access by tooltip text.

### Supported controls
* Native Windows controls (full support through Win32 API)
Expand All @@ -39,7 +40,7 @@ Recommended usage: 64-bit Python is for 64-bit applications; 32-bit Python is fo

### Downloads statistics
* PyPI: [![Daily downloads](https://img.shields.io/pypi/dd/pywinauto.svg)](https://pypi.python.org/pypi/pywinauto) [![Weekly downloads](https://img.shields.io/pypi/dw/pywinauto.svg)](https://pypi.python.org/pypi/pywinauto) [![Monthly downloads](https://img.shields.io/pypi/dm/pywinauto.svg)](https://pypi.python.org/pypi/pywinauto)
* GitHub: [![GitHub downloads](https://img.shields.io/github/downloads/pywinauto/pywinauto/0.5.1/pywinauto-0.5.1.zip.svg)](https://github.com/pywinauto/pywinauto/releases/download/0.5.1/pywinauto-0.5.1.zip)
* GitHub: [![GitHub downloads](https://img.shields.io/github/downloads/pywinauto/pywinauto/0.5.2/pywinauto-0.5.2.zip.svg)](https://github.com/pywinauto/pywinauto/releases/download/0.5.2/pywinauto-0.5.2.zip)

#### Packages required for running unit tests
* [Pillow](https://pypi.python.org/pypi/Pillow/2.7.0) or PIL
Expand Down
20 changes: 10 additions & 10 deletions doc_src/wait_long_operations.txt
Original file line number Diff line number Diff line change
Expand Up @@ -2,21 +2,21 @@
Waiting for Long Operations
============================================================

GUI application behaviour is often unstable and your script needs
waiting until new window appears or existing window is closed/hidden.
pywinauto can wait for dialog initialization implicitly (with default
timeout). There are few methods/functions that could help you make
A GUI application behaviour is often unstable and your script needs
waiting until a new window appears or an existing window is closed/hidden.
pywinauto can wait for a dialog initialization implicitly (with the default
timeout). There are few methods/functions that could help you to make
your code easier and more reliable.

Application methods
------------

* WaitCPUUsageLower_ (new in pywinauto 0.5.2)

This method is useful for multi-threaded interfaces that allow lazy
This method is useful for multi-threaded interfaces that allow a lazy
initialization in another thread while GUI is responsive and all controls
already exist and ready to use. So waiting for specific window existence/state
is useless. In such case CPU usage for the whole process indicates that task
already exist and ready to use. So waiting for a specific window existence/state
is useless. In such case CPU usage for the whole process indicates that a task
calculation is not finished yet.

Example: ::
Expand All @@ -34,7 +34,7 @@ These methods are available to all controls.
There is an example containing long waits: `install script for 7zip 9.20 x64
<https://gist.github.com/vasily-v-ryabov/7a04717af4584cbb840f>`_.

``WindowSpecification`` object doesn't necessarily relate to existing window/control.
A ``WindowSpecification`` object doesn't necessarily relate to an existing window/control.
It's just a description namely a couple of criteria to search the window. Method ``Wait`` (if exception is not raised)
can guarantee that target control exists or even visible, enabled and/or active.

Expand All @@ -61,8 +61,8 @@ The methods to help you find the needed control.
* DrawOutline_


.. _PrintControlIdentifiers: code/pywinauto.application.html?highlight=print#pywinauto.application.WindowSpecification.PrintControlIdentifiers
.. _DrawOutline: code/pywinauto.controls.HwndWrapper.html?highlight=draw#pywinauto.controls.HwndWrapper.HwndWrapper.DrawOutline
.. _PrintControlIdentifiers: code/pywinauto.application.html?highlight=PrintControlIdentifiers#pywinauto.application.WindowSpecification.PrintControlIdentifiers
.. _DrawOutline: code/pywinauto.controls.HwndWrapper.html?highlight=DrawOutline#pywinauto.controls.HwndWrapper.HwndWrapper.DrawOutline


How To`s
Expand Down
20 changes: 10 additions & 10 deletions pywinauto/docs/_sources/wait_long_operations.txt
Original file line number Diff line number Diff line change
Expand Up @@ -2,21 +2,21 @@
Waiting for Long Operations
============================================================

GUI application behaviour is often unstable and your script needs
waiting until new window appears or existing window is closed/hidden.
pywinauto can wait for dialog initialization implicitly (with default
timeout). There are few methods/functions that could help you make
A GUI application behaviour is often unstable and your script needs
waiting until a new window appears or an existing window is closed/hidden.
pywinauto can wait for a dialog initialization implicitly (with the default
timeout). There are few methods/functions that could help you to make
your code easier and more reliable.

Application methods
------------

* WaitCPUUsageLower_ (new in pywinauto 0.5.2)

This method is useful for multi-threaded interfaces that allow lazy
This method is useful for multi-threaded interfaces that allow a lazy
initialization in another thread while GUI is responsive and all controls
already exist and ready to use. So waiting for specific window existence/state
is useless. In such case CPU usage for the whole process indicates that task
already exist and ready to use. So waiting for a specific window existence/state
is useless. In such case CPU usage for the whole process indicates that a task
calculation is not finished yet.

Example: ::
Expand All @@ -34,7 +34,7 @@ These methods are available to all controls.
There is an example containing long waits: `install script for 7zip 9.20 x64
<https://gist.github.com/vasily-v-ryabov/7a04717af4584cbb840f>`_.

``WindowSpecification`` object doesn't necessarily relate to existing window/control.
A ``WindowSpecification`` object doesn't necessarily relate to an existing window/control.
It's just a description namely a couple of criteria to search the window. Method ``Wait`` (if exception is not raised)
can guarantee that target control exists or even visible, enabled and/or active.

Expand All @@ -61,8 +61,8 @@ The methods to help you find the needed control.
* DrawOutline_


.. _PrintControlIdentifiers: code/pywinauto.application.html?highlight=print#pywinauto.application.WindowSpecification.PrintControlIdentifiers
.. _DrawOutline: code/pywinauto.controls.HwndWrapper.html?highlight=draw#pywinauto.controls.HwndWrapper.HwndWrapper.DrawOutline
.. _PrintControlIdentifiers: code/pywinauto.application.html?highlight=PrintControlIdentifiers#pywinauto.application.WindowSpecification.PrintControlIdentifiers
.. _DrawOutline: code/pywinauto.controls.HwndWrapper.html?highlight=DrawOutline#pywinauto.controls.HwndWrapper.HwndWrapper.DrawOutline


How To`s
Expand Down
2 changes: 1 addition & 1 deletion pywinauto/docs/searchindex.js

Large diffs are not rendered by default.

32 changes: 16 additions & 16 deletions pywinauto/docs/wait_long_operations.html
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,8 @@

<title>Waiting for Long Operations &mdash; pywinauto 0.5.2 documentation</title>

<link rel="stylesheet" href="_static/classic.css" type="text/css" />
<link rel="stylesheet" href="_static/pygments.css" type="text/css" />
<link rel="stylesheet" href="static/classic.css" type="text/css" />
<link rel="stylesheet" href="static/pygments.css" type="text/css" />

<script type="text/javascript">
var DOCUMENTATION_OPTIONS = {
Expand All @@ -20,9 +20,9 @@
HAS_SOURCE: true
};
</script>
<script type="text/javascript" src="_static/jquery.js"></script>
<script type="text/javascript" src="_static/underscore.js"></script>
<script type="text/javascript" src="_static/doctools.js"></script>
<script type="text/javascript" src="static/jquery.js"></script>
<script type="text/javascript" src="static/underscore.js"></script>
<script type="text/javascript" src="static/doctools.js"></script>
<link rel="top" title="pywinauto 0.5.2 documentation" href="contents.html" />
<link rel="next" title="Methods available to each different control type" href="controls_overview.html" />
<link rel="prev" title="How To’s" href="HowTo.html" />
Expand Down Expand Up @@ -54,10 +54,10 @@ <h3>Navigation</h3>

<div class="section" id="waiting-for-long-operations">
<h1>Waiting for Long Operations<a class="headerlink" href="#waiting-for-long-operations" title="Permalink to this headline"></a></h1>
<p>GUI application behaviour is often unstable and your script needs
waiting until new window appears or existing window is closed/hidden.
pywinauto can wait for dialog initialization implicitly (with default
timeout). There are few methods/functions that could help you make
<p>A GUI application behaviour is often unstable and your script needs
waiting until a new window appears or an existing window is closed/hidden.
pywinauto can wait for a dialog initialization implicitly (with the default
timeout). There are few methods/functions that could help you to make
your code easier and more reliable.</p>
<div class="section" id="application-methods">
<h2>Application methods<a class="headerlink" href="#application-methods" title="Permalink to this headline"></a></h2>
Expand All @@ -66,10 +66,10 @@ <h2>Application methods<a class="headerlink" href="#application-methods" title="
<li><a class="reference external" href="code/pywinauto.application.html?highlight=WaitCPUUsageLower#pywinauto.application.Application.WaitCPUUsageLower">WaitCPUUsageLower</a> (new in pywinauto 0.5.2)</li>
</ul>
</div></blockquote>
<p>This method is useful for multi-threaded interfaces that allow lazy
<p>This method is useful for multi-threaded interfaces that allow a lazy
initialization in another thread while GUI is responsive and all controls
already exist and ready to use. So waiting for specific window existence/state
is useless. In such case CPU usage for the whole process indicates that task
already exist and ready to use. So waiting for a specific window existence/state
is useless. In such case CPU usage for the whole process indicates that a task
calculation is not finished yet.</p>
<p>Example:</p>
<div class="highlight-python"><div class="highlight"><pre><span class="n">app</span><span class="o">.</span><span class="n">WaitCPUUsageLower</span><span class="p">(</span><span class="n">threshold</span><span class="o">=</span><span class="mi">5</span><span class="p">)</span> <span class="c"># wait until CPU usage is lower than 5%</span>
Expand All @@ -86,7 +86,7 @@ <h2>WindowSpecification methods<a class="headerlink" href="#windowspecification-
</ul>
</div></blockquote>
<p>There is an example containing long waits: <a class="reference external" href="https://gist.github.com/vasily-v-ryabov/7a04717af4584cbb840f">install script for 7zip 9.20 x64</a>.</p>
<p><code class="docutils literal"><span class="pre">WindowSpecification</span></code> object doesn&#8217;t necessarily relate to existing window/control.
<p>A <code class="docutils literal"><span class="pre">WindowSpecification</span></code> object doesn&#8217;t necessarily relate to an existing window/control.
It&#8217;s just a description namely a couple of criteria to search the window. Method <code class="docutils literal"><span class="pre">Wait</span></code> (if exception is not raised)
can guarantee that target control exists or even visible, enabled and/or active.</p>
</div>
Expand All @@ -105,8 +105,8 @@ <h2>Identify controls<a class="headerlink" href="#identify-controls" title="Perm
<p>The methods to help you find the needed control.</p>
<blockquote>
<div><ul class="simple">
<li><a class="reference external" href="code/pywinauto.application.html?highlight=print#pywinauto.application.WindowSpecification.PrintControlIdentifiers">PrintControlIdentifiers</a></li>
<li><a class="reference external" href="code/pywinauto.controls.HwndWrapper.html?highlight=draw#pywinauto.controls.HwndWrapper.HwndWrapper.DrawOutline">DrawOutline</a></li>
<li><a class="reference external" href="code/pywinauto.application.html?highlight=PrintControlIdentifiers#pywinauto.application.WindowSpecification.PrintControlIdentifiers">PrintControlIdentifiers</a></li>
<li><a class="reference external" href="code/pywinauto.controls.HwndWrapper.html?highlight=DrawOutline#pywinauto.controls.HwndWrapper.HwndWrapper.DrawOutline">DrawOutline</a></li>
</ul>
</div></blockquote>
<div class="section" id="how-to-s">
Expand Down Expand Up @@ -147,7 +147,7 @@ <h4>Next topic</h4>
<div role="note" aria-label="source link">
<h3>This Page</h3>
<ul class="this-page-menu">
<li><a href="_sources/wait_long_operations.txt"
<li><a href="sources/wait_long_operations.txt"
rel="nofollow">Show Source</a></li>
</ul>
</div>
Expand Down

0 comments on commit 6ee10c1

Please sign in to comment.