Example #1
0
    def on_navigation_requested(self, view, frame, req, data=None):
        logging.debug('Requesting new page')
        self.__spinner.show()
        self.__status_label.set_text(AuthDialog.STATUS_MESSAGE_CONNECTING)
        url = req.get_uri()
        if PROGRAM_NAME.lower() in url:
            query = urlparse.urlparse(url).query
            data = dict(urlparse.parse_qsl(query))

            try:
                self.__authData['oauth_verifier'] = data['oauth_verifier']
            except KeyError:
                logging.error('authorization failed')
                return False

            client = EvernoteClient(
                consumer_key=EverNoteConsumerInfo.CONSUMER_KEY,
                consumer_secret=EverNoteConsumerInfo.CONSUMER_SECRET,
                service_host=MetaData.get_evernote_host(),
                sandbox=False  # Default: True
            )
            self.__auth_token = client.get_access_token(
                self.__authData['oauth_token'],
                self.__authData['oauth_token_secret'],
                self.__authData['oauth_verifier'])
            self.__dialog.response(100)
        return False
Example #2
0
    def on_navigation_requested(self, view, frame, req, data=None):
        logging.debug('Requesting new page')
        self.__spinner.show()
        self.__status_label.set_text(AuthDialog.STATUS_MESSAGE_CONNECTING)
        url = req.get_uri()
        if PROGRAM_NAME.lower() in url:
            query = urlparse.urlparse(url).query
            data = dict(urlparse.parse_qsl(query))
            
            try:
                self.__authData['oauth_verifier'] = data['oauth_verifier']
            except KeyError:
                logging.error('authorization failed')
                return False

            client = EvernoteClient(
                consumer_key=EverNoteConsumerInfo.CONSUMER_KEY,
                consumer_secret=EverNoteConsumerInfo.CONSUMER_SECRET,
                service_host = MetaData.get_evernote_host(),
                sandbox=False # Default: True
            )
            self.__auth_token = client.get_access_token(
                self.__authData['oauth_token'],
                self.__authData['oauth_token_secret'],
                self.__authData['oauth_verifier']
            )
            self.__dialog.response(100)
        return False
    def login(cls,):
        '''
        Get the notebook name and guid, get note_store
        Returns:
          STATUS_OK              : Everything is fine
          STATUS_NO_AUTH_TOKEN   : No auth token can be found in keying, user should authorize this application
          STATUS_AUTH_EXPIRED    : auth expired, need auth again.

        For mote information about "app notebooks": http://dev.yinxiang.com/doc/articles/app_notebook.php
        '''
        auth_token = KeyRing.get_auth_token()
        if auth_token is not None:
            client = EvernoteClient(
                consumer_key=EverNoteConsumerInfo.CONSUMER_KEY,
                consumer_secret=EverNoteConsumerInfo.CONSUMER_SECRET,
                service_host = MetaData.get_evernote_host(),
                token=auth_token,
                sandbox=False)
            try:
                cls.note_store = client.get_note_store()
            except ErrorTypes.EDAMUserException:
                return cls.STATUS_LOGIN_AUTH_EXPIRED
            notebooks = cls.note_store.listNotebooks()
            len_notebooks = len(notebooks)
            if len_notebooks == 0:
                logging.error("Application notebook has been deleted")
                return cls.STATUS_LOGIN_NOTEBOOK_DELETED
            cls.notebook_name = notebooks[0].name
            cls.notebook_guid = notebooks[0].guid
            return cls.STATUS_LOGIN_OK
        else:
            return cls.STATUS_LOGIN_NO_AUTH_TOKEN
Example #4
0
    def login(cls, ):
        '''
        Get the notebook name and guid, get note_store
        Returns:
          STATUS_OK              : Everything is fine
          STATUS_NO_AUTH_TOKEN   : No auth token can be found in keying, user should authorize this application
          STATUS_AUTH_EXPIRED    : auth expired, need auth again.

        For mote information about "app notebooks": http://dev.yinxiang.com/doc/articles/app_notebook.php
        '''
        auth_token = KeyRing.get_auth_token()
        if auth_token is not None:
            client = EvernoteClient(
                consumer_key=EverNoteConsumerInfo.CONSUMER_KEY,
                consumer_secret=EverNoteConsumerInfo.CONSUMER_SECRET,
                service_host=MetaData.get_evernote_host(),
                token=auth_token,
                sandbox=False)
            try:
                cls.note_store = client.get_note_store()
            except ErrorTypes.EDAMUserException:
                return cls.STATUS_LOGIN_AUTH_EXPIRED
            notebooks = cls.note_store.listNotebooks()
            len_notebooks = len(notebooks)
            if len_notebooks == 0:
                logging.error("Application notebook has been deleted")
                return cls.STATUS_LOGIN_NOTEBOOK_DELETED
            cls.notebook_name = notebooks[0].name
            cls.notebook_guid = notebooks[0].guid
            return cls.STATUS_LOGIN_OK
        else:
            return cls.STATUS_LOGIN_NO_AUTH_TOKEN
