Exemple #1
0
    def post(self, request):
        """
        evernote編集画面の保存処理
        postされたデータをENML形式に変換して保存する
        :param request: リクエストデータ
        :return: レスポンスデータ
        """
        title = request.POST.get('title')
        body = request.POST.get('body')
        resource = request.POST.get('resource')
        note_guid = request.session.get('note_guid')
        notebook_guid = request.session.get('notebook_guid')

        note_store = get_note_store(request.user.username)

        attrib = set_attributes()

        note = types.Note()
        if notebook_guid:
            note.notebookGuid = notebook_guid
        note.guid = note_guid
        note.title = make_title(title=title)

        soup = convert_enml(body=body)

        note.content = make_enml(guid=note.guid, soup=soup, resource=resource)

        note.attributes = attrib

        try:
            note = note_store.updateNote(note)
        except errors.EDAMUserException, edue:
            msg = u"EDAMUserException: " + str(edue).encode('utf-8')
            logger.error(msg=msg)
            messages.error(request, u'更新失敗')
Exemple #2
0
    def get(self, request):
        """
        evernote編集画面表示
        編集対象のevernoteを取得して
        画面に表示可能な状態にフォーマットする
        :param request: リクエストデータ
        :return: レスポンスデータ
        """
        note_guid = request.session.get('note_guid')

        if not note_guid:
            return redirect('settings:list')

        note_store = get_note_store(request.user.username)
        note = note_store.getNote(note_guid, True, False, False, False)

        root = fromstring(note.content)

        elem = root.find(u'center')

        resource = u""
        if elem is not None:
            resource = elem.text.replace('\n', '\r\n')

        return render(request, self.template_name, {'resource': resource})
Exemple #3
0
    def get(self, request):
        """
        evernote新規作成
        :param request: リクエストデータ
        :return: ノート一覧画面へのリダイレクト
        """
        notebook_guid = request.session.get('notebook_guid')
        if not notebook_guid:
            messages.info(request, u'保存先のノートブックを選択してください。')
            return redirect('settings:index')

        note_store = get_note_store(request.user.username)

        note = types.Note()
        note.notebookGuid = notebook_guid
        note.title = make_title()
        note.content = make_enml()
        note.attributes = set_attributes()

        try:
            note = note_store.createNote(note)
        except errors.EDAMUserException, edue:
            msg = u"EDAMUserException: " + str(edue).encode('utf-8')
            logger.error(msg=msg)
            messages.error(request, u'登録失敗')
Exemple #4
0
    def test_get_note_store(self):
        from oauth.views import get_note_store
        note_store = get_note_store(username='******')
        self.assertEqual(note_store.token, u"S=s1:U=91a50:E=158f7ee9efa:C=151a03d7140:P=185:A=koichi-ezato-3816:V=2:H=1a4e5efcc8f63951e17852d0c8019cab")
        self.assertEqual(note_store._user_agent_id, u"koichi-ezato-3816:V=2")

        client = Client()
        client.login(username='******', password='******')
        response = client.get('/settings/')
        self.assertEqual(response.status_code, 404)
Exemple #5
0
    def __init__(self, *args, **kwargs):
        self.user = kwargs.pop('user', None)
        super(SettingForm, self).__init__(*args, **kwargs)

        note_store = get_note_store(self.user.username)
        notebooks = note_store.listNotebooks()
        note_book_guid_list = []
        for notebook in notebooks:
            note_book_guid_list.append([notebook.guid, notebook.name])

        self.fields['notebook_guid'] = forms.ChoiceField(
            choices=note_book_guid_list,
            widget=forms.Select(attrs={'class': 'form-control'},),
            label=u'Markdown保存用ノートブック'
        )
Exemple #6
0
 def get(self, request):
     note_store = get_note_store(request.user.username)
     note_filter = NoteStore.NoteFilter()
     note_filter.words = 'contentClass:OSC.DevDoc'
     note_list = note_store.findNotes(note_filter, 0, 100)
     list = []
     for note in note_list.notes:
         notebook_info = note_store.getNotebook(
             note.notebookGuid, True, False, False, False)
         note_info = note_store.getNote(
             note.guid, True, False, False, False)
         list.append(
             {'notebook': notebook_info.name,
              'guid': note_info.guid,
              'title': note_info.title})
     return render(request, self.template_name, {'list': list})