Source

jaraco.windows / README

.. -*- restructuredext -*-

jaraco.windows
==============

.. contents::

Status and License
------------------

``jaraco.windows`` aims to provide a pure-python interface to Windows
APIs using ctypes. This package is not designed to be exhaustive, but
rather to supply interfaces as they are needed by the contributors.

``jaraco.windows`` is written by Jason R. Coombs.  It is licensed under an
`MIT-style permissive license
<http://www.opensource.org/licenses/mit-license.php>`_.

You can install it with ``easy_install jaraco.util``, or from the
`mercurial repository
<http://bitbucket.org/jaraco/jaraco.windows/get/tip.zip#egg=jaraco.windows-dev>`_ with
``easy_install jaraco.windows==dev``.

Package Contents
----------------

``jaraco.windows`` contains several modules for different purposes. For now,
read the source. Eventually, I will put high-level descriptions of the modules
here.

Installation
------------

You should install this module the normal way using setuptools or distribute.

If you want to monkeypatch the os module to include symlink compatibility, you
should add the following to your ``usercustomize`` or ``sitecustomize`` module:

	``import jaraco.windows.filesystem as fs; fs.patch_os_module()``

Thereafter, you should be able to use ``os.symlink`` and ``os.readlink`` in Windows
Vista and later using the same interface as on Unix.

Note that ``jaraco.windows.filesystem.symlink`` takes an additional optional
parameter ``target_is_directory``, which must be specified if the target is not
present and is expected to be a directory once present.

Contribute
----------

If jaraco.windows doesn't supply the interface you require for your
application, consider creating the interface and providing a patch
to the author.

Changes
-------

2.3
~~~

* Added filesystem.GetFileAttributes.
* Added services module for working with Windows Services (currently uses
  pywin32).

2.2
~~~

* Fixes by wkornewald for issue #1 - Symlink relative path deficiencies.
* Added jaraco.windows.message.SendMessageTimeout.
* Fixed issue where environment changes would stall on SendMessage.
* SendMessage now uses the correct type for lParam, but will still accept
  string types.

2.1
~~~

* Added jaraco.windows.user module (with get_user_name function).
* Added get_unicode_text to clipboard module.

2.0
~~~

* Added clipboard.set_text function for a simple routine for setting
  clipboard text.
* Added support for editing environment variables in a text-editor.
* Added clipboard.get_html and clipboard.HTMLSnippet for supporting
  the HTML format from the clipboard.

1.9.1
~~~~~

* Fixed issue with clipboard handling of null-terminated strings

1.9
~~~

* Added eventlog utility
* Added support for other clipboard formats (including DIB and DIBV5), and now clipboards to proper memory locking while reading the resource
* Added registry module
* Moved office module to jaraco.office project

1.8
~~~

* Added 2to3 build support - now installs on Python 3
* Removed default import of jaraco.windows.net into jaraco.windows
* Fixed division operator issue in jaraco.windows.reparse.

1.7
~~~

* Added option to enver to remove values from a path or other semi-
  colon-separated value.
* Added privilege module.
* Made `jaraco.windows.error.WindowsError` a subclass of
  `__builtin__.WindowsError`.
* Added office module with MS Word based PDF Converter.
* Added early implementation of clipboard support.
* Added delay option to xmouse.

1.6
~~~

* Added monkeypatch for os.symlink and os.readlink.
* Added find-symlinks command.

1.5
~~~

* NB!! Switched the order of the parameters for symlink and link to match the
  signature found in the ``os`` module. This will absolutely break any implementations
  that worked with ``jaraco.windows`` prior to 1.5.

1.4
~~~

* Added more robust support for symlink support (including a symlink traversal
  routine that works even when the target is locked). This method uses explicit
  reparse point parsing, using the new reparse module.
* Added support for hardlinks.
* Added jaraco.windows.lib for locating loaded modules.
* Added command line parameters to environ to allow override of default
  append/replace behavior.
* Added power monitoring utilities.
* Began work on GUI testing objects in jaraco.windows.gui.test, based on watsup.
* Added filesystem.GetBinaryType
* Added filesystem.SHFileOperation (useful for sending items to a Recycle Bin).
* Updated enver to support appending to a non-existent variable.
* Added a 'show' option to xmouse
* Added routines to support the Microsoft Data Protection API (DPAPI).

1.3
~~~

* Added -U option to enver

1.2
~~~

* Added this documentation
* Updated the project website to use PYPI directly.
* Improved deployment support (fixes issues with easy_install)
* Fixed issue with PATH and PATHEXT handling in enver.

1.1
~~~

* Added support for persistent environment variable setting (inspired by
  enver.py)

1.0
~~~

* Initial release
* Includes xmouse script for enabling/disabling focus-follows-mouse