Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file modified QR Code.alfredworkflow
Binary file not shown.
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ A QRcode generator based on [python-qrcode](https://github.com/lincolnloop/pytho
2. Install [python-qrcode](https://github.com/lincolnloop/python-qrcode) by : `sudo easy_install qrcode`

##Usage:
1. Type `qr text`;
1. Type `qr text` or `qqr text`;
2. Define a hotkey, select some text, press the hotkey;
3. Type `qrfolder` to open the QR code image folder. The image's name is created by your time and content's md5 value.

Expand Down
109 changes: 84 additions & 25 deletions source/info.plist
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,17 @@
<string></string>
</dict>
</array>
<key>6DC226B1-F3E8-4B86-A95A-3DAB00CC78D7</key>
<array>
<dict>
<key>destinationuid</key>
<string>E4BA8749-CA23-46CE-869A-CEFC8320BF82</string>
<key>modifiers</key>
<integer>0</integer>
<key>modifiersubtext</key>
<string></string>
</dict>
</array>
<key>72BEA7C5-CF4F-4FDD-BD50-AE8AF221E993</key>
<array>
<dict>
Expand Down Expand Up @@ -90,31 +101,6 @@
<key>version</key>
<integer>1</integer>
</dict>
<dict>
<key>config</key>
<dict>
<key>concurrently</key>
<false/>
<key>escaping</key>
<integer>127</integer>
<key>script</key>
<string>'''
QRCode v1.2

Github: https://github.com/hilen/Alfred.QRCode
Author: Hilen
'''
python ./qr_code.py "{query}"</string>
<key>type</key>
<integer>0</integer>
</dict>
<key>type</key>
<string>alfred.workflow.action.script</string>
<key>uid</key>
<string>24BC098C-FDEB-4620-B336-50A8C6A944FE</string>
<key>version</key>
<integer>0</integer>
</dict>
<dict>
<key>config</key>
<dict>
Expand All @@ -140,6 +126,31 @@ python ./qr_code.py "{query}"</string>
<key>version</key>
<integer>0</integer>
</dict>
<dict>
<key>config</key>
<dict>
<key>concurrently</key>
<false/>
<key>escaping</key>
<integer>127</integer>
<key>script</key>
<string>'''
QRCode v1.2

Github: https://github.com/hilen/Alfred.QRCode
Author: Hilen
'''
python ./qr_code.py "{query}"</string>
<key>type</key>
<integer>0</integer>
</dict>
<key>type</key>
<string>alfred.workflow.action.script</string>
<key>uid</key>
<string>24BC098C-FDEB-4620-B336-50A8C6A944FE</string>
<key>version</key>
<integer>0</integer>
</dict>
<dict>
<key>config</key>
<dict>
Expand Down Expand Up @@ -217,6 +228,44 @@ eval $cmd
<key>version</key>
<integer>0</integer>
</dict>
<dict>
<key>config</key>
<dict>
<key>concurrently</key>
<false/>
<key>escaping</key>
<integer>127</integer>
<key>script</key>
<string>python ./qr_code_preview.py "{query}"</string>
<key>type</key>
<integer>0</integer>
</dict>
<key>type</key>
<string>alfred.workflow.action.script</string>
<key>uid</key>
<string>E4BA8749-CA23-46CE-869A-CEFC8320BF82</string>
<key>version</key>
<integer>0</integer>
</dict>
<dict>
<key>config</key>
<dict>
<key>argumenttype</key>
<integer>0</integer>
<key>keyword</key>
<string>qqr</string>
<key>text</key>
<string>quick-loop</string>
<key>withspace</key>
<true/>
</dict>
<key>type</key>
<string>alfred.workflow.input.keyword</string>
<key>uid</key>
<string>6DC226B1-F3E8-4B86-A95A-3DAB00CC78D7</string>
<key>version</key>
<integer>0</integer>
</dict>
</array>
<key>readme</key>
<string>Install Python library:
Expand Down Expand Up @@ -250,11 +299,21 @@ Usage:
<key>ypos</key>
<real>10</real>
</dict>
<key>6DC226B1-F3E8-4B86-A95A-3DAB00CC78D7</key>
<dict>
<key>ypos</key>
<real>400</real>
</dict>
<key>72BEA7C5-CF4F-4FDD-BD50-AE8AF221E993</key>
<dict>
<key>ypos</key>
<real>280</real>
</dict>
<key>E4BA8749-CA23-46CE-869A-CEFC8320BF82</key>
<dict>
<key>ypos</key>
<real>370</real>
</dict>
<key>FDAFAA84-04B8-4509-B8F2-A532439C08C2</key>
<dict>
<key>ypos</key>
Expand Down
51 changes: 51 additions & 0 deletions source/qr_code_preview.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import sys
import os
import commands
import time
import datetime
import qrcode
import hashlib

# qr code file name
def qrcode_file_name(input_text):
# create file name, time + qrcode content
timestamp = datetime.datetime.fromtimestamp(time.time()).strftime('%Y-%m-%d_%H-%M-%S')
md5_string = hashlib.md5(input_text).hexdigest()
return timestamp + '__' + md5_string + '.png'

# qr code file path
def qrcode_file_path(text):
cmd = 'echo $TMPDIR'
mac_temp_folder = commands.getstatusoutput(cmd)
qr_code_folder = mkdir_qrcode_folder(mac_temp_folder[1] + 'alfred_qr_code/')
return qr_code_folder + qrcode_file_name(text)


def mkdir_qrcode_folder(folder):
if not os.path.exists(folder):
os.makedirs(folder)
return folder
return folder

def create_qrcode(content, file_path):
qr = qrcode.QRCode(
version=1,
error_correction=qrcode.constants.ERROR_CORRECT_L,
box_size=10,
border=4,
)
qr.add_data(content)
qr.make(fit=True)

image = qr.make_image()
image.save(file_path)

if __name__ == '__main__':
input_text = sys.argv[1]
file_path = qrcode_file_path(input_text)
create_qrcode(input_text, file_path)

preview_cmd = 'qlmanage -p'+' '+ '"' + file_path + '" /dev/null'
os.system(preview_cmd)