-
Notifications
You must be signed in to change notification settings - Fork 0
/
shoot.py
55 lines (42 loc) · 1.34 KB
/
shoot.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
import sys
from PySide.QtGui import QLabel, QWidget, QPushButton, QDesktopServices, QVBoxLayout, QApplication, QPixmap
from datetime import datetime
from upload import *
from auth_server import *
from cherrypy import quickstart
#create a Qt App
date = datetime.now()
app = QApplication(sys.argv)
widget = QWidget()
# set up the QWidget...
widget.setLayout(QVBoxLayout())
label = QLabel()
auth_server = AuthVerificationServer()
def isTokenCollected():
if(get_credentials() != None):
return True
else:
return False
def receive_verification_code(sender):
save_credentials(sender)
auth_server.stop_server()
def redirect_to_permission_page():
QDesktopServices.openUrl(get_permission_url())
quickstart(auth_server)
def shoot():
if( not isTokenCollected()):
redirect_to_permission_page()
#taking the screenshot
filename = date.strftime('%Y-%m-%d_%H-%M-%S.jpg')
p = QPixmap.grabWindow(QApplication.desktop().winId())
p.save(filename, 'jpg')
upload_file_to_drive(filename)
def upload_file_to_drive(fname):
service = get_drive_service()
insert_file(service, fname, 'SHTR SHOT', None, 'image/jpg', fname)
widget.layout().addWidget(QPushButton('Setup Google Drive', clicked=shoot))
dispatcher.connect(receive_verification_code)
widget.show()
#enter Qt App main loop
app.exec_()
sys.exit()