JinnLynn Posted April 16, 2013 Share Posted April 16, 2013 (edited) simple, easy, effective Source at Github.com Features: Core: some functions to make building alfred workflow easier Feedback system: generate alfred feedback XML Config management: save and retrieve settings Cache management: save and retrieve cache data Storage: download file Code Example: >>> import alfred >>> alfred.bundleID() 'net.jeeker.awf.AppDig' >>> alfred.log('log message') # save log message to 'log.txt' in workflow's folder >>> alfred.exit('exit-message') exit-message >>> alfred.exitWithFeedback(title='exitWithFeedback') <items><item uid="net.jeeker.awf.AppDig.29008681"><icon>icon.png</icon><subtitle /><title>exitWithFeedback</title></item></items> >>> feedback = alfred.Feedback() >>> feedback.addItem(title='Feedback Title', subtitle='subtitle', autocomplete='subcmd', valid=False) >>> feedback.addItem(title='Feedback Title 2', subtitle='subtitle 2', arg='arg') >>> feedback.addItem(title='Feedback Title 3', subtitle='subtitle 3') >>> feedback.output() <items><item autocomplete="subcmd" uid="net.jeeker.awf.AppDig.11134445" valid="no"><icon>icon.png</icon><subtitle>subtitle</subtitle><title>Feedback Title</title></item><item arg="arg" uid="net.jeeker.awf.AppDig.20583908"><icon>icon.png</icon><subtitle>subtitle 2</subtitle><title>Feedback Title 2</title></item><item uid="net.jeeker.awf.AppDig.31032116"><icon>icon.png</icon><subtitle>subtitle 3</subtitle><title>Feedback Title 3</title></item></items> >>> alfred.config.set(username='JinnLynn', testkey='testvalue') >>> alfred.config.getAll() {u'username': u'JinnLynn', u'testkey': u'testvalue'} >>> alfred.config.get('username') u'JinnLynn' >>> alfred.config.delete('username') >>> alfred.config.getAll() {u'testkey': u'testvalue'} >>> alfred.cache.set('test-cache', {'cache-data':'test-data'}, expire=10) >>> alfred.cache.get('test-cache') {u'cache-data': u'test-data'} >>> alfred.cache.timeout('test-cache') 2.6863911151885986 >>> alfred.cache.get('test-cache') # expired return None >>> alfred.cache.timeout('test-cache') -1 >>> alfred.storage.getLocalIfExists('http://i.imgur.com/17lNrSX.png') # Non-existent >>> alfred.storage.getLocalIfExists('http://i.imgur.com/17lNrSX.png', download=True) '/tmp/net.jeeker.awf.AppDig/0fef92118c683242f9b6e2a40e1a54f5.png' >>> alfred.storage.batchDownload(['http://i.imgur.com/8pa4x95.png','http://i.imgur.com/PX03uFm.png']) >>> alfred.storage.getLocalIfExists('http://i.imgur.com/8pa4x95.png') '/tmp/net.jeeker.awf.AppDig/dc119234ccb1f8fea4064b9a83a2dd6b.png' all my workflows are based on this module. Edited April 16, 2013 by JinnLynn _mk_ 1 Link to comment
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now