* Final cleanup of the docs prior to release

This commit is contained in:
markm 2009-03-11 01:57:18 +00:00
parent e4e402ba28
commit f47d598ba9
7 changed files with 62 additions and 51 deletions

@ -22,8 +22,8 @@ exclude examples\examples_watsup\*.*
# include all the website folder and make sure that
# the sub version files are not included
include documentation\*.*
exclude documentation\.svn\*
exclude documentation\pywinauto\.svn\*
exclude documentation\pywinauto\controls\.svn\*
exclude documentation\pywinauto\tests\.svn\*
include docs\*.*
exclude docs\.svn\*
exclude docs\pywinauto\.svn\*
exclude docs\pywinauto\controls\.svn\*
exclude docs\pywinauto\tests\.svn\*

@ -2,9 +2,11 @@
Change Log
==========
0.3.8 Various minor changes and fixes
0.3.8 Collecting improvements from last 2 years
------------------------------------------------------------------
10-December-2008
10-March-2009
* Converted documenation from Pudge generated to Sphinx Generated
* Ensured that return value from ComboBoxWrapper.SelectedIndices
is always a tuple (there was a bug where it would sometimes be

@ -2,6 +2,8 @@
You can adapt this file completely to your liking, but it should at least
contain the root `toctree` directive.
.. _contents-root:
Contents
=====================================

@ -1,3 +1,5 @@
Credits
-------
Stefaan Himpe - Lots of speed and stability improvements early on
Jeff Winkler - Early encouragement, creation of screencasts
Dalius Dobravolskas - Help on the forums and prompted major improvements on the wait* functionality

@ -5,6 +5,8 @@ What is pywinauto
Released under the LGPL licence
:ref:`Full table of contents. <contents-root>`
What is it?
-----------
pywinauto is a set of python modules to automate the Microsoft Windows GUI.
@ -40,18 +42,18 @@ There are examples in there to work with Notepad and MSPaint.
How does it work
----------------
A lot is done through attribute access (__getattr__) for each class. For example
A lot is done through attribute access (``__getattr__``) for each class. For example
when you get the attribute of an Application or Dialog object it looks for a
dialog or control (respectively).
::
myapp.Notepad # looks for a Window/Dialog of your app that has a title 'similar'
# to "Notepad"
# to "Notepad"
myapp.PageSetup.OK # looks first for a dialog with a title like "PageSetup"
# then it looks for a control on that dialog with a title
# like "OK"
# then it looks for a control on that dialog with a title
# like "OK"
This attribute resolution is delayed (currently a hard coded amount of time) until
it succeeds. So for example if you Select a menu option and then look for the
@ -100,39 +102,41 @@ Why write yet another automation tool if there are so many out there?
---------------------------------------------------------------------
There are loads of reasons :-)
*Takes a different approach*
Most other tools are not object oriented you end up writing stuff like::
**Takes a different approach:**
Most other tools are not object oriented you end up writing stuff like::
window = findwindow(title = "Untitled - Notepad", class = "Notepad")
SendKeys(window, "%OF") # Format -> Font
fontdialog = findwindow("title = "Font")
buttonClick(fontdialog, "OK")
window = findwindow(title = "Untitled - Notepad", class = "Notepad")
SendKeys(window, "%OF") # Format -> Font
fontdialog = findwindow("title = "Font")
buttonClick(fontdialog, "OK")
I was hoping to create something more userfriendly (and pythonic). For example
the translation of above would be::
I was hoping to create something more userfriendly (and pythonic). For example
the translation of above would be::
win = app.UntitledNotepad
win.MenuSelect("Format->Font")
app.Font.OK.Click()
*Python makes it easy*
Python is a great programming language, but I didn't find
any automation tools that were Pythonic (I only found one
that was implemented in python) and I didn't care for it
too much.
*Localization as a main requirement*
I work in the localization industry and GUI
automation is used extensively as often all
you need to do is ensure that your UI behaves
and is correct with respect to the Source
UI. This is actually an easier job then for
testing the original source UI.
But most automation tools are based off of coordinates or text of the
controls and these can change in the localized software. So my goal (
though not yet implemented) is to allow scripts to run unchanged
between original source language (often English) and the translated
software (Japanese, German, etc).
win = app.UntitledNotepad
win.MenuSelect("Format->Font")
app.Font.OK.Click()
**Python makes it easy:**
Python is a great programming language, but I didn't find
any automation tools that were Pythonic (I only found one
that was implemented in python) and I didn't care for it
too much.
**Localization as a main requirement:**
I work in the localization industry and GUI
automation is used extensively as often all
you need to do is ensure that your UI behaves
and is correct with respect to the Source
UI. This is actually an easier job then for
testing the original source UI.
But most automation tools are based off of coordinates or text of the
controls and these can change in the localized software. So my goal (
though not yet implemented) is to allow scripts to run unchanged
between original source language (often English) and the translated
software (Japanese, German, etc).

@ -2,7 +2,7 @@
REM docs\build_autodoc_files.py
sphinx-build -b html docs docs\.build
sphinx-build -b html doc_build docs
REM c:\.temp\pudge\pudge\cli --documents doc_source\index.rst,doc_source\controls_overview.rst,doc_source\howto.rst,doc_source\getting_started.rst,history.txt,license.txt,todo.txt --title pywinauto -v -d website -m pywinauto.application,pywinauto.taskbar,pywinauto.clipboard,pywinauto.timings,pywinauto.findbestmatch,pywinauto.findwindows,pywinauto.handleprops,pywinauto.XMLHelpers,pywinauto.controls,pywinauto.tests -t doc_source\template

@ -46,16 +46,17 @@ def SetupPath(path = ""):
# add it to the system path
sys.path.append(SetupPath())
# now it should be save to import pywinauto
# now it should be safe to import pywinauto
import pywinauto
# make sure the documentation is in the correct place for building
if "sdist" in sys.argv:
import shutil
if not os.path.exists(SetupPath("documentation")):
shutil.move(SetupPath("website"), SetupPath("documentation"))
# todo: see how to build the website
#if "sdist" in sys.argv:
# import shutil
# if not os.path.exists(SetupPath("docs")):
# shutil.move(SetupPath("website"), SetupPath("docs"))
setup(name='pywinauto',
@ -91,10 +92,10 @@ controls also.
],
)
if "sdist" in sys.argv:
if not os.path.exists(SetupPath("website")):
shutil.move(SetupPath("documentation"), SetupPath("website"))
# todo: see how to build the website later
#if "sdist" in sys.argv:
# if not os.path.exists(SetupPath("website")):
# shutil.move(SetupPath("documentation"), SetupPath("website"))
try: