import sys,os
sys.path.append("c:\moin")

from MoinMoin.web import contexts
from MoinMoin.Page import Page

class ScriptContext(contexts.AllContext):
	"""
	added REMOTE_USER to wsgi environ
	"""
	def __init__(self, user, url=None, pagename=''):
		if url is None:
			url='http://localhost:0/' # just some somehow valid dummy URL
		environ=contexts.create_environ(base_url=url) # XXX not sure about base_url, but makes "make underlay" work
		environ['HTTP_USER_AGENT']='CLI/Script'
		environ['wsgi.input']=sys.stdin
		environ['REMOTE_USER']=user
		request=contexts.Request(environ)
		super(ScriptContext, self).__init__(request)
		from MoinMoin import wsgiapp
		wsgiapp.init(self)

def _get_index(request):
	try:
		from MoinMoin.search.Xapian import XapianIndex
		return XapianIndex(request)
	except ImportError:
		pass

if __name__ == '__main__':
	request=ScriptContext("mscheufe")
	if request.cfg.xapian_search:
		index=_get_index(request)
		if index and index.exists():
			page=Page(request,"SANDBOX/fred2/test")
			print page.page_name
			try:
				index.update_item(page.page_name)
			except Exception ,e:
				print "CATCHED excpetion %s" % str(e)
