Deleted `try` block around `import _growl`.
Deleted `try` block around `import _growl`.

At the very top of the Growl module was:

{{{
try:
    import _growl
except:
    _growl = False
}}}

With this try, we get this ''at registration'' if `_growl` is not present:

{{{
>>> import Growl
>>> n = Growl.GrowlNotifier('MyApp', ['Notification'])
[imagine five hours of runtime that doesn't involve using Growl]
>>> n.register()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "Growl.py", line 199, in register
    self._notifyMethod.PostNotification(GROWL_APP_REGISTRATION, regInfo)
AttributeError: 'bool' object has no attribute 'PostNotification'
}}}

There are three problems:

 1. The exception is disguised: The `import` is what failed, but the exception comes from `GrowlNotifier.register`.
 2. The exception happens on ''every'' call to `register`, rather than only once at `import`. This ties into the previous problem: The one `import` is what failed, but it's every `register` that gives the exception.
 3. The exception is the wrong class (`AttributeError` rather than `ImportError`) and its explanation is irrelevant to the actual problem.

So now the code is:

{{{
	import _growl
}}}

Do or do not. There is no try.

Here's what it says with this fix:

{{{
>>> import Growl
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "Growl.py", line 13, in <module>
    import _growl
ImportError: No module named _growl
}}}

This is much clearer. It comes right out and says the problem: ?No module named _growl?. This is the lead that a programmer trying to use the Python module would need to find out that he needs to install it first.

an0nym0u5/growl,an0nym0u5/growl,ylian/growl,ylian/growl,CarlosCD/growl,coltonfisher/coltonfisher-growl,xhruso00/growl,nochkin/growl,Shalaco/shalzers-growl,Shalaco/shalzers-growl,nkhorman/archive-growl,nkhorman/archive-growl,Shalaco/shalzers-growl,CarlosCD/growl,morganestes/morganestes-growl,nochkin/growl,ylian/growl,timbck2/growl,xhruso00/growl,chashion/growl,morganestes/morganestes-growl,Shalaco/shalzers-growl,timbck2/growl,SalrJupiter/growl,Shalaco/shalzers-growl,doshinirav/doshinirav-myversion,CarlosCD/growl,nochkin/growl,CarlosCD/growl,timbck2/growl,coltonfisher/coltonfisher-growl,tectronics/growl,Shalaco/shalzers-growl,SalrJupiter/growl,coltonfisher/coltonfisher-growl,xhruso00/growl,coltonfisher/coltonfisher-growl,CarlosCD/growl,SalrJupiter/growl,nkhorman/archive-growl,nagyistoce/growl,SalrJupiter/growl,SalrJupiter/growl,SalrJupiter/growl,nagyistoce/growl,doshinirav/doshinirav-myversion,morganestes/morganestes-growl,coltonfisher/coltonfisher-growl,timbck2/growl,nagyistoce/growl,an0nym0u5/growl,chashion/growl,chashion/growl,tectronics/growl,nkhorman/archive-growl,nagyistoce/growl,nochkin/growl,doshinirav/doshinirav-myversion,Shalaco/shalzers-growl,nochkin/growl,ylian/growl,doshinirav/doshinirav-myversion,xhruso00/growl,ylian/growl,xhruso00/growl,timbck2/growl,tectronics/growl,ylian/growl,Shalaco/shalzers-growl,doshinirav/doshinirav-myversion,Shalaco/shalzers-growl,Shalaco/shalzers-growl,CarlosCD/growl,tectronics/growl,doshinirav/doshinirav-myversion,morganestes/morganestes-growl,morganestes/morganestes-growl,an0nym0u5/growl,chashion/growl,nkhorman/archive-growl,doshinirav/doshinirav-myversion,coltonfisher/coltonfisher-growl,chashion/growl,timbck2/growl,Shalaco/shalzers-growl,coltonfisher/coltonfisher-growl,nkhorman/archive-growl,nagyistoce/growl,xhruso00/growl,nagyistoce/growl,CarlosCD/growl,nochkin/growl,chashion/growl,tectronics/growl,tectronics/growl,an0nym0u5/growl,morganestes/morganestes-growl,an0nym0u5/growl