[pukiwiki]
livedoorリーダーなどに巡回先を登録中
あわせて、blog更新を少し楽に~~~ってことで、wxPythonを使ってblog更新用のミニツールを書いてみました
(余計に時間食ってるって気も)
以下コード
[/pukiwiki]
[pukiwiki]
*参考ページ
-[[wxPython Index(日本語チュートリアル):http://www.harukaze.net/%7Eharuka/wxpython/index.html]]
ほとんど、こちらのページのコードのコピペです。。。
-[[wxpita – Google Code:http://code.google.com/p/wxpita/]]
デコレータを使って、wxPythonプログラミングをラクラクにするライブラリ、らしい。
こちらは、今回は使ってないですが、今度ためしてみたい。
*つかいかた
-Webページ中のリンク部分を単独でドラッグ&ドロップするとリンクとして記憶
-選択した文章をD&Dすると、文章のみを記憶(リンクやスタイルは反映されず)
-ボタンを押すと、記憶した内容をまとめてクリップボードにコピー
-Python&wxPythonが必要
-Idleから起動すると固まります。
-拡張子をpywで保存すると、黒い窓無しで起動できます
-wxPythonだから、Windows以外でも動く、はず。。。
[/pukiwiki]
# -*- coding: utf-8 -*- import wx class MyTextDropTarget(wx.TextDropTarget): def __init__(self, WinObj): wx.TextDropTarget.__init__(self) self.WinObj = WinObj def OnDropText(self, x, y, text): self.WinObj.AppendText("¥n") if text.lower().startswith("http") : t=text.splitlines() t.append("¥n") self.WinObj.AppendText('<a href="%s">%s</a>¥n%s¥n'%(t[0],t[1],"¥n".join(t[2:]))) #うちはPukiWiki書式つかってるのでこっちを使用 #self.WinObj.AppendText("*[[%s:%s]]¥n%s¥n" %(t[1],t[0],"¥n".join(t[2:]))) else : self.WinObj.AppendText(text) class MyApp(wx.PySimpleApp): def OnInit(self): Frm = wx.Frame(None, -1, "wxPython", size=(450, 150),pos=(850,700)) #うちの環境にあわせて座標を決め打ちしてあります。適当に直してください #デスクトップサイズの取得などは勉強中。。。 self.Btn = wx.Button(Frm, -1, u"クリップボードにコピー") self.Btn.Bind(wx.EVT_BUTTON, self.OnButton) self.TxtCtrTo = wx.TextCtrl(Frm, -1, u"", pos=(10,30),¥ size=(430,70),¥ style=wx.TE_MULTILINE|wx.HSCROLL|wx.TE_PROCESS_ENTER) Frm.SetDropTarget(MyTextDropTarget(self.TxtCtrTo)) #Frm.SetTransparent(200) Frm.Show() return 1 def OnButton(self,event): t=self.TxtCtrTo.GetValue() wx.TheClipboard.SetData(wx.TextDataObject(t)) #クリップボードへ #生の文字列ではなく、wx.TextDataObjectへ変換する必要がある app = MyApp() app.MainLoop()