[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()