Exemplo n.º 1
0
    def test_soup(self):
        for url in self.GOOD:
            session = Soup.Session()
            request = session.request_http("get", url)
            request.send(None).close()

        for url in self.BAD:
            with self.assertRaises(GLib.GError):
                session = Soup.Session()
                request = session.request_http("get", url)
                request.send(None).close()
Exemplo n.º 2
0
    def __init__(self):
        GObject.Object.__init__(self)
        self.subs_path = ""
        self.current_name = {"name": "", "fn": ""}
        self.settings = Gio.Settings('org.gnome.shell')
        self.ext_settings = None
        self.ws_conn = None
        self.ws_data = None
        self.ws_connecting = False
        self.soup_client = Soup.Session(timeout=3)

        Gio_SSS = Gio.SettingsSchemaSource
        if os.path.isfile(EXTENSION_PATH + '/schemas/gschemas.compiled'):
            schema_source = Gio_SSS.new_from_directory(
                EXTENSION_PATH + '/schemas', Gio_SSS.get_default(), False)
        else:
            schema_source = Gio_SSS.get_default()

        schema_obj = schema_source.lookup(
            'org.gnome.shell.extensions.cast-to-tv', True)
        if schema_obj:
            self.ext_settings = Gio.Settings.new_full(schema_obj)

        locale.setlocale(locale.LC_ALL, '')
        if os.path.exists(EXTENSION_PATH + '/locale'):
            gettext.bindtextdomain('cast-to-tv', EXTENSION_PATH + '/locale')
        else:
            gettext.bindtextdomain('cast-to-tv', None)
        gettext.textdomain('cast-to-tv')
Exemplo n.º 3
0
    def menter(self, msgserver, meeting, token):
        if not self.vlc:
            self.vlc = VLCWidget(self.get("vlc"))

        tmp = self.get("messages")
        for i in tmp:
            tmp.remove(i)

        tmp = self.get("members")
        for i in tmp:
            tmp.remove(i)

        self.mid = meeting["id"]
        self.mcode = meeting["code"]
        self.session = Soup.Session()
        msg = Soup.Message.new("GET", msgserver["ip"])
        self.session.websocket_connect_async(msg, None, None, None,
                                             self.on_ws_connected, meeting,
                                             token)

        if meeting["uid"] == get_uid():
            self.madmin = True
            self.get("mexit").set_label(_("End meeting"))
        else:
            self.madmin = False
            self.get("mexit").set_label(_("Exit"))

        self.get("stack_main").set_visible_child_name("meeting")
Exemplo n.º 4
0
def run():
    parser = ArgumentParser(
        description='Something For Reddit - a Gtk+ Reddit Client')
    parser.add_argument('uri',
                        help='Reddit.com URI to open, or None',
                        default=None,
                        nargs='?')
    parser.add_argument('--dark',
                        help='Force Gtk+ dark theme',
                        action='store_true')
    args = parser.parse_args()

    settings = Gtk.Settings.get_default()
    theme = get_settings()['theme']
    if theme == 'dark':
        settings.props.gtk_application_prefer_dark_theme = True
    elif theme == 'light':
        settings.props.gtk_application_prefer_dark_theme = False

    if args.dark:
        settings.props.gtk_application_prefer_dark_theme = True

    session = Soup.Session()
    ic = IdentityController(session)
    api_factory = APIFactory(session)

    a = Application(ic, api_factory)
    if args.uri is not None:
        a.goto_reddit_uri(args.uri)
    status = a.run()
    get_read_controller().save()
    sys.exit(status)
Exemplo n.º 5
0
    def __init__(self, client):
        BaseModule.__init__(self, client)

        self._client = client
        self.handlers = []

        self._proxy_resolver = None
        self._soup_session = Soup.Session()
Exemplo n.º 6
0
    def __init__(self):
        GObject.GObject.__init__(self)
        self._token = None
        get_identity_controller().token_changed.connect(
            self.__token_changed_cb)
        self.user_name = None

        self.session = Soup.Session()
        self.session.props.user_agent = USER_AGENT
