#!/usr/bin/env python
# -*- coding: utf8 -*-

import sys
sys.path.append('/usr/lib/openoffice/program')
import os
import uno

# a UNO struct later needed to create a document
from com.sun.star.text.ControlCharacter import PARAGRAPH_BREAK
from com.sun.star.text.TextContentAnchorType import AS_CHARACTER
from com.sun.star.awt import Size

from com.sun.star.lang import XMain

def print_to_ooo(path,ext):
	localContext = uno.getComponentContext()

	resolver = localContext.ServiceManager.createInstanceWithContext(
    "com.sun.star.bridge.UnoUrlResolver", localContext)

	ctx = resolver.resolve("uno:socket,host=ffadmin.archiv,port=2002;urp;StarOffice.ComponentContext")
	smgr = ctx.ServiceManager
	
	desktop = smgr.createInstanceWithContext("com.sun.star.frame.Desktop",ctx)

	model = desktop.getCurrentComponent()

	text = model.Text

	cursor = text.createTextCursor()

	for files in os.walk(path):
		text.insertString(cursor, files[0]+"\n", 0)
		for f in files[2]:
			extens=f.split(".")[-1]
			if extens in ext:
				text.insertString(cursor, "\t"+extens+"\t"+f+"\n", 0)

if len(sys.argv)>3:
        print_to_ooo(sys.argv[1],sys.argv[1:])

