Metadata-Version: 1.1
Name: win7ools
Version: 0.3.0
Summary: Python project that provides programmatic access to the Windows OS
Home-page: https://github.com/nexuslevel/Win7ools
Author: Jason Wohlgemuth
Author-email: jason.h.wohlgemuth@gmail.com
License: MIT
Description: Win7ools Project

        ================

        

        **Win7ools** (= *Win7 Tools* + leet_) provides programmatic access to the Windows

        Operating System [#]_. Win7ools was born out of the desire to list and track installed software 

        programmatically and evolved into an attempt at a full-featured window into...Windows.  Win7ools 

        is organized into a handful of modules - **lib**, **ipl**, **sec**, **pdf**, **web**, and **reg**, 

        and the package, **system**.  

        

        

        

        The general idea is to be able to do things that normally would require

        a specialized piece of installed software that works mysteriously.

        

        modules

        -------

        **ipl**

          **I**\ nstalled **P**\ rograms **L**\ ist - the **ipl** module scans the Windows registry and returns

          information related all installed programs on the parent OS.  Comparatively, it should

          find all the information that the control panel provides (sometimes more).  IPLs can be created

          from an active OS, saved for various purposes, created from scratch, merged, and loaded.

        

        **lib**

          A **lib**\ rary of useful code snippets including, but not limited to:

        

            - flattening nested lists

            - truncating floats

            - segmenting lists

            - copying files/directories

            - hiding/unhiding files

            - creating symbolic links

        

        **pdf**

          Leverages the Python **PDF** Toolkit, ReportLab_, to create generic PDFs and PDF checklists.

        

        **reg**

          Functions and classes that Win7ools uses to work with the Windows **reg**\ istry.  It contains several functions

          for accessing and working with the registry.  It contains useful registry locations and 

          can retrieve & decode UserAssist data.

        

        **sec**

          Handles **sec**\ urity-related tasks.  Among other things, it contains several hashing functions

          and provides access to Windows DPAPI_ functions such as ``CryptProtectData()`` and ``CryptUnprotectData()``.

        

        **web**

          Functions and classes for working with the **web**.

        

        packages

        --------

        **system**

          The **system** package provides access to the System class.  The System class leverages the modules listed above

          to accomplish a variety of tasks including, but not limited to:

        

            - setting the logon screen image

            - getting/setting ``TRIM``

            - changing drive icons

            - getting process information

            - working with the Windows clipboard

            - finding duplicate files

            - creating Windows message boxes

        

        ------------------------------------------------------------------------------------------------------------------

        

        Examples

        --------

        

        **Use win7ools.pdf to create a shopping list:**

         ::

        

            from wintools.pdf import Checklist

            cl = Checklist()

            cl.set_title('My Shopping List').set_pretext('Do not forget to bring a calculator')

            items = ['apples', 'pears', 'broccoli', 'bread', 'chicken', 'soda']

            cl.add(items)

            cl.save()

        

         win7ools.pdf can check, uncheck, and highlight items.  One and two-column format is supported.

        

        **Use win7ools.ipl to print names of installed software:**

         ::

        

            from wintools.ipl import IPL

            ipl = IPL()  

            ipl.print_names()

        

        **Use wint7ools.reg to print names of software run on host computer with the last run date and count:**

         ::

        

            from wintools.reg import get_user_assist()

            user_assist = get_user_assist()

            for item in user_assist:

                print(item['value'], item['lastrun'], item['count'])

        

        **Encrypt and decrypt data using the Windows Data Protection API:**

         ::

            

            from win7ools.sec import crypt_protect_data, crypt_unprotect_data

            ctext = crypt_protect_data('Hello world')

            ptext = crypt_unprotect_data(ctext)

        

        *Consult* ``help(win7ools.<module>)`` *for more information and examples*

        

        ------------------------------------------------------------------------------------------------------------------

        

        .. [#] Win7ools was tested most rigorously on Win7, but should maintain at least some functionality on WinXP and Vista.

        .. _leet: https://en.wikipedia.org/wiki/Leet

        .. _ReportLab: http://www.reportlab.com/opensource/

        .. _DPAPI: http://msdn.microsoft.com/en-us/library/ms995355.aspx
Keywords: programmatic,access,automation,customization,productivity
Platform: UNKNOWN
Classifier: Development Status :: 3 - Alpha
Classifier: Environment :: Win32 (MS Windows)
Classifier: Operating System :: Microsoft :: Windows :: Windows 7
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
Classifier: Topic :: Security
Classifier: Topic :: System
Classifier: Topic :: Utilities
Classifier: Natural Language :: English
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Information Technology
Classifier: Intended Audience :: Science/Research
Classifier: Intended Audience :: System Administrators
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3
