Ejemplo n.º 1
0
 def _executeDispatch(self, control):
     tag = control.Model.Tag
     document = createService(self.ctx,
                              'com.sun.star.frame.Desktop').CurrentComponent
     frame = document.CurrentController.Frame
     dispatcher = createService(self.ctx,
                                'com.sun.star.frame.DispatchHelper')
     if tag == 'DataSource':
         dispatcher.executeDispatch(frame,
                                    '.uno:AutoPilotAddressDataSource', '',
                                    0, ())
     elif tag == 'AddressBook':
         dispatcher.executeDispatch(frame, '.uno:AddressBookSource', '', 0,
                                    ())
     return True
Ejemplo n.º 2
0
 def getDocumentDataSource(self):
     setting = 'com.sun.star.document.Settings'
     document = createService(self.ctx,
                              'com.sun.star.frame.Desktop').CurrentComponent
     if document.supportsService('com.sun.star.text.TextDocument'):
         return document.createInstance(setting).CurrentDatabaseDataSource
     return ''
Ejemplo n.º 3
0
 def __init__(self, ctx, event, scheme, plugin):
     try:
         msg = "DataSource for Scheme: %s loading ... " % scheme
         print("DataSource __init__() 1")
         self.ctx = ctx
         self.scheme = scheme
         self.plugin = plugin
         self._CahedUser = {}
         self._Calls = {}
         self.Error = None
         self.sync = event
         self.Provider = createService(self.ctx, '%s.Provider' % plugin)
         print("DataSource __init__() 2")
         self.datasource, url, created = getDataSource(
             self.ctx, scheme, plugin, True)
         print("DataSource __init__() 3 %s" % created)
         self.DataBase = DataBase(self.ctx, self.datasource)
         if created:
             self.Error = self.DataBase.createDataBase()
             if self.Error is None:
                 self.DataBase.storeDataBase(url)
         self.DataBase.addCloseListener(self)
         folder, link = self.DataBase.getContentType()
         self.Provider.initialize(scheme, plugin, folder, link)
         self.replicator = Replicator(ctx, self.datasource, self.Provider,
                                      self._CahedUser, self.sync)
         print("DataSource __init__() 4")
         logMessage(self.ctx, INFO, "stage 2", 'DataSource', '__init__()')
         print("DataSource __init__() 5")
         msg += "Done"
         logMessage(self.ctx, INFO, msg, 'DataSource', '__init__()')
     except Exception as e:
         msg = "DataSource __init__(): Error: %s - %s" % (
             e, traceback.print_exc())
         print(msg)
Ejemplo n.º 4
0
 def _upload(self, dialog):
     service = 'com.sun.star.util.PathSubstitution'
     ps = createService(self.ctx, service)
     path = ps.substituteVariables('$(work)', True)
     service = 'com.sun.star.ui.dialogs.FilePicker'
     fp = createService(self.ctx, service)
     fp.setDisplayDirectory(path)
     fp.appendFilter(g_jar, '*.jar')
     fp.setCurrentFilter(g_jar)
     if fp.execute() == OK:
         url = getUrl(self.ctx, fp.getFiles()[0])
         if url.Name == g_jar:
             jar = '%s/%s' % (g_path, g_jar)
             target = getResourceLocation(self.ctx, g_identifier, jar)
             getSimpleFile(self.ctx).copy(url.Main, target)
             self._reloadVersion(dialog)
Ejemplo n.º 5
0
def getUrl(ctx, identifier):
    url = uno.createUnoStruct('com.sun.star.util.URL')
    url.Complete = identifier
    transformer = createService(ctx, 'com.sun.star.util.URLTransformer')
    success, url = transformer.parseStrict(url)
    if success:
        identifier = transformer.getPresentation(url, True)
    return identifier
Ejemplo n.º 6
0
 def __init__(self, ctx, wizard):
     self.ctx = ctx
     self._wizard = wizard
     self._provider = createService(self.ctx, 'com.sun.star.awt.ContainerWindowProvider')
     self._stringResource = getStringResource(self.ctx, g_identifier, g_extension)
     self._configuration = getConfiguration(self.ctx, g_identifier, True)
     self._handler = WizardHandler(self.ctx, self._wizard)
     self._maxsize = self._configuration.getByName("MaxSizeMo") * MOTOBIT
