Exemple #1
0
def onProfilesChanged():
    app = runningApp()

    for wpName, wp in app.webProfiles.items():
        log.warning(f'Reconfiguring webprofile: {wpName}')

        wp.configure()
Exemple #2
0
    def __init__(self,
                 name,
                 description='P2P description',
                 protocolName=None,
                 listenRange=None,
                 listenerClass=None,
                 handler=None,
                 enabled=True,
                 didDefaultRegister=False,
                 protocolVersion=None,
                 setupCtx=None,
                 **kwargs):
        super().__init__(**kwargs)

        self.app = runningApp()
        self._name = name
        self._description = description
        self._protocolName = protocolName
        self._protocolVersion = protocolVersion
        self._listener = None
        self._listenerClass = listenerClass
        self._listenRange = listenRange if listenRange else \
            ('127.0.0.1', range(49400, 49500))
        self._enabled = enabled
        self._handler = handler
        self._manager = None
        self._setupCtx = setupCtx if setupCtx else {}
        self._didDefaultRegister = didDefaultRegister
Exemple #3
0
    def __init__(self,
                 dataPath: Path = None,
                 runtimeConfig=None,
                 dotPath=None,
                 app=None,
                 config=None,
                 parent=None):
        self.app = app if app else runningApp()
        self.rtCfg = runtimeConfig
        self.dotPath = dotPath
        self._config = config

        self.sServiceStarted = AsyncSignal()

        if self.dotPath is None and parent and parent.dotPath:
            self.dotPath = f'{parent.dotPath}.{self.name}'

        if dataPath:
            self.rootPath = dataPath
        else:
            self.rootPath = self.app.dataPathForService(
                self.dotPath if self.dotPath else 'tmp')

        Service.__init__(self)
        KeyListener.__init__(self)

        self.pubsubServices = []

        self.serviceConfigBind()
Exemple #4
0
    def __init__(self, ethCtrl, name, pkgPath, offline=False, **kwargs):
        planet = kwargs.pop('planet', 'earth')
        initmod = kwargs.pop('initModule', None)

        super(IPDapp, self).__init__()

        self.app = runningApp()

        self._ethController = ethCtrl
        self._name = name
        self._pkgPath = pkgPath
        self._templatesPath = os.path.join(self._pkgPath, 'templates')
        self._assetsPath = os.path.join(self._pkgPath, 'assets')
        self._assetsCid = None
        self._args = kwargs
        self._planet = planet
        self._offline = offline
        self.cStore = {}

        self._ctx_params = {}

        self.jEnv = jinja2.Environment(loader=jinja2.FileSystemLoader(
            self._templatesPath),
                                       enable_async=True)

        self.web3Channel = self.app.browserRuntime.web3Channel(self.name)

        self._moduleInit = initmod
        self._watcher = FileWatcher()
        # self._watchT = QTimer()
        # self._watchT.timeout.connect(
        #    lambda: self.pkgContentsChanged.emit(self.name))

        self.watch(self._pkgPath)
        self._watcher.pathChanged.connect(self.onFileWatchChange)
Exemple #5
0
    def __init__(self, parent=None):
        super().__init__(parent)

        self.app = runningApp()
        self.ui = ui_dmessenger.Ui_MessengerForm()
        self.ui.setupUi(self)

        self.modelContacts = BMContactsModel(self)

        self.messenger = Messenger(self.ui.mailBoxStack, self)

        self.messageView = MessageViewer(self)
        self.messageView.msgReplyStart.connect(self.onReplyToMessage)
        self.messageView.msgComposeNewReq.connect(self.composeMessage)

        self.messageComposer = MessageComposer(bmModel=self.modelContacts,
                                               parent=self)
        self.messageComposer.cancelled.connect(self.setDefaultView)
        self.messageComposer.sendSuccess.connect(self.onSendSuccess)

        self.sIdxView = self.ui.mailStack.addWidget(self.messageView)
        self.sIdxCompose = self.ui.mailStack.addWidget(self.messageComposer)

        self.ui.createMailboxButton.clicked.connect(
            partialEnsure(self.onCreateMailbox))
        self.ui.copyBmKeyButton.clicked.connect(partialEnsure(
            self.onCopyBmKey))
        self.ui.composeButton.clicked.connect(self.onComposeClicked)
        self.ui.curMailboxCombo.currentIndexChanged.connect(
            partialEnsure(self.onMailBoxSelect))

        self.setDefaultView()
Exemple #6
0
    def __init__(self, fileUrl, parent=None):
        super(QMLApplicationWidget, self).__init__(parent=parent)

        self.setLayout(QVBoxLayout())

        self.app = runningApp()
        self.epFileUrl = fileUrl
        self.fsw = FileWatcher(parent=self)
        self.fsw.pathChanged.connect(self.onReloadApp)
        self.fsw.watch(self.epFileUrl)

        self.stack = QStackedWidget()
        self.layout().addWidget(self.stack)

        self.gInterface = GHandler(self)
        self.iInterface = IHandler(self)
        self.ldInterface = LDHandler(self)
        self.sparqlInterface = SparQLHandler(self)
        self.ipidInterface = IPIDHandler(self)

        self.currentComponent = None

        # Clone the IPFS profile
        self.webProfile = self.app.webProfiles['ipfs'].quickClone()

        # TODO: move this in global place
        self.models = {
            'Articles': ArticlesModel(),
            'Channels': MultimediaChannelsModel(),
            'Shouts': ShoutsModel()
        }
        self.setupEngine()
