Was moved to try indexing the company Intranet using Google Desktop Search. I downloaded the kongulo plugin which offers to do this.
It turns out that this is a command-line python program that scrapes a web site for links and submits each one to the google desktop indexing engine.
Well it was broken, kept coming up with the error:
pywintypes.com_error: (-2147352567, 'Exception occurred.', (0, 'GoogleDesktopSearch.EventFactory.1', 'Component not registered', None, 0, -2147221502), None)
Going through the developer sdk, this appears to be because the API's have changed and no-one has bothered to update kongulo.
I changed the registration code at the end of kongulo.py as follows to fix this:
1 try: 2 # Register with GDS. This is a one-time operation and will return an 3 # error if already registered. We cheat and just catch the error and 4 # do nothing. 5 # obj.RegisterComponent(_GUID, 6 hr = obj.StartComponentRegistration( _GUID, 7 ['Title', 'Kongulo', 'Description', 'A simple web spider that ' 8 'lets you keep copies of web sites in your Google Desktop Search ' 9 'index.', 'Icon', '%SystemRoot%\system32\SHELL32.dll,134']) 10 11 oInt = obj.GetRegistrationInterface( "GoogleDesktop.EventRegistration") 12 hr = oInt.RegisterPlugin( _GUID) 13 14 oInt = obj.GetRegistrationInterface( "GoogleDesktop.IndexingRegistration") 15 hr = oInt.RegisterIndexingPlugin( _GUID) 16 17 oErr = obj.FinishComponentRegistration() # pcw 18 # TODO Provide an unregistration mechanism. 19 except pywintypes.com_error: 20 # TODO narrow to only the error that GDS returns when component 21 # already registered 22 pass
I find it odd that Google Desktop Search doesn't natively index intranets (or specified web sites): having to hack command-line python scripts to do it is hardly user friendly. It might be that they want people to buy Google Mini boxes for £2000 a pop rather than hand out free tools.
Maybe they are evil after all?
Incidently, this:
obj.UnregisterComponent( _GUID)
is how to unregister kongulo, as mentioned in the TODO (TODO is a programming term that means 'this needs doing but I can I can only summon the strength to press four keys').

