Ejemplo n.º 1
0
def open_url(context, url):
    """ open InputStream from a URL.

    :param url: a URL to open an InputStream.
    :returns: an instance of InputStream
    """

    # see http://wiki.openoffice.org
    #     /wiki/Documentation/DevGuide/UCB/Using_the_UCB_API

    from hwp5.plat._uno.services import css

    css = css.bind(context)
    ucb = css.ucb.UniversalContentBroker("Local", "Office")
    content_id = ucb.createContentIdentifier(url)
    content = ucb.queryContent(content_id)

    import unohelper
    from com.sun.star.io import XActiveDataSink

    class DataSink(unohelper.Base, XActiveDataSink):
        def setInputStream(self, stream):
            self.stream = stream

        def getInputStream(self):
            return self.stream

    datasink = DataSink()

    from com.sun.star.ucb import Command, OpenCommandArgument2

    openargs = OpenCommandArgument2()
    openargs.Mode = 2  # OpenMode.DOCUMENT
    openargs.Priority = 32768
    openargs.Sink = datasink

    command = Command()
    command.Name = "open"
    command.Handle = -1
    command.Argument = openargs

    content.execute(command, 0, None)
    return datasink.stream
def open_url(context, url):
    ''' open InputStream from a URL.

    :param url: a URL to open an InputStream.
    :returns: an instance of InputStream
    '''

    # see http://wiki.openoffice.org
    #     /wiki/Documentation/DevGuide/UCB/Using_the_UCB_API

    from hwp5.plat._uno.services import css
    css = css.bind(context)
    ucb = css.ucb.UniversalContentBroker('Local', 'Office')
    content_id = ucb.createContentIdentifier(url)
    content = ucb.queryContent(content_id)

    import unohelper
    from com.sun.star.io import XActiveDataSink

    class DataSink(unohelper.Base, XActiveDataSink):
        def setInputStream(self, stream):
            self.stream = stream

        def getInputStream(self):
            return self.stream

    datasink = DataSink()

    from com.sun.star.ucb import Command, OpenCommandArgument2
    openargs = OpenCommandArgument2()
    openargs.Mode = 2  # OpenMode.DOCUMENT
    openargs.Priority = 32768
    openargs.Sink = datasink

    command = Command()
    command.Name = 'open'
    command.Handle = -1
    command.Argument = openargs

    content.execute(command, 0, None)
    return datasink.stream
Ejemplo n.º 3
0
def getModelFromDocUrl(ctx, url):
    """Get document model from document url."""
    doc = None
    args = ("Local", "Office")
    ucb = ctx.getServiceManager().createInstanceWithArgumentsAndContext(
        "com.sun.star.ucb.UniversalContentBroker", args, ctx)
    identifier = ucb.createContentIdentifier(url)
    content = ucb.queryContent(identifier)
    p = Property()
    p.Name = "DocumentModel"
    p.Handle = -1

    c = Command()
    c.Handle = -1
    c.Name = "getPropertyValues"
    c.Argument = uno.Any("[]com.sun.star.beans.Property", (p, ))

    env = CommandEnvironment()
    try:
        ret = content.execute(c, 0, env)
        doc = ret.getObject(1, None)
    except Exception as e:
        log.isErrorLevel() and log.error("getModelFromDocUrl: %s" % url)
    return doc
Ejemplo n.º 4
0
def getModelFromDocUrl(ctx, url):
    """Get document model from document url."""
    doc = None
    args = ("Local", "Office")
    ucb = ctx.getServiceManager().createInstanceWithArgumentsAndContext(
        "com.sun.star.ucb.UniversalContentBroker", args, ctx)
    identifier = ucb.createContentIdentifier(url)
    content = ucb.queryContent(identifier)
    p = Property()
    p.Name = "DocumentModel"
    p.Handle = -1

    c = Command()
    c.Handle = -1
    c.Name = "getPropertyValues"
    c.Argument = uno.Any("[]com.sun.star.beans.Property", (p,))

    env = CommandEnvironment()
    try:
        ret = content.execute(c, 0, env)
        doc = ret.getObject(1, None)
    except Exception as e:
        log.isErrorLevel() and log.error("getModelFromDocUrl: %s" % url)
    return doc
Ejemplo n.º 5
0
 def executeCommand(self, xContent, aCommandName, aArgument):
     aCommand  = Command()
     aCommand.Name     = aCommandName
     aCommand.Handle   = -1 # not available
     aCommand.Argument = aArgument
     return xContent.execute(aCommand, 0, None)
Ejemplo n.º 6
0
 def executeCommand(self, xContent, aCommandName, aArgument):
     aCommand  = Command()
     aCommand.Name     = aCommandName
     aCommand.Handle   = -1 # not available
     aCommand.Argument = aArgument
     return xContent.execute(aCommand, 0, None)