First draft.

master
Harshad Sharma 7 years ago
parent 905da70079
commit 692da8db27

@ -0,0 +1,15 @@
#!/usr/bin/env python3.6
# coding=utf-8
import json
from qutescript import qutescript
@qutescript
def dump_to_log(request):
with open('qutescript.debug.log', 'a') as logfile:
line = json.dumps(request.dump())
logfile.writelines([line])
if __name__ == '__main__':
dump_to_log()

@ -1 +1,10 @@
__version__ = "0.1.0"
from .decorators import qutescript
from .request import Request, build_request
__all__ = [
'build_request',
'qutescript',
'Request',
]

@ -0,0 +1,33 @@
# coding=utf-8
import sys
import os
from .request import build_request
log_file_path = './qutescript.log'
def write_log(message, file_path=None):
file_path = file_path or log_file_path
file_path = os.path.abspath(os.path.expanduser(file_path))
with open(file_path, 'a') as logfile:
logfile.writelines([message])
def qutescript(func):
def wrapper():
request = build_request()
command = func(request)
if not command:
return
if not request.fifo:
write_log('ERROR: userscript returned command: {}, '
'but QUTE_FIFO was not found in passed environment.\n'
'Try: :spawn --userscript /path/to/script ?')
sys.exit(1)
with open(request.fifo, 'w') as fifo:
fifo.write('{}\n'.format(command))
return wrapper

@ -0,0 +1,54 @@
# coding=utf-8
class Request(object):
def __init__(self):
self.mode = None
self.user_agent = None
self.fifo = None
self.html = None
self.text = None
self.config_dir = None
self.data_dir = None
self.download_dir = None
self.commandline_text = None
self.url = None
self.title = None
self.selected_text = None
self.selected_html = None
def dump(self):
return {
'mode': self.mode,
'user_agent': self.user_agent,
'fifo': self.fifo,
'html': self.html,
'text': self.text,
'config_dir': self.config_dir,
'data_dir': self.data_dir,
'download_dir': self.download_dir,
'commandline_text': self.commandline_text,
'url': self.url,
'title': self.title,
'selected_text': self.selected_text,
'selected_html': self.selected_html,
}
def build_request():
import os
request = Request()
request.mode = os.getenv('QUTE_MODE')
request.user_agent = os.getenv('QUTE_USER_AGENT')
request.fifo = os.getenv('QUTE_FIFO')
request.html = os.getenv('QUTE_HTML')
request.text = os.getenv('QUTE_TEXT')
request.config_dir = os.getenv('QUTE_CONFIG_DIR')
request.data_dir = os.getenv('QUTE_DATA_DIR')
request.download_dir = os.getenv('QUTE_DOWNLOAD_DIR')
request.commandline_text = os.getenv('QUTE_COMMANDLINE_TEXT')
request.url = os.getenv('QUTE_URL')
request.title = os.getenv('QUTE_TITLE')
request.selected_text = os.getenv('QUTE_SELECTED_TEXT')
request.selected_html = os.getenv('QUTE_SELECTED_HTML')
return request
Loading…
Cancel
Save