Example #5
0
    def __init__(self, parent, auth_event):
        self.__auth_event = auth_event
        builder = Gtk.Builder()
        builder.add_from_file(FileCatalog.get_elsaclipper_glade())
        self.__dialog = builder.get_object("SettingLogDialog")
        self.__dialog.set_icon_from_file(FileCatalog.get_elsaclipper_icon('elsaclipper_config.png'))
        self.__dialog.show_all()

        self.__radiobutton_yinxiang = builder.get_object(SettingDialog.UI_RADIOBUTTON_YINXIANG)
        self.__radiobutton_evernote_international = builder.get_object(SettingDialog.UI_RADIOBUTTON_EVERNOTE_INTERNATIONAL)
        if MetaData.get_evernote_host() == MetaData.VAL_Evernote_HOST_Yinxiang:
            self.__radiobutton_yinxiang.set_active(True)
        else:
            self.__radiobutton_evernote_international.set_active(True)

        # self.__notebook_selecter = builder.get_object(SettingDialog.UI_NOTEBOOK_SELECTER)
        # self.__notebook_selecter_changed_times = 0
        # self.__notebook_spinner = builder.get_object(SettingDialog.UI_NOTEBOOK_SPINNER)
        # self.__notebook_spinner.start()
        # self.__notebook_image = builder.get_object(SettingDialog.UI_NOTEBOOK_IMAGE)
        # self.__notebook_image.hide()
        self.__auth_status_image = builder.get_object(SettingDialog.UI_AUTH_STATUS_IMAGE)
        self.__auth_status_spinner = builder.get_object(SettingDialog.UI_AUTH_STATUS_SPINNER)
        self.__auth_status_spinner.hide()

        # self.__notebook_updater =  None
        

        self.__shortcut_text_entry = builder.get_object(SettingDialog.UI_SHORTCUT_ENTRY)
        self.__shortcut_text_entry.set_text(MetaData.get_snapshoot_shortcut_value())

        self.__shortcut_alt_check_box = builder.get_object(SettingDialog.UI_SHORTCUT_ALT_CHECK)
        self.__shortcut_alt_check_box.set_active(MetaData.get_snapshoot_shortcut_alt_modifier())

        
        builder.connect_signals(
            {
                "on_close_button_clicked" : self.on_close_button_clicked,
                'on_authorize_button_clicked': self.on_authorize_button_clicked_cb,
                'on_shortcut_entry_changed': self.on_shortcut_entry_changed,
                'on_alt_check_toggled': self.on_alt_check_toggled,
                'on_account_type_changed':self.on_account_type_changed
            }
        )
        self.__authorize_button = builder.get_object(SettingDialog.UI_OBJECT_AUTH_BUTTON)
        authToken = KeyRing.get_auth_token()
        logging.debug('auth token = %s' % authToken)
        if authToken is None or authToken=='':
            self.__authorize_button.set_label(SettingDialog.BUTTON_LABLE_AUTHORIZE)
            self.__auth_status_image.set_from_icon_name('dialog-warning',Gtk.IconSize.BUTTON)
            # self.__notebook_image.set_from_icon_name('dialog-warning',Gtk.IconSize.BUTTON)
            # self.__notebook_image.show()
            # self.__notebook_spinner.hide()
        else:
            self.__authorize_button.set_label(SettingDialog.BUTTON_LABLE_UNAUTHORIZE)
            self.__auth_status_image.set_from_icon_name('dialog-ok',Gtk.IconSize.BUTTON)
Example #6
0
    def _getEverNoteOAuthURL(self):
        client = EvernoteClient(
            consumer_key=EverNoteConsumerInfo.CONSUMER_KEY,
            consumer_secret=EverNoteConsumerInfo.CONSUMER_SECRET,
            service_host = MetaData.get_evernote_host(),
            sandbox=False # Default: True ; if using yinxiang, set service_host='www.yinxiang.com' ; in using Evernote International, set  service_host='www.evernote.com'
        )

        callbackUrl = "http://"+PROGRAM_NAME
        request_token = client.get_request_token(callbackUrl)
        # Save the request token information for later
        self.__authData['oauth_token'] = request_token['oauth_token']
        self.__authData['oauth_token_secret'] = request_token['oauth_token_secret']

        # Redirect the user to the Evernote authorization URL
        url = client.get_authorize_url(request_token)
        logging.debug(url)
        return url
