web オープンのランチャをまた作る version 6
:追加された部分
:削除された部分
(差分が大きい場合、文字単位では表示しません)
web オープンのランチャをまた作る
# web オープンのランチャをまた作る
191028
- キーワードが直接アドレスの一部になってるサイトのページ
http://*********/*****/**=hoge
みたいなのを開くときのために、クリップ監視ソフトを自作してそこからクロームを起動するようにしてある
サイトの種類を自動判別するためにキーワード以外の文字列も含めてコピーして使う仕様だった
でも最近、キーワードのみでサイトを開きたいケースが増えてきた
- scieditor2 には文字列選択してクロームに投げる機能を実装してある
サイトのurlをテキストに書いておいて、hogeの部分にキーワードをコピペしてクロームに投げることで何とかしてたんだが、専用のソフトを作りたくなってきた
- 与えるのはキーワードだけで、どのサイトを開くかはボタンなどで選択することになる
・常駐のクリップアプリからクリップワードを引数にして呼ぶ
・ボタンの仕組みをどうするか??追加削除が自由なものにしたい
・スクリプト中にボタン名とアドレスをセットで書いてリスト化、ボタン名は動的に設定
・ボタンは全て一つの関数にコネクトして、その関数でボタンの文字列を取得して分岐させる
```
def init() :
import sys,subprocess
from PyQt5.QtWidgets import QApplication,QWidget ,QMainWindow
import untitled
引数を取得して第2引数をエディットにセットする(無ければブランク)
buttons = [ 'button' , 'button_2' , 'button_3' , ・・・ ]
self.blist = [
( 'hoge' , r'http://hogehoge/********/={target}' ) , # この書式で順番に書いていく
( 'hoge' , r'' ) ,
( 'hoge' , r'' ) ,
]
self.chrome = r'***'
class MainWindow(QMainWindow):
def __init__(self):
super().__init__()
self.ui=untitled.Ui_MainWindow()
self.ui.setupUi(self)
for i , l in enumurate( self.blist ) :
self.ui.buttons[i].setText( l[0] )
self.ui.buttons[i].clck.connect( launchchrome )
args = sys.argv
if len(args) > 1 :
self.ui.lineEdit.setText(args[1])
def launchchrome( self ) :
title = self.sender().text()
i = 0
for i , l in enumurate( self.blist ) :
if title == l[0] :
break
buttons = [ self.ui.pushButton , self.ui.pushButton_2 , self.ui.pushButton_3 ,self.ui.pushButton_4,
self.ui.pushButton_5,self.ui.pushButton_6 , self.ui.pushButton_7 ,self.ui.pushButton_8,
self.ui.pushButton_9,self.ui.pushButton_10,self.ui.pushButton_11,self.ui.pushButton_12]
target = self.ui.lineedit.text()
# url = re.sub( '{target}' , target , self.blist[i][1] )
url = self.blist[i][1].replace( '{target}' , targt )
print( self.blist[i][0] , target , url )
self.blist = [
( 'Google' , r'https://www.google.com/search?q={target}' ) , #
( 'hoge' , r'https://hoge/{target}/' ) , #
]
popen ( ( self.chrome , url ) )
quit()
self.chrome = r'<fullpath>'
for i , l in enumerate( self.blist ) :
buttons[i].setText( l[0] )
buttons[i].clicked.connect( self.launchchrome )
def launchchrome( self ) :
title = self.sender().text()
i = 0
for i , l in enumerate( self.blist ) :
if title == l[0] :
break
target = self.ui.lineEdit.text()
url = self.blist[i][1].replace( '{target}' , target )
subprocess.Popen( ( self.chrome , url ) )
if __name__ == "__main__":
import sys
app = QApplication(sys.argv)
win = MainWindow()
win.show()
sys.exit(app.exec_())
```
---
└──>[その他もろもろの開発日記](https://mimemo.io/m/p5be8G9RdeoWxkE)
web オープンのランチャをまた作る
191028
-
キーワードが直接アドレスの一部になってるサイトのページ
http://**//=hoge
みたいなのを開くときのために、クリップ監視ソフトを自作してそこからクロームを起動するようにしてある
サイトの種類を自動判別するためにキーワード以外の文字列も含めてコピーして使う仕様だった
でも最近、キーワードのみでサイトを開きたいケースが増えてきた -
scieditor2 には文字列選択してクロームに投げる機能を実装してある
サイトのurlをテキストに書いておいて、hogeの部分にキーワードをコピペしてクロームに投げることで何とかしてたんだが、専用のソフトを作りたくなってきた -
与えるのはキーワードだけで、どのサイトを開くかはボタンなどで選択することになる
・常駐のクリップアプリからクリップワードを引数にして呼ぶ
・ボタンの仕組みをどうするか??追加削除が自由なものにしたい
・スクリプト中にボタン名とアドレスをセットで書いてリスト化、ボタン名は動的に設定
・ボタンは全て一つの関数にコネクトして、その関数でボタンの文字列を取得して分岐させる
import sys,subprocess
from PyQt5.QtWidgets import QApplication,QWidget ,QMainWindow
import untitled
class MainWindow(QMainWindow):
def __init__(self):
super().__init__()
self.ui=untitled.Ui_MainWindow()
self.ui.setupUi(self)
args = sys.argv
if len(args) > 1 :
self.ui.lineEdit.setText(args[1])
buttons = [ self.ui.pushButton , self.ui.pushButton_2 , self.ui.pushButton_3 ,self.ui.pushButton_4,
self.ui.pushButton_5,self.ui.pushButton_6 , self.ui.pushButton_7 ,self.ui.pushButton_8,
self.ui.pushButton_9,self.ui.pushButton_10,self.ui.pushButton_11,self.ui.pushButton_12]
self.blist = [
( 'Google' , r'https://www.google.com/search?q={target}' ) , #
( 'hoge' , r'https://hoge/{target}/' ) , #
]
self.chrome = r'<fullpath>'
for i , l in enumerate( self.blist ) :
buttons[i].setText( l[0] )
buttons[i].clicked.connect( self.launchchrome )
def launchchrome( self ) :
title = self.sender().text()
i = 0
for i , l in enumerate( self.blist ) :
if title == l[0] :
break
target = self.ui.lineEdit.text()
url = self.blist[i][1].replace( '{target}' , target )
subprocess.Popen( ( self.chrome , url ) )
if __name__ == "__main__":
import sys
app = QApplication(sys.argv)
win = MainWindow()
win.show()
sys.exit(app.exec_())
└──>その他もろもろの開発日記