From 0720c3c704c746458f4d02b6733aff064489afc2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=BE=9D=E7=91=AA=E8=B2=93?= Date: Fri, 2 Dec 2016 10:09:25 +0800 Subject: [PATCH] Updated to only create the dialog library when the script library is also missing. --- oobsync.py | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/oobsync.py b/oobsync.py index e6356c0..6657827 100755 --- a/oobsync.py +++ b/oobsync.py @@ -99,8 +99,7 @@ def sync_macros(oo): print >> sys.stderr, \ "ERROR: Found no source macros in " + args.projdir return - update_basic_modules(libraries, args.library, modules) - check_dialog_library(oo, args.library) + update_basic_modules(libraries, args.library, modules, oo) if args.run is not None: factory = oo.service_manager.DefaultContext.getByName( "/singletons/com.sun.star.script.provider." @@ -171,11 +170,12 @@ def read_basic_modules(libraries, libname): return modules -def update_basic_modules(libraries, libname, modules): +def update_basic_modules(libraries, libname, modules, oo): """ Updates the OpenOffice Basic macros storage. """ if not libraries.hasByName(libname): libraries.createLibrary(libname) print >> sys.stderr, "Script library " + libname + " created." + create_dialog_library(oo, libname) library = libraries.getByName(libname) for modname in sorted(modules.keys()): library.insertByName(modname, modules[modname]) @@ -200,14 +200,13 @@ def update_basic_modules(libraries, libname, modules): return -def check_dialog_library(oo, libname): - """ Checks and adds the dialog library when missing. """ +def create_dialog_library(oo, libname): + """ Creates the dialog library. """ libraries = oo.service_manager.createInstance( "com.sun.star.script.ApplicationDialogLibraryContainer") - if not libraries.hasByName(libname): - libraries.createLibrary(libname) - print >> sys.stderr, "Dialog library " + libname + " created." - libraries.storeLibraries() + libraries.createLibrary(libname) + print >> sys.stderr, "Dialog library " + libname + " created." + libraries.storeLibraries() class OpenOffice: