[ Avaa Bypassed ]




Upload:

Command:

www-data@18.216.78.190: ~ $
# -*- tab-width: 4; indent-tabs-mode: nil; py-indent-offset: 4 -*-
#
# This file is part of the LibreOffice project.
#
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
#
# This file incorporates work covered by the following license notice:
#
#   Licensed to the Apache Software Foundation (ASF) under one or more
#   contributor license agreements. See the NOTICE file distributed
#   with this work for additional information regarding copyright
#   ownership. The ASF licenses this file to you under the Apache
#   License, Version 2.0 (the "License"); you may not use this file
#   except in compliance with the License. You may obtain a copy of
#   the License at http://www.apache.org/licenses/LICENSE-2.0 .
#
import uno
import pyuno
import os
import sys

from com.sun.star.lang import XTypeProvider, XSingleComponentFactory, XServiceInfo
from com.sun.star.uno import RuntimeException, XCurrentContext
from com.sun.star.beans.MethodConcept import ALL as METHOD_CONCEPT_ALL
from com.sun.star.beans.PropertyConcept import ALL as PROPERTY_CONCEPT_ALL

from com.sun.star.reflection.ParamMode import \
     IN as PARAM_MODE_IN, \
     OUT as PARAM_MODE_OUT, \
     INOUT as PARAM_MODE_INOUT

from com.sun.star.beans.PropertyAttribute import \
     MAYBEVOID as PROP_ATTR_MAYBEVOID, \
     BOUND as PROP_ATTR_BOUND, \
     CONSTRAINED as PROP_ATTR_CONSTRAINED, \
     TRANSIENT as PROP_ATTR_TRANSIENT, \
     READONLY as PROP_ATTR_READONLY, \
     MAYBEAMBIGUOUS as PROP_ATTR_MAYBEAMBIGUOUS, \
     MAYBEDEFAULT as PROP_ATTR_MAYBEDEFAULT, \
     REMOVABLE as PROP_ATTR_REMOVABLE

def _mode_to_str( mode ):
    ret = "[]"
    if mode == PARAM_MODE_INOUT:
        ret = "[inout]"
    elif mode == PARAM_MODE_OUT:
        ret = "[out]"
    elif mode == PARAM_MODE_IN:
        ret = "[in]"
    return ret

def _propertymode_to_str( mode ):
    ret = ""
    if PROP_ATTR_REMOVABLE & mode:
        ret = ret + "removable "
    if PROP_ATTR_MAYBEDEFAULT & mode:
        ret = ret + "maybedefault "
    if PROP_ATTR_MAYBEAMBIGUOUS & mode:
        ret = ret + "maybeambiguous "
    if PROP_ATTR_READONLY & mode:
        ret = ret + "readonly "
    if PROP_ATTR_TRANSIENT & mode:
        ret = ret + "transient "
    if PROP_ATTR_CONSTRAINED & mode:
        ret = ret + "constrained "
    if PROP_ATTR_BOUND & mode:
        ret = ret + "bound "
    if PROP_ATTR_MAYBEVOID & mode:
        ret = ret + "maybevoid "
    return ret.rstrip()

def inspect( obj , out ):
    if isinstance( obj, uno.Type ) or \
       isinstance( obj, uno.Char ) or \
       isinstance( obj, uno.Bool ) or \
       isinstance( obj, uno.ByteSequence ) or \
       isinstance( obj, uno.Enum ) or \
       isinstance( obj, uno.Any ):
        out.write( str(obj) + "\n")
        return

    ctx = uno.getComponentContext()
    introspection = \
         ctx.ServiceManager.createInstanceWithContext( "com.sun.star.beans.Introspection", ctx )

    out.write( "Supported services:\n" )
    if hasattr( obj, "getSupportedServiceNames" ):
        names = obj.getSupportedServiceNames()
        for ii in names:
            out.write( "  " + ii + "\n" )
    else:
        out.write( "  unknown\n" )

    out.write( "Interfaces:\n" )
    if hasattr( obj, "getTypes" ):
        interfaces = obj.getTypes()
        for ii in interfaces:
            out.write( "  " + ii.typeName + "\n" )
    else:
        out.write( "  unknown\n" )

    access = introspection.inspect( obj )
    methods = access.getMethods( METHOD_CONCEPT_ALL )
    out.write( "Methods:\n" )
    for ii in methods:
        out.write( "  " + ii.ReturnType.Name + " " + ii.Name )
        args = ii.ParameterTypes
        infos = ii.ParameterInfos
        out.write( "( " )
        for i in range( 0, len( args ) ):
            if i > 0:
                out.write( ", " )
            out.write( _mode_to_str( infos[i].aMode ) + " " + args[i].Name + " " + infos[i].aName )
        out.write( " )\n" )

    props = access.getProperties( PROPERTY_CONCEPT_ALL )
    out.write ("Properties:\n" )
    for ii in props:
        out.write( "  ("+_propertymode_to_str( ii.Attributes ) + ") "+ii.Type.typeName+" "+ii.Name+ "\n" )