Ejemplo n.º 7
0
 def _createPeer(self, peer=None):
     self._dialog.setVisible(False)
     toolkit = createService(self.ctx, 'com.sun.star.awt.Toolkit')
     if peer is None:
         peer = toolkit.getDesktopWindow()
     self._dialog.createPeer(toolkit, peer)
     #self.xWindowPeer = self.DialogWindow.getPeer()
     return self._dialog.getPeer()
Ejemplo n.º 8
0
 def __init__(self, ctx, rowset):
     self._listeners = []
     self._datalisteners = []
     self._order = ''
     self.RowCount = self.ColumnCount = 0
     self.ColumnModel = createService(
         ctx, 'com.sun.star.awt.grid.DefaultGridColumnModel')
     self._resultset = None
     rowset.addRowSetListener(self)
Ejemplo n.º 9
0
 def __init__(self, ctx, code, uuid, address, port, lock):
     Thread.__init__(self)
     self.ctx = ctx
     self.code = code
     self.uuid = uuid
     self.argument = 'socket,host=%s,port=%s,tcpNoDelay=1' % (address, port)
     self.acceptor = createService(self.ctx,
                                   'com.sun.star.connection.Acceptor')
     self.lock = lock
Ejemplo n.º 10
0
 def __init__(self, ctx, wizard):
     self.ctx = ctx
     self._wizard = wizard
     #self._dbcontext = createService(self.ctx, 'com.sun.star.sdb.DatabaseContext')
     self._listeners = []
     self._disabled = False
     self._modified = False
     self._address = createService(self.ctx, 'com.sun.star.sdb.RowSet')
     self._address.CommandType = TABLE
     self._address.FetchSize = g_fetchsize
     self._recipient = createService(self.ctx, 'com.sun.star.sdb.RowSet')
     self._recipient.CommandType = TABLE
     self._recipient.FetchSize = g_fetchsize
     self._statement = None
     self._table = None
     self._database = None
     self._quey = None
     self._emailcolumns = self._indexcolumns = ()
     self.index = -1
Ejemplo n.º 11
0
def getDataSourceConnection(ctx, url, dbname, name='', password=''):
    dbcontext = createService(ctx, 'com.sun.star.sdb.DatabaseContext')
    odb = dbname if dbcontext.hasByName(dbname) else '%s/%s.odb' % (url, dbname)
    datasource = dbcontext.getByName(odb)
    connection, error = None, None
    try:
        connection = datasource.getConnection(name, password)
    except SQLException as e:
        error = e
    return connection, error
Ejemplo n.º 12
0
 def __init__(self, ctx):
     try:
         self.ctx = ctx
         self.stringResource = getStringResource(self.ctx, g_identifier,
                                                 'OAuth2OOo',
                                                 'OptionsDialog')
         self.service = createService(self.ctx, g_oauth2)
         logMessage(self.ctx, INFO, "Loading ... Done", 'OptionsDialog',
                    '__init__()')
     except Exception as e:
         msg = "Error: %s - %s" % (e, traceback.print_exc())
         logMessage(self.ctx, SEVERE, msg, 'OptionsDialog', '__init__()')
Ejemplo n.º 13
0
 def _getUrl(self):
     path = getResourceLocation(self.ctx, g_identifier, g_path)
     url = '%s/dbversion.odb' % path
     if not getSimpleFile(self.ctx).exists(url):
         service = 'com.sun.star.sdb.DatabaseContext'
         datasource = createService(self.ctx, service).createInstance()
         datasource.URL = self._getDataSourceUrl(path)
         datasource.Settings.JavaDriverClass = g_class
         datasource.Settings.JavaDriverClassPath = self._getDataSourceClassPath(
             path)
         datasource.DatabaseDocument.storeAsURL(url, ())
     return url
Ejemplo n.º 14
0
def getDataSourceUrl(ctx, dbname, plugin, register):
    error = None
    url = getResourceLocation(ctx, plugin, g_path)
    odb = '%s/%s.odb' % (url, dbname)
    dbcontext = createService(ctx, 'com.sun.star.sdb.DatabaseContext')
    if not getSimpleFile(ctx).exists(odb):
        datasource = createDataSource(dbcontext, url, dbname)
        error = createDataBase(ctx, datasource, url, dbname)
        if error is None:
            datasource.DatabaseDocument.storeAsURL(odb, ())
    if error is None and register:
        registerDataSource(dbcontext, dbname, odb)
    return url, error