Exemple #7
0
    def __init__(self, torService, parent=None):
        super().__init__(parent=parent, mode=QToolButton.InstantPopup)

        self.app = runningApp()
        self.tor = torService.proc

        self.tor.torProto.sTorBootstrapStatus.connectTo(
            self.onTorBootstrapStatus)

        self.setObjectName('torControlButton')
        self.setCheckable(True)
        self.setChecked(False)

        self.enableAction = QAction('Enable/disable Tor',
                                    self,
                                    triggered=self.onEnableDisable)
        self.enableAction.setCheckable(True)

        self.autoUseAction = QAction('Automatically use Tor as proxy',
                                     self,
                                     triggered=self.onAutoUse)
        self.autoUseAction.setCheckable(True)

        self.configApply()

        self.menu.addAction(self.enableAction)
        self.menu.addAction(self.autoUseAction)

        configModRegCallback(self.onConfigChangedAsync,
                             mod=self.serviceConfigModule)
Exemple #8
0
    def __init__(self, sWidget, parent=None):
        super().__init__(sWidget)

        self.app = runningApp()
        self.currentServiceItem = None
        self.sWidget = sWidget

        if 0:
            self.sWidget.ui.vLayout.insertWidget(
                0,
                LabelWithURLOpener('<a href="manual:/pinning.html#remote">'
                                   'Remote pinning manual'
                                   '</a>'))

        self.sWidget.ui.removeService.setEnabled(False)
        self.sWidget.ui.rServiceConfigGroup.setEnabled(False)

        self.sWidget.ui.rPinServiceAddButton.clicked.connect(
            partialEnsure(self.onNewRemoteService))
        self.sWidget.ui.removeService.clicked.connect(
            partialEnsure(self.onRemoveService))
        self.sWidget.ui.rPinServices.currentItemChanged.connect(
            self.onCurrentServiceChanged)

        self.iconSelector = IconSelector()
        self.sWidget.ui.srvGridLayout.addWidget(self.iconSelector, 1, 1)

        self.sWidget.ui.rpsPriority.valueChanged.connect(self.servicePatch)
        self.iconSelector.iconSelected.connect(self.servicePatch)
Exemple #9
0
    def __init__(self, *args, **kwargs):
        Handler.__init__(self, *args, **kwargs)
        StringFormatterHandlerMixin.__init__(self, None)

        self.app = runningApp()
        self.loop = asyncio.get_event_loop()
        self.ptask = self.loop.create_task(self._process())
        self.__queue = asyncio.Queue()
Exemple #10
0
def quickWidgetFromIpfs(ipfsPath: IPFSPath, parent=None):
    app = runningApp()

    url = app.subUrl(str(ipfsPath))
    parentUrl = app.subUrl(str(ipfsPath.parent()))

    qWidget = QQuickWidget(parent)
    qWidget.engine().setBaseUrl(parentUrl)
    qWidget.setSource(url)
    return qWidget
Exemple #11
0
    def __init__(self, page=None, parent=None):
        super(DWebView, self).__init__(parent)
        self.app = runningApp()
        self.channel = QWebChannel()
        self.p = page
        self.show()

        self.webSettings = self.settings()
        self.webSettings.setAttribute(QWebEngineSettings.LocalStorageEnabled,
                                      True)
Exemple #12
0
    def __init__(self, parent=None, noMutexes=False):
        super(BaseURLSchemeHandler, self).__init__(parent)

        self.requests = {}
        self.noMutexes = noMutexes
        self.app = runningApp()

        if self.psListenerClass:
            # can't instantiate this before the hub is created ..
            self.psListener = self.psListenerClass()
Exemple #13
0
    def __init__(self, dataPath: Path = None, runtimeConfig=None):
        super().__init__()

        self.app = runningApp()
        self.rtCfg = runtimeConfig

        if dataPath:
            self.rootPath = dataPath
        else:
            self.rootPath = self.app.dataPathForService('tmp')

        self.psKey = makeKeyService(self.name)
Exemple #14
0
    async def ldOps(self):
        app = runningApp()

        if not self._ldDocLoader:
            self._ldDocLoader = await aioipfs_document_loader(
                self.client,
                app.ldSchemas
            )

        return LDOpsContext(
            self,
            self._ldDocLoader
        )
Exemple #15
0
    def __init__(self, parent=None):
        super().__init__(parent)
        self.app = runningApp()

        self.ui = ui_dmessenger_messageview.Ui_MessengerMailView()
        self.ui.setupUi(self)

        self.ui.replyButton.setEnabled(False)
        self.ui.replyButton.clicked.connect(self.onReply)

        self.browser.setOpenExternalLinks(False)
        self.browser.setOpenLinks(False)
        self.browser.anchorClicked.connect(
            partialEnsure(self.onOpenMessageLink))
