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'更新失敗')
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})
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'登録失敗')
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)
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保存用ノートブック' )
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})