web オープンのランチャをまた作る version 6

2019/10/28 21:02 by yamasyuh68
  :追加された部分   :削除された部分
(差分が大きい場合、文字単位では表示しません)
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_())


└──>その他もろもろの開発日記