def createSingleServiceFactory( clazz, implementationName, serviceNames ):
    return _FactoryHelper_( clazz, implementationName, serviceNames )

class _ImplementationHelperEntry:
    def __init__(self, ctor,serviceNames):
        self.ctor = ctor
        self.serviceNames = serviceNames

class ImplementationHelper:
    def __init__(self):
        self.impls = {}

    def addImplementation( self, ctor, implementationName, serviceNames ):
        self.impls[implementationName] =  _ImplementationHelperEntry(ctor,serviceNames)

    def writeRegistryInfo( self, regKey, smgr ):
        for i in list(self.impls.items()):
            keyName = "/"+ i[0] + "/UNO/SERVICES"
            key = regKey.createKey( keyName )
            for serviceName in i[1].serviceNames:
                key.createKey( serviceName )
        return 1

    def getComponentFactory( self, implementationName , regKey, smgr ):
        entry = self.impls.get( implementationName, None )
        if entry is None:
            raise RuntimeException( implementationName + " is unknown" , None )
        return createSingleServiceFactory( entry.ctor, implementationName, entry.serviceNames )

    def getSupportedServiceNames( self, implementationName ):
        entry = self.impls.get( implementationName, None )
        if entry is None:
            raise RuntimeException( implementationName + " is unknown" , None )
        return entry.serviceNames

    def supportsService( self, implementationName, serviceName ):
        entry = self.impls.get( implementationName,None )
        if entry is None:
            raise RuntimeException( implementationName + " is unknown", None )
        return serviceName in entry.serviceNames


class ImplementationEntry:
    def __init__(self, implName, supportedServices, clazz ):
        self.implName = implName
        self.supportedServices = supportedServices
        self.clazz = clazz

def writeRegistryInfoHelper( smgr, regKey, seqEntries ):
    for entry in seqEntries:
        keyName = "/"+ entry.implName + "/UNO/SERVICES"
        key = regKey.createKey( keyName )
        for serviceName in entry.supportedServices:
            key.createKey( serviceName )

def systemPathToFileUrl( systemPath ):
    "returns a file-url for the given system path"
    return pyuno.systemPathToFileUrl( systemPath )

def fileUrlToSystemPath( url ):
    "returns a system path (determined by the system, the python interpreter is running on)"
    return pyuno.fileUrlToSystemPath( url )

def absolutize( path, relativeUrl ):
    "returns an absolute file url from the given urls"
    return pyuno.absolutize( path, relativeUrl )

def getComponentFactoryHelper( implementationName, smgr, regKey, seqEntries ):
    for x in seqEntries:
        if x.implName == implementationName:
            return createSingleServiceFactory( x.clazz, implementationName, x.supportedServices )

def addComponentsToContext( toBeExtendedContext, contextRuntime, componentUrls, loaderName ):
    smgr = contextRuntime.ServiceManager
    loader = smgr.createInstanceWithContext( loaderName, contextRuntime )
    implReg = smgr.createInstanceWithContext( "com.sun.star.registry.ImplementationRegistration",contextRuntime)

    isWin = os.name == 'nt' or os.name == 'dos'
    isMac = sys.platform == 'darwin'
    #   create a temporary registry
    for componentUrl in componentUrls:
        reg = smgr.createInstanceWithContext( "com.sun.star.registry.SimpleRegistry", contextRuntime )
        reg.open( "", 0, 1 )
        if not isWin and componentUrl.endswith( ".uno" ):  # still allow platform independent naming
            if isMac:
                componentUrl = componentUrl + ".dylib"
            else:
                componentUrl = componentUrl + ".so"

        implReg.registerImplementation( loaderName,componentUrl, reg )
        rootKey = reg.getRootKey()
        implementationKey = rootKey.openKey( "IMPLEMENTATIONS" )
        implNames = implementationKey.getKeyNames()
        extSMGR = toBeExtendedContext.ServiceManager
        for x in implNames:
            fac = loader.activate( max(x.split("/")),"",componentUrl,rootKey)
            extSMGR.insert( fac )
        reg.close()

