Afficher le coupon de Matsuya (code QR) avec Pythonista pour iOS

introduction

Matsuya Vous l'aimez? J'adore. Matsuya est l'un des préférés de tous ces ingénieurs, mais les smartphones application officielle et [on LINE](http: // www. matsuyafoods.co.jp/line/) Saviez-vous que des coupons sont livrés?

Vous pouvez l'utiliser en maintenant le code QR sur le distributeur de billets à écran tactile [^ 1], mais il est difficile de démarrer l'application ou LINE et d'afficher le code QR un par un, et si la luminosité de l'écran est faible, lisez-le bien. ne pas. C'est un fait bien connu [^ 2] que les personnes qui passent 17 secondes ou plus pour émettre des billets à Matsuya sont inévitables, alors ** affichez le dernier code QR ** et ** ajustez la luminosité de l'écran ** en un seul clic. J'ai écrit un script pour Pythonista pour iOS qui le fera avec **.

Pythonista pour iOS est un environnement Python qui s'exécute sur iOS, et même si python s'exécute sur iOS, c'est dangereux, mais vous pouvez également toucher des objets Objective-C à partir de python, et ainsi de suite. [^ 3]

[^ 1]: Dans le cas d'un ancien distributeur de billets, vous pouvez l'utiliser en présentant le coupon au commis. [^ 2]: Source requise [^ 3]: Ce blog est détaillé sur la dangerosité. Parlant de l'attrait de l'environnement de fabrication révolutionnaire "Pythonista 3" qui fonctionne sur iOS

Comment utiliser

scénario

Tout d'abord, enregistrez le script suivant dans Pythonista. Pythonista est fourni avec Python2 et Python3, mais veuillez l'exécuter sur Python3. Une fois exécuté, le dernier code QR sera affiché après avoir maximisé la luminosité de l'écran. Appuyez sur [Fermer] pour restaurer la luminosité de l'écran.

Matsuya.py


import urllib.request
import re
import ui
from objc_util import *

def get_matsuya_qrcode_url_linecoupon():
	#Exemple de coupon LINE
	# http://www.matsuyafoods.co.jp/line/
	# http://www.matsuyafoods.co.jp/sp/line_cp/161115/
	#   http://www.matsuyafoods.co.jp/sp/line_cp/161115/qr_line.png
	
	line_url = 'http://www.matsuyafoods.co.jp/line/'
	with urllib.request.urlopen(line_url) as res:
		html = res.read()
	
	qr_date = re.findall(r"/line/images/cp_(\d{6}).jpg ", html.decode('utf-8'))[0]
	qr_url = 'http://www.matsuyafoods.co.jp/sp/line_cp/%s/qr_line.png' % qr_date
	
	return(qr_url)

def get_matsuya_qrcode_url_mobilecoupon():
	#Exemple de coupon mobile Matsuya
	# http://www.matsuyafoods.co.jp/sp/coupon.html
	#   http://www.matsuyafoods.co.jp/coupon/161115/qr_sp.png
	
	#Exemple de site mobile de coupon mobile Matsuya
	# http://www.matsuyafoods.co.jp/mobile/coupon/
	#   http://www.matsuyafoods.co.jp/mobile/coupon/161115/qr_fp.png
	
	mobile_url = 'http://www.matsuyafoods.co.jp/sp/coupon.html'
	with urllib.request.urlopen(mobile_url) as res:
		html = res.read()
	
	qr_date = re.findall(r"/coupon/(\d{6})/qr_sp.png ", html.decode('utf-8'))[0]
	qr_url = 'http://www.matsuyafoods.co.jp/coupon/%s/qr_sp.png' % qr_date
	
	return(qr_url)


def get_matsuya_qrcode_image(url):
	qr_image, headers = urllib.request.urlretrieve(url)
	return(qr_image)

def show_view(qr_image):
	UIScreen = ObjCClass('UIScreen')
	screen = UIScreen.mainScreen()
	prev_brightness = screen.brightness()
	screen.setBrightness(1.0)

	view = ui.View()
	view.name = 'Je veux être la table à manger de tout le monde.'
	view.background_color = 'white'

	image = ui.Image.named(qr_image)

	imageView = ui.ImageView()
	imageView.image = image
	imageView.flex = 'WH'
	imageView.content_mode = ui.CONTENT_SCALE_ASPECT_FIT

	def button_tapped(sender):
		screen.setBrightness(prev_brightness)
		view.close()

	button = ui.Button(title='[Fermer]')
	button.flex = 'TRL'
	button.center = (view.width * 0.5, view.height * 0.5)
	button.action = button_tapped

	view.add_subview(imageView)
	view.add_subview(button)
	view.present(style='full_screen', hide_title_bar=True, orientations=('portrait',))


def main():
	#Matsuya Affiche les coupons mobiles.
	url = get_matsuya_qrcode_url_mobilecoupon()
	#Si vous souhaitez afficher le coupon LINE, commentez la ligne suivante
#	url = get_matsuya_qrcode_url_linecoupon()

	qr_image = get_matsuya_qrcode_image(url)
	show_view(qr_image)



main()

Écran d'exécution

写真 2016-12-14 20 45 52.png

Placer un raccourci sur l'écran d'accueil

Placez un lien sur l'écran d'accueil de votre iPhone pour lancer le script ci-dessus en un seul clic.

  1. Ouvrez le script dans Pythonista et sélectionnez "Écran d'accueil" à partir de l'icône de clé en haut à droite. 写真 2016-12-14 20 19 06.png

  2. L'écran de réglage s'affiche. Cochez "Exécuter le script" et effectuez divers réglages [^ 4]. 写真 2016-12-14 20 20 19.png

  3. Appuyez sur Continuer et suivez les instructions à l'écran pour définir l'icône Matsuya sur votre écran d'accueil. 写真 2016-12-14 20 24 56.png

[^ 4]: La couleur Matsuya est la couleur de l'icône: 014099 </ font>, la couleur d'arrière-plan: FCC929 </ font>.

en conclusion

Qu'est-ce que tu penses. C'est un script grossier, mais je pense que Pythonista, qui vous permet de créer facilement quelque chose dans ce but, est dangereux. Alors tout le monde a une bonne vie à Matsuya!

Recommended Posts