Ejemplo n.º 15
0
def getDataSource(ctx, dbname, plugin, register):
    location = getResourceLocation(ctx, plugin, g_path)
    url = '%s/%s.odb' % (location, dbname)
    dbcontext = createService(ctx, 'com.sun.star.sdb.DatabaseContext')
    if getSimpleFile(ctx).exists(url):
        odb = dbname if dbcontext.hasByName(dbname) else url
        datasource = dbcontext.getByName(odb)
        created = False
    else:
        datasource = createDataSource(dbcontext, location, dbname)
        created = True
    if register:
        registerDataSource(dbcontext, dbname, url)
    return datasource, url, created
Ejemplo n.º 16
0
def getDataSourceConnection(ctx, url, dbname, name='', password=''):
    print("getDataSourceConnection() 1")
    dbcontext = createService(ctx, 'com.sun.star.sdb.DatabaseContext')
    print("getDataSourceConnection() 2")
    odb = dbname if dbcontext.hasByName(dbname) else '%s/%s.odb' % (url,
                                                                    dbname)
    print("getDataSourceConnection() 3 %s - %s" %
          (odb, dbcontext.hasByName(odb)))
    datasource = dbcontext.getByName(odb)
    print("getDataSourceConnection() 4")
    connection, error = None, None
    try:
        print("getDataSourceConnection() 5")
        connection = datasource.getConnection(name, password)
        print("getDataSourceConnection() 6")
    except SQLException as e:
        error = e
    print("getDataSourceConnection() 7")
    return connection, error
Ejemplo n.º 17
0
 def _getDriverVersion(self):
     try:
         service = '%s.Driver' % g_identifier
         driver = createService(self.ctx, service)
         url = 'sdbc:embedded:hsqldb'
         infos = getPropertyValueSet({'URL': self._getUrl()})
         connection = driver.connect(url, infos)
         version = connection.getMetaData().getDriverVersion()
         connection.close()
         return version
     except UnoException as e:
         msg = getMessage(self.ctx, g_message, 141, e.Message)
         logMessage(self.ctx, SEVERE, msg, 'OptionsDialog',
                    '_getDriverVersion()')
     except Exception as e:
         msg = getMessage(self.ctx, g_message, 142,
                          (e, traceback.print_exc()))
         logMessage(self.ctx, SEVERE, msg, 'OptionsDialog',
                    '_getDriverVersion()')
Ejemplo n.º 18
0
 def handleInteractionRequest(self, interaction):
     # TODO: interaction.getRequest() does not seem to be functional under LibreOffice !!!
     # TODO: throw error AttributeError: "args"
     # TODO: on File "/usr/lib/python3/dist-packages/uno.py"
     # TODO: at line 525 in "_uno_struct__setattr__"
     # TODO: as a workaround we must set an "args" attribute of type "sequence<any>" to
     # TODO: IDL file of com.sun.star.auth.OAuth2Request Exception who is normally returned...
     print("OAuth2Service.handleInteractionRequest() 1")
     request = interaction.getRequest()
     mri = createService(self.ctx, 'mytools.Mri')
     if mri:
         print("OAuth2Service.handleInteractionRequest() 2")
         mri.inspect(interaction)
     url = request.ResourceUrl
     user = request.UserName
     if user != '':
         approved = self._getToken(interaction, url, user, request.Format)
     else:
         approved = self._showUserDialog(interaction, url, request.Message)
     return approved
Ejemplo n.º 19
0
 def setDocumentRecord(self, index):
     try:
         dispatch = None
         document = createService(
             self.ctx, 'com.sun.star.frame.Desktop').CurrentComponent
         frame = document.getCurrentController().Frame
         flag = uno.getConstantByName(
             'com.sun.star.frame.FrameSearchFlag.SELF')
         if document.supportsService('com.sun.star.text.TextDocument'):
             url = self._getUrl('.uno:DataSourceBrowser/InsertContent')
             dispatch = frame.queryDispatch(url, '_self', flag)
         elif document.supportsService(
                 'com.sun.star.sheet.SpreadsheetDocument'):
             url = self._getUrl('.uno:DataSourceBrowser/InsertColumns')
             dispatch = frame.queryDispatch(url, '_self', flag)
         if dispatch is not None:
             dispatch.dispatch(url, self._getDataDescriptor(index + 1))
         self.index = index
     except Exception as e:
         print("WizardHandler.setDocumentRecord() ERROR: %s - %s" %
               (e, traceback.print_exc()))