# never shrinks !
_g_typeTable = {}
def _unohelper_getHandle( self):
    ret = None
    if self.__class__ in _g_typeTable:
        ret = _g_typeTable[self.__class__]
    else:
        names = {}
        traverse = list(self.__class__.__bases__)
        while len( traverse ) > 0:
            item = traverse.pop()
            bases = item.__bases__
            if uno.isInterface( item ):
                names[item.__pyunointerface__] = None
            elif len(bases) > 0:
                # the "else if", because we only need the most derived interface
                traverse = traverse + list(bases)#

        lst = list(names.keys())
        types = []
        for x in lst:
            t = uno.getTypeByName( x )
            types.append( t )

        ret = tuple(types)
        _g_typeTable[self.__class__] = ret
    return ret

class Base(XTypeProvider):
    def getTypes( self ):
        return _unohelper_getHandle( self )
    def getImplementationId(self):
        return ()

class CurrentContext(XCurrentContext, Base ):
    """a current context implementation, which first does a lookup in the given
       hashmap and if the key cannot be found, it delegates to the predecessor
       if available
    """
    def __init__( self, oldContext, hashMap ):
        self.hashMap = hashMap
        self.oldContext = oldContext

    def getValueByName( self, name ):
        if name in self.hashMap:
            return self.hashMap[name]
        elif self.oldContext is not None:
            return self.oldContext.getValueByName( name )
        else:
            return None

# -------------------------------------------------
# implementation details
# -------------------------------------------------
class _FactoryHelper_( XSingleComponentFactory, XServiceInfo, Base ):
    def __init__( self, clazz, implementationName, serviceNames ):
        self.clazz = clazz
        self.implementationName = implementationName
        self.serviceNames = serviceNames

    def getImplementationName( self ):
        return self.implementationName

    def supportsService( self, ServiceName ):
        return ServiceName in self.serviceNames

    def getSupportedServiceNames( self ):
        return self.serviceNames

    def createInstanceWithContext( self, context ):
        return self.clazz( context )

    def createInstanceWithArgumentsAndContext( self, args, context ):
        return self.clazz( context, *args )

# vim: set shiftwidth=4 softtabstop=4 expandtab:

Filemanager