Exemplo n.º 7
0
    def on_connect_clicked(self, widget):
        if not self.host_entry.get_text():
            self.host_entry.grab_focus()
            return

        self.spinner.start()

        self.session = Soup.Session()
        msg = Soup.Message.new("GET", self.host_entry.get_text())
        self.session.websocket_connect_async(msg, None, None, None,
                                             self.on_connection)
Exemplo n.º 8
0
    def __init__(self, con):
        BaseModule.__init__(self, con)

        self.available = False
        self.component = None
        self.httpupload_namespace = None
        self.max_file_size = None  # maximum file size in bytes

        self._proxy_resolver = None
        self._queued_messages = {}
        self._session = Soup.Session()
        self._session.props.ssl_strict = False
        self._session.props.user_agent = 'Gajim %s' % app.version
Exemplo n.º 9
0
    def __init__(self, activity):
        GObject.GObject.__init__(self)

        self.token = activity.app.config.get('strava', 'access_token')
        self.activity = activity

        self.session = Soup.Session()

        # somewhat public attrs
        self.id = None
        self.status = Uploader.Status.NONE
        self.error = None
        self.activity_id = None
Exemplo n.º 10
0
    def __init__(self, *args, **kwargs):
        Connection.__init__(self, *args, **kwargs)

        self._session = Soup.Session()
        self._session.props.ssl_strict = False

        if self._log.getEffectiveLevel() == logging.INFO:
            self._session.add_feature(
                Soup.Logger.new(Soup.LoggerLogLevel.BODY, -1))

        self._websocket = None
        self._cancellable = Gio.Cancellable()

        self._input_closed = False
        self._output_closed = False
Exemplo n.º 11
0
    def __init__(self, con):
        BaseModule.__init__(self, con)

        self.available = False
        self.component = None
        self.httpupload_namespace = None
        self.max_file_size = None  # maximum file size in bytes

        self._text = []
        self._queued_messages = {}
        self._session = Soup.Session()
        self._session.props.ssl_strict = False
        self._session.props.user_agent = 'Gajim %s' % app.version

        # pylint: disable=line-too-long
        self.register_events([
            ('stanza-message-outgoing', ged.OUT_PREGUI,
             self._handle_outgoing_stanza),
            ('gc-stanza-message-outgoing', ged.OUT_PREGUI,
             self._handle_outgoing_stanza),
        ])
Exemplo n.º 12
0
	def __init__ (self):
		global loader_session
		if loader_session is None:
			loader_session = Soup.Session()
			loader_session.props.user_agent = "Rhythmbox/" + rhythmbox_version
		self._cancel = Gio.Cancellable()
Exemplo n.º 13
0
        encoding = ctype[1].get('charset', 'utf-8')
        try:
            callback(message, bs.decode(encoding), data)
        except UnicodeDecodeError:
            callback(message, bs, data)

    request = HTTPRequest(message, cancellable)
    request.provide_target(Gio.MemoryOutputStream.new_resizable())
    request.connect('received', received)
    request.connect('sent', lambda r, m: r.receive())
    if failure_callback:
        request.connect('send-failure', failure_callback, data)
    request.send()


def download_json(message: Soup.Message, cancellable: Gio.Cancellable,
                  callback: Callable, data: Any,
                  failure_callback: Optional[FailureCallback] = None):
    def cb(message, result, d):
        try:
            callback(message, json.loads(result), data)
        except ValueError:
            callback(message, None, data)

    download(message, cancellable, cb, None, True, failure_callback=failure_callback)


session = Soup.Session()
ua_string = "Quodlibet/{0} (+{1})".format(VERSION, WEBSITE)
session.set_properties(user_agent=ua_string, timeout=15)
Exemplo n.º 14
0
 def __init__(self):
     super().__init__()
     self._session = Soup.Session()
     self._cookies = Soup.CookieJar()
     self._session.add_feature(self._cookies)