Conversion not working
Closed this issue · 5 comments
When trying to convert I get the message "Error in workflow 'com.razor.rates'".
When calling the script from the command line I get the following result:
$ python rates.py 100 eur usd
18:22:32 workflow.py:1972 DEBUG Workflow version : 2.3.0
18:22:32 workflow.py:1387 DEBUG Reading settings from `/Users/main12/Library/Application Support/Alfred 2/Workflow Data/com.razor.rates/settings.json` ...
18:22:32 workflow.py:2233 DEBUG Update check not due
18:22:32 workflow.py:1511 DEBUG Data `currency_info` stored in `cpickle` format
18:22:32 workflow.py:1990 ERROR
Traceback (most recent call last):
File "/Users/main12/Library/Application Support/Alfred 2/Alfred.alfredpreferences/workflows/user.workflow.3040938C-5CA2-41E2-8305-DBEF509C873C/workflow/workflow.py", line 1983, in run
func(self)
File "rates.py", line 426, in main
currencies = load_currency_info(wf)
File "rates.py", line 95, in load_currency_info
moedas = wf.stored_data(STORED_DATA_CURRENCY_INFO)
File "/Users/main12/Library/Application Support/Alfred 2/Alfred.alfredpreferences/workflows/user.workflow.3040938C-5CA2-41E2-8305-DBEF509C873C/workflow/workflow.py", line 1524, in stored_data
data = serializer.load(file_obj)
File "/Users/main12/Library/Application Support/Alfred 2/Alfred.alfredpreferences/workflows/user.workflow.3040938C-5CA2-41E2-8305-DBEF509C873C/workflow/workflow.py", line 633, in load
return cPickle.load(file_obj)
EOFError
18:22:32 workflow.py:2008 DEBUG Workflow finished in 0.006 seconds.
Hello Guido.
Can you try run rateclear and after try to convert again?
And in which version of OS X and alfred are you running?
OSX 10.10.5, Alfred V2.7.2 (407)
This is the error when running "rateclear":
Starting debug for 'Rates'
[ERROR: alfred.workflow.input.scriptfilter] Code 1: 21:46:48 workflow.py:1972 DEBUG Workflow version : 2.3.0
21:46:48 workflow.py:1387 DEBUG Reading settings from `/Users/main12/Library/Application Support/Alfred 2/Workflow Data/com.razor.rates/settings.json` ...
21:46:48 workflow.py:2233 DEBUG Update check not due
21:46:48 workflow.py:1511 DEBUG Data `currency_info` stored in `cpickle` format
21:46:48 workflow.py:1990 ERROR
Traceback (most recent call last):
File "/Users/main12/Library/Application Support/Alfred 2/Alfred.alfredpreferences/workflows/user.workflow.3040938C-5CA2-41E2-8305-DBEF509C873C/workflow/workflow.py", line 1983, in run
func(self)
File "rates.py", line 426, in main
currencies = load_currency_info(wf)
File "rates.py", line 95, in load_currency_info
moedas = wf.stored_data(STORED_DATA_CURRENCY_INFO)
File "/Users/main12/Library/Application Support/Alfred 2/Alfred.alfredpreferences/workflows/user.workflow.3040938C-5CA2-41E2-8305-DBEF509C873C/workflow/workflow.py", line 1524, in stored_data
data = serializer.load(file_obj)
File "/Users/main12/Library/Application Support/Alfred 2/Alfred.alfredpreferences/workflows/user.workflow.3040938C-5CA2-41E2-8305-DBEF509C873C/workflow/workflow.py", line 633, in load
return cPickle.load(file_obj)
EOFError
21:46:48 workflow.py:2008 DEBUG Workflow finished in 0.006 seconds.
Then I removed the currency_info.cpickle and rateclear finished without issue.
Then I tried converting again with the following error:
Starting debug for 'Rates'
[STDERR: alfred.workflow.input.scriptfilter] 21:52:45 workflow.py:1972 DEBUG Workflow version : 2.4.0
21:52:45 workflow.py:1387 DEBUG Reading settings from `/Users/main12/Library/Application Support/Alfred 2/Workflow Data/com.razor.rates/settings.json` ...
21:52:45 workflow.py:2233 DEBUG Update check not due
21:52:45 workflow.py:1511 DEBUG Data `currency_info` stored in `cpickle` format
21:52:45 workflow.py:1526 DEBUG Stored data loaded from : /Users/main12/Library/Application Support/Alfred 2/Workflow Data/com.razor.rates/currency_info.cpickle
21:52:45 rates.py:446 DEBUG Args parsed: Namespace(clear=None, default_currency=None, default_divisor=None, get_default_currency=None, get_default_divisor=None, query=[u'100 '], update=None)
21:52:45 rates.py:447 DEBUG Args received: [u'100 ']
21:52:45 workflow.py:2163 DEBUG Set last run version : 2.4.0
21:52:45 workflow.py:2008 DEBUG Workflow finished in 0.012 seconds.
[ERROR: alfred.workflow.input.scriptfilter] Code 1: 21:52:55 workflow.py:1972 DEBUG Workflow version : 2.4.0
21:52:55 workflow.py:1387 DEBUG Reading settings from `/Users/main12/Library/Application Support/Alfred 2/Workflow Data/com.razor.rates/settings.json` ...
21:52:55 workflow.py:2233 DEBUG Update check not due
21:52:55 workflow.py:1511 DEBUG Data `currency_info` stored in `cpickle` format
21:52:55 workflow.py:1526 DEBUG Stored data loaded from : /Users/main12/Library/Application Support/Alfred 2/Workflow Data/com.razor.rates/currency_info.cpickle
21:52:55 rates.py:446 DEBUG Args parsed: Namespace(clear=None, default_currency=None, default_divisor=None, get_default_currency=None, get_default_divisor=None, query=[u'100 QAR'], update=None)
21:52:55 rates.py:447 DEBUG Args received: [u'100 QAR']
21:53:01 workflow.py:1990 ERROR 'NoneType' object has no attribute '__getitem__'
Traceback (most recent call last):
File "/Users/main12/Library/Application Support/Alfred 2/Alfred.alfredpreferences/workflows/user.workflow.3040938C-5CA2-41E2-8305-DBEF509C873C/workflow/workflow.py", line 1983, in run
func(self)
File "rates.py", line 577, in main
ret = process_conversion(queries, query, currency_src, currency_dst, val, currencies, wf)
File "rates.py", line 172, in process_conversion
rate = search_rate(src, dst, wf)
File "rates.py", line 138, in search_rate
rate = wf.cached_data(conv, get_rates_wrapper, max_age=3600)
File "/Users/main12/Library/Application Support/Alfred 2/Alfred.alfredpreferences/workflows/user.workflow.3040938C-5CA2-41E2-8305-DBEF509C873C/workflow/workflow.py", line 1616, in cached_data
data = data_func()
File "rates.py", line 135, in get_rates_wrapper
return get_rates(src, dst)
File "rates.py", line 65, in get_rates
rate_resp = rates['query']['results']['rate']
TypeError: 'NoneType' object has no attribute '__getitem__'
21:53:01 workflow.py:2008 DEBUG Workflow finished in 6.301 seconds.
[ERROR: alfred.workflow.input.scriptfilter] XML Parse Error 'The operation couldn’t be completed. (NSXMLParserErrorDomain error 64.)'. Row (null), Col (null): 'XML declaration allowed only at the start of the document' in XML:
<?xml version="1.0" encoding="utf-8"?>
<items><item valid="no"><title>Error in workflow 'com.razor.rates'</title><subtitle>'NoneType' object has no attribute '__getitem__'</subtitle><icon>/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/AlertStopIcon.icns</icon></item></items><?xml version="1.0" encoding="utf-8"?>
<items><item valid="no"><title>Error in workflow 'com.razor.rates'</title><subtitle>'NoneType' object has no attribute '__getitem__'</subtitle><icon>/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/AlertStopIcon.icns</icon></item></items>
``
@guido4000, i tryed to reproduce your problem, but here it works fine, i made a new version with an dependency updated, try to install the new version, after that do the clear command and try again and post the results please.
The new version of the workflow is 2.4.1
Great. It works. Thank you!
@guido4000 Your welcome!