Name Type Size Permission Actions
AptUrl Folder 0755
Click-7.0.egg-info Folder 0755
CommandNotFound Folder 0755
ConfigArgParse-0.13.0.egg-info Folder 0755
DistUpgrade Folder 0755
HweSupportStatus Folder 0755
LanguageSelector Folder 0755
Mako-1.1.0.egg-info Folder 0755
MarkupSafe-1.1.0.egg-info Folder 0755
NvidiaDetector Folder 0755
OpenSSL Folder 0755
PIL Folder 0755
Pillow-7.0.0.egg-info Folder 0755
PyGObject-3.36.0.egg-info Folder 0755
PyJWT-1.7.1.egg-info Folder 0755
PyNaCl-1.3.0.egg-info Folder 0755
Quirks Folder 0755
SecretStorage-2.3.1.egg-info Folder 0755
UbuntuDrivers Folder 0755
UpdateManager Folder 0755
__pycache__ Folder 0755
acme Folder 0755
acme-1.1.0.egg-info Folder 0755
apport Folder 0755
apt Folder 0755
apt_inst-stubs Folder 0755
apt_pkg-stubs Folder 0755
aptdaemon Folder 0755
aptsources Folder 0755
bcrypt Folder 0755
bcrypt-3.1.7.egg-info Folder 0755
blinker Folder 0755
cairo Folder 0755
certbot Folder 0755
certbot-0.40.0.egg-info Folder 0755
certbot_apache Folder 0755
certbot_apache-0.39.0.egg-info Folder 0755
certifi Folder 0755
certifi-2019.11.28.egg-info Folder 0755
chardet Folder 0755
chardet-3.0.4.egg-info Folder 0755
click Folder 0755
colorama Folder 0755
colorama-0.4.3.egg-info Folder 0755
configobj-5.0.6.egg-info Folder 0755
cryptography Folder 0755
cryptography-2.8.egg-info Folder 0755
cupshelpers Folder 0755
dateutil Folder 0755
dbus Folder 0755
dbus_python-1.2.16.egg-info Folder 0755
debian Folder 0755
debian_bundle Folder 0755
defer Folder 0755
defer-1.0.6.egg-info Folder 0755
distro-1.4.0.egg-info Folder 0755
distro_info-0.23ubuntu1.egg-info Folder 0755
duplicity Folder 0755
duplicity-0.8.12.0.egg-info Folder 0755
fasteners Folder 0755
fasteners-0.14.1.egg-info Folder 0755
future Folder 0755
future-0.18.2.egg-info Folder 0755
gi Folder 0755
google Folder 0755
httplib2 Folder 0755
httplib2-0.14.0.egg-info Folder 0755
icu Folder 0755
idna Folder 0755
idna-2.8.egg-info Folder 0755
janitor Folder 0755
josepy Folder 0755
josepy-1.2.0.egg-info Folder 0755
jwt Folder 0755
keyring Folder 0755
keyring-18.0.1.egg-info Folder 0755
language_selector-0.1.egg-info Folder 0755
launchpadlib Folder 0755
launchpadlib-1.10.13.egg-info Folder 0755
lazr Folder 0755
lazr.restfulclient-0.14.2.egg-info Folder 0755
lazr.uri-1.0.3.egg-info Folder 0755
libfuturize Folder 0755
libpasteurize Folder 0755
lockfile Folder 0755
lockfile-0.12.2.egg-info Folder 0755
louis Folder 0755
macaroonbakery Folder 0755
macaroonbakery-1.3.1.egg-info Folder 0755
mako Folder 0755
markupsafe Folder 0755
mock Folder 0755
mock-3.0.5.egg-info Folder 0755
monotonic-1.5.egg-info Folder 0755
nacl Folder 0755
netifaces-0.10.4.egg-info Folder 0755
oauthlib Folder 0755
oauthlib-3.1.0.egg-info Folder 0755
olefile Folder 0755
olefile-0.46.egg-info Folder 0755
orca Folder 0755
paramiko Folder 0755
paramiko-2.6.0.egg-info Folder 0755
parsedatetime Folder 0755
parsedatetime-2.4.egg-info Folder 0755
past Folder 0755
pbr Folder 0755
pbr-5.4.5.egg-info Folder 0755
pexpect Folder 0755
pkg_resources Folder 0755
protobuf-3.6.1.egg-info Folder 0755
ptyprocess Folder 0755
pyOpenSSL-19.0.0.egg-info Folder 0755
pyRFC3339-1.1.egg-info Folder 0755
pyatspi Folder 0755
pygtkcompat Folder 0755
pymacaroons Folder 0755
pymacaroons-0.13.0.egg-info Folder 0755
pyrfc3339 Folder 0755
python_apt-2.0.1+ubuntu0.20.4.1.egg-info Folder 0755
python_dateutil-2.7.3.egg-info Folder 0755
python_debian-0.1.36ubuntu1.egg-info Folder 0755
pytz Folder 0755
pytz-2019.3.egg-info Folder 0755
reportlab Folder 0755
reportlab-3.5.34.egg-info Folder 0755
requests Folder 0755
requests-2.22.0.egg-info Folder 0755
requests_toolbelt Folder 0755
requests_toolbelt-0.8.0.egg-info Folder 0755
requests_unixsocket Folder 0755
requests_unixsocket-0.2.0.egg-info Folder 0755
secretstorage Folder 0755
setuptools Folder 0755
setuptools-45.2.0.egg-info Folder 0755
simplejson Folder 0755
six-1.14.0.egg-info Folder 0755
softwareproperties Folder 0755
speechd Folder 0755
speechd_config Folder 0755
ssh_import_id Folder 0755
ssh_import_id-5.10.egg-info Folder 0755
systemd Folder 0755
uaclient Folder 0755
ubuntu_advantage_tools-8001.egg-info Folder 0755
ubuntu_drivers_common-0.0.0.egg-info Folder 0755
ufw Folder 0755
unattended_upgrades-0.1.egg-info Folder 0755
urllib3 Folder 0755
urllib3-1.25.8.egg-info Folder 0755
usbcreator Folder 0755
wadllib Folder 0755
wadllib-1.3.3.egg-info Folder 0755
xdg Folder 0755
xkit Folder 0755
yaml Folder 0755
zope Folder 0755
zope.component-4.3.0.egg-info Folder 0755
zope.event-4.4.egg-info Folder 0755
zope.hookable-5.0.0.egg-info Folder 0755
zope.interface-4.7.1.egg-info Folder 0755
Brlapi-0.7.0.egg-info File 242 B 0644
PyICU-2.4.2.egg-info File 10.44 KB 0644
PyICU.py File 1.43 KB 0644
PyYAML-5.3.1.egg-info File 1.74 KB 0644
_cffi_backend.cpython-38-x86_64-linux-gnu.so File 181.92 KB 0644
_dbus_bindings.cpython-38-x86_64-linux-gnu.so File 168.16 KB 0644
_dbus_glib_bindings.cpython-38-x86_64-linux-gnu.so File 22.54 KB 0644
_icu.cpython-38-x86_64-linux-gnu.so File 1.1 MB 0644
_ldb_text.py File 3.45 KB 0644
_version.py File 21 B 0644
_yaml.cpython-38-x86_64-linux-gnu.so File 276.73 KB 0644
apport_python_hook.py File 7.87 KB 0644
apt_inst.cpython-38-x86_64-linux-gnu.so File 58.67 KB 0644
apt_pkg.cpython-38-x86_64-linux-gnu.so File 350.95 KB 0644
apturl-0.5.2.egg-info File 180 B 0644
augeas.py File 23 KB 0644
blinker-1.4.egg-info File 3.81 KB 0644
brlapi.cpython-38-x86_64-linux-gnu.so File 241.27 KB 0644
command_not_found-0.3.egg-info File 189 B 0644
configargparse.py File 40.47 KB 0644
configobj.py File 87.51 KB 0644
cups.cpython-38-x86_64-linux-gnu.so File 196.14 KB 0644
cupsext.cpython-38-x86_64-linux-gnu.so File 45.04 KB 0644
cupshelpers-1.0.egg-info File 231 B 0644
deb822.py File 273 B 0644
debconf.py File 6.61 KB 0644
distro.py File 42.24 KB 0644
distro_info.py File 10.89 KB 0644
easy_install.py File 126 B 0644
entrypoints.egg-info File 226 B 0644
entrypoints.py File 7.99 KB 0644
hpmudext.cpython-38-x86_64-linux-gnu.so File 18.85 KB 0644
language_support_pkgs.py File 9.7 KB 0644
ldb.cpython-38-x86_64-linux-gnu.so File 102.25 KB 0644
louis-3.12.0.egg-info File 527 B 0644
lsb_release.py File 14.55 KB 0644
monotonic.py File 6.95 KB 0644
netifaces.cpython-38-x86_64-linux-gnu.so File 22.68 KB 0644
netifaces.cpython-38d-x86_64-linux-gnu.so File 26.71 KB 0644
pcardext.cpython-38-x86_64-linux-gnu.so File 22.66 KB 0644
pexpect-4.6.0.egg-info File 2.23 KB 0644
problem_report.py File 26.25 KB 0644
pycairo-1.16.2.egg-info File 3.75 KB 0644
pycups-1.9.73.egg-info File 1.31 KB 0644
python_augeas-0.5.0.egg-info File 238 B 0644
pyxdg-0.26.egg-info File 576 B 0644
scanext.cpython-38-x86_64-linux-gnu.so File 23.35 KB 0644
simplejson-3.16.0.egg-info File 2.97 KB 0644
six.py File 33.28 KB 0644
systemd_python-234.egg-info File 586 B 0644
talloc.cpython-38-x86_64-linux-gnu.so File 15.64 KB 0644
ufw-0.36.egg-info File 261 B 0644
uno.py File 17.11 KB 0644
unohelper.py File 10.7 KB 0644
usb_creator-0.3.7.egg-info File 219 B 0644
validate.py File 46.14 KB 0644
xkit-0.0.0.egg-info File 266 B 0644
zope.component-4.3.0-nspkg.pth File 529 B 0644
zope.event-4.4-nspkg.pth File 529 B 0644
zope.hookable-5.0.0-nspkg.pth File 529 B 0644
zope.interface-4.7.1-nspkg.pth File 529 B 0644