Example #7
0
    def _getEverNoteOAuthURL(self):
        client = EvernoteClient(
            consumer_key=EverNoteConsumerInfo.CONSUMER_KEY,
            consumer_secret=EverNoteConsumerInfo.CONSUMER_SECRET,
            service_host=MetaData.get_evernote_host(),
            sandbox=
            False  # Default: True ; if using yinxiang, set service_host='www.yinxiang.com' ; in using Evernote International, set  service_host='www.evernote.com'
        )

        callbackUrl = "http://" + PROGRAM_NAME
        request_token = client.get_request_token(callbackUrl)
        # Save the request token information for later
        self.__authData['oauth_token'] = request_token['oauth_token']
        self.__authData['oauth_token_secret'] = request_token[
            'oauth_token_secret']

        # Redirect the user to the Evernote authorization URL
        url = client.get_authorize_url(request_token)
        logging.debug(url)
        return url
Example #8
0
    def __init__(self, parent, auth_event):
        self.__auth_event = auth_event
        builder = Gtk.Builder()
        builder.add_from_file(FileCatalog.get_elsaclipper_glade())
        self.__dialog = builder.get_object("SettingLogDialog")
        self.__dialog.set_icon_from_file(
            FileCatalog.get_elsaclipper_icon('elsaclipper_config.png'))
        self.__dialog.show_all()

        self.__radiobutton_yinxiang = builder.get_object(
            SettingDialog.UI_RADIOBUTTON_YINXIANG)
        self.__radiobutton_evernote_international = builder.get_object(
            SettingDialog.UI_RADIOBUTTON_EVERNOTE_INTERNATIONAL)
        if MetaData.get_evernote_host() == MetaData.VAL_Evernote_HOST_Yinxiang:
            self.__radiobutton_yinxiang.set_active(True)
        else:
            self.__radiobutton_evernote_international.set_active(True)

        # self.__notebook_selecter = builder.get_object(SettingDialog.UI_NOTEBOOK_SELECTER)
        # self.__notebook_selecter_changed_times = 0
        # self.__notebook_spinner = builder.get_object(SettingDialog.UI_NOTEBOOK_SPINNER)
        # self.__notebook_spinner.start()
        # self.__notebook_image = builder.get_object(SettingDialog.UI_NOTEBOOK_IMAGE)
        # self.__notebook_image.hide()
        self.__auth_status_image = builder.get_object(
            SettingDialog.UI_AUTH_STATUS_IMAGE)
        self.__auth_status_spinner = builder.get_object(
            SettingDialog.UI_AUTH_STATUS_SPINNER)
        self.__auth_status_spinner.hide()

        # self.__notebook_updater =  None

        self.__shortcut_text_entry = builder.get_object(
            SettingDialog.UI_SHORTCUT_ENTRY)
        self.__shortcut_text_entry.set_text(
            MetaData.get_snapshoot_shortcut_value())

        self.__shortcut_alt_check_box = builder.get_object(
            SettingDialog.UI_SHORTCUT_ALT_CHECK)
        self.__shortcut_alt_check_box.set_active(
            MetaData.get_snapshoot_shortcut_alt_modifier())

        builder.connect_signals({
            "on_close_button_clicked":
            self.on_close_button_clicked,
            'on_authorize_button_clicked':
            self.on_authorize_button_clicked_cb,
            'on_shortcut_entry_changed':
            self.on_shortcut_entry_changed,
            'on_alt_check_toggled':
            self.on_alt_check_toggled,
            'on_account_type_changed':
            self.on_account_type_changed
        })
        self.__authorize_button = builder.get_object(
            SettingDialog.UI_OBJECT_AUTH_BUTTON)
        authToken = KeyRing.get_auth_token()
        logging.debug('auth token = %s' % authToken)
        if authToken is None or authToken == '':
            self.__authorize_button.set_label(
                SettingDialog.BUTTON_LABLE_AUTHORIZE)
            self.__auth_status_image.set_from_icon_name(
                'dialog-warning', Gtk.IconSize.BUTTON)
            # self.__notebook_image.set_from_icon_name('dialog-warning',Gtk.IconSize.BUTTON)
            # self.__notebook_image.show()
            # self.__notebook_spinner.hide()
        else:
            self.__authorize_button.set_label(
                SettingDialog.BUTTON_LABLE_UNAUTHORIZE)
            self.__auth_status_image.set_from_icon_name(
                'dialog-ok', Gtk.IconSize.BUTTON)