Exemple #16
0
    def onPinResult(self, f):
        try:
            path, code, msg = f.result()
        except:
            pass
        else:
            path = IPFSPath(path)
            if not path.valid:
                log.debug('Invalid path in pin result: {}'.format(str(path)))
                return

            if code == 0:
                runningApp().systemTrayMessage('PIN',
                                               iPinSuccess(str(path)),
                                               timeout=2000)
            elif code == 1:
                runningApp().systemTrayMessage('PIN',
                                               iPinError(str(path), msg),
                                               timeout=3000)
            elif code == 2:
                # Cancelled, no need to notify here
                pass
            else:
                log.debug('Unknown status code for pinning result')
Exemple #17
0
    def __init__(self, bmModel=None, parent=None):
        super().__init__(parent)

        self.app = runningApp()
        self.completer = ComposeRecipientCompleter(self)
        self.completer.setCompletionMode(QCompleter.PopupCompletion)
        self.completer.setCaseSensitivity(Qt.CaseInsensitive)
        self.completer.setCompletionColumn(1)
        self.completer.setModel(bmModel)

        self.ui = ui_dmessenger_compose.Ui_MessageComposerForm()
        self.ui.setupUi(self)

        self.ui.sendButton.clicked.connect(partialEnsure(self.onSend))
        self.ui.cancelButton.clicked.connect(self.onCancelClicked)

        self.ui.msgTo.setCompleter(self.completer)
        self.ui.msgTo.textChanged.connect(self.onRecpChanged)
Exemple #18
0
    async def event_g_services(self, key, message):
        from galacteek.dweb.channels.eth import EthSmartContractHandler

        app = runningApp()
        event = message['event']

        if event['type'] == 'ContractLoadedEvent':
            contract = event['contract']
            cConfig = event['contractConfig']

            webChannelName = cConfig.get('web3Channel', 'dpool')
            chanObjName = cConfig.get('web3ChanObjName', 'NOPE')

            channel = app.browserRuntime.web3Channel(
                webChannelName)

            handler = EthSmartContractHandler(contract['operator'],
                                              parent=app)
            handler.moveToThread(app.thread())

            channel.register(chanObjName, handler)
Exemple #19
0
    async def remoteServicesScan(self, ipfsop):
        """
        Scan remote pinning services and sync them to the config
        """

        app = runningApp()

        nodeId = await ipfsop.nodeId()

        listing = await ipfsop.pinRemoteServiceList()

        if not nodeId or not listing:
            return

        changed = False
        for rService in listing:
            if cfgpinning.rpsConfigRegister(rService, nodeId):
                changed = True

        if changed:
            await app.s.ldPublish({'type': 'RPSConfigChanged'})
Exemple #20
0
    def __init__(self,
                 profile,
                 tmplMain,
                 ipfsConnParams,
                 searchMode='classic',
                 webchannel=None,
                 parent=None):
        super(SearchResultsPage, self).__init__(parent, profile=profile)

        self.app = runningApp()

        self.channel = QWebChannel(self)
        self.handler = IPFSSearchHandler(self)
        self.channel.registerObject('ipfssearch', self.handler)
        self.setWebChannel(self.channel)
        self.setBackgroundColor(
            QColor(self.app.theme.colors.webEngineBackground))

        self.app = QApplication.instance()

        self.searchMode = searchMode
        self.template = tmplMain
        self.ipfsConnParams = ipfsConnParams
        ensure(self.render())
Exemple #21
0
def hubPublish(key, message):
    log.debug(f'hubPublish ({key}) : {message}')

    # Hub publishing should now always happen in the main loop
    app = runningApp()
    app.loop.call_soon_threadsafe(gHub.publish, key, message)
Exemple #22
0
    async def queryAsync(self, query, initBindings=None):
        def runQuery(q, bindings):
            return self.query(q, initBindings=bindings)

        return await self.loop.run_in_executor(runningApp().executor, runQuery,
                                               query, initBindings)
Exemple #23
0
    def __init__(self, sWidget, parent=None):
        super().__init__(sWidget)

        self.app = runningApp()
        self.sWidget = sWidget
Exemple #24
0
 def repolish(self):
     runningApp().repolishWidget(self)
Exemple #25
0
 def __init__(self, ipService):
     self.app = runningApp()
     self.ipService = ipService
Exemple #26
0
 def onHelp(self):
     runningApp().manuals.browseManualPage('pinning.html')
Exemple #27
0
    def __init__(self):
        self.app = runningApp()
        self.fsWatcher = FileWatcher()

        self.fsWatcher.pathChanged.connect(self.onThemeChanged)
Exemple #28
0
 def __init__(self, service):
     self.throttler = Throttler(rate_limit=30,
                                period=5.0,
                                retry_interval=2.0)
     self.service = service
     self.app = runningApp()