Ejemplo n.º 20
0
 def __init__(self, ctx, wizard, session, url, username, autoclose):
     self.ctx = ctx
     self._provider = createService(
         self.ctx, 'com.sun.star.awt.ContainerWindowProvider')
     self.Session = session
     self.Configuration = WizardSetting(self.ctx)
     self.ResourceUrl = url
     self.UserName = username
     self.AutoClose = autoclose
     self._pages = [1]
     self.AuthorizationCode = uno.createUnoStruct(
         'com.sun.star.beans.Optional<string>')
     self.Server = WizardServer(self.ctx)
     self.Uuid = generateUuid()
     self._wizard = wizard
     self.Error = ''
     self._stringResource = getStringResource(self.ctx, g_identifier,
                                              'OAuth2OOo')
     self._handler = WizardHandler(ctx, session, self.Configuration, wizard)
     path = getActivePath(self.Configuration)
     print("WizardController.__init__() %s" % path)
     self._wizard.activatePath(path, True)
Ejemplo n.º 21
0
 def createPage(self, parent, id):
     try:
         msg = "PageId: %s ..." % id
         handler = WizardHandler(self.ctx,
                                 self.Session,
                                 self.Configuration,
                                 self.Wizard)
         url = getDialogUrl('OAuth2OOo', 'PageWizard%s' % id)
         provider = createService(self.ctx, 'com.sun.star.awt.ContainerWindowProvider')
         window = provider.createContainerWindow(url, '', parent, handler)
         page = WizardPage(self.ctx,
                           self.Configuration,
                           id,
                           window,
                           self.Uuid,
                           self.AuthorizationCode)
         msg += " Done"
         logMessage(self.ctx, INFO, msg, 'WizardController', 'createPage()')
         return page
     except Exception as e:
         msg = "Error: %s - %s" % (e, traceback.print_exc())
         logMessage(self.ctx, SEVERE, msg, 'WizardController', 'createPage()')
Ejemplo n.º 22
0
 def __init__(self, ctx, event, scheme, plugin):
     msg = "DataSource for Scheme: %s loading ... " % scheme
     self.ctx = ctx
     self._Users = {}
     self._Uris = {}
     self._Identifiers = OrderedDict()
     self.Error = None
     self.sync = event
     self.Provider = createService(self.ctx, '%s.Provider' % plugin)
     datasource, url, created = getDataSource(self.ctx, scheme, plugin,
                                              True)
     self.DataBase = DataBase(self.ctx, datasource)
     if created:
         self.Error = self.DataBase.createDataBase()
         if self.Error is None:
             self.DataBase.storeDataBase(url)
     self.DataBase.addCloseListener(self)
     folder, link = self.DataBase.getContentType()
     self.Provider.initialize(scheme, plugin, folder, link)
     self.Replicator = Replicator(ctx, datasource, self.Provider,
                                  self._Users, self.sync)
     msg += "Done"
     logMessage(self.ctx, INFO, msg, 'DataSource', '__init__()')
Ejemplo n.º 23
0
 def _splitDataBase(self, transformer, sf, url, split, dbname):
     service = 'com.sun.star.packages.zip.ZipFileAccess'
     args = (url.Main, )
     zip = createService(self.ctx, service, *args)
     self._unzipDataBase(transformer, sf, zip, split, dbname)
Ejemplo n.º 24
0
 def _getToolkit(self):
     return createService(self.ctx, 'com.sun.star.awt.Toolkit')
Ejemplo n.º 25
0
 def DataSources(self):
     dbcontext = createService(self.ctx, 'com.sun.star.sdb.DatabaseContext')
     return dbcontext.getElementNames()
Ejemplo n.º 26
0
def getOAuth2(ctx, url, name):
    oauth2 = createService(ctx, g_oauth2)
    if oauth2 is not None:
        oauth2.initializeSession(url, name)
    return oauth2
Ejemplo n.º 27
0
 def getRequest(self, name):
     request = createService(self.ctx, g_oauth2)
     if request is not None:
         request.initializeSession(self.Provider.Scheme, name)
     return request
Ejemplo n.º 28
0
def getUri(ctx, url):
    factory = createService(ctx, 'com.sun.star.uri.UriReferenceFactory')
    uri = factory.parse(url)
    return uri
Ejemplo n.º 29
0
def getRequest(ctx, scheme, name):
    request = createService(ctx, g_oauth2)
    if request is not None:
        request.initializeSession(scheme, name)
    return request
Ejemplo n.º 30
0
 def _getDataSource(self, transformer, url, name):
     service = 'com.sun.star.sdb.DatabaseContext'
     datasource = createService(self.ctx, service).createInstance()
     self._setDataSource(datasource, transformer, url, name)
     return datasource