From 85dafe36b9fa5ac003f309d779934322295f6008 Mon Sep 17 00:00:00 2001 From: Bezleputh Date: Tue, 31 Mar 2015 10:10:29 +0200 Subject: [PATCH] [boobank-indicator] Add a gtk appindicator for boobank --- contrib/boobank_indicator/CHANGELOG.md | 7 + contrib/boobank_indicator/MANIFEST.in | 4 + contrib/boobank_indicator/README.md | 64 ++++++ contrib/boobank_indicator/__init__.py | 0 .../boobank_indicator/__init__.py | 0 .../boobank_indicator/boobank_indicator.py | 188 ++++++++++++++++++ .../boobank_indicator/data/__init__.py | 0 .../boobank_indicator/data/green_light.png | Bin 0 -> 1165 bytes .../data/indicator-boobank.png | Bin 0 -> 1632 bytes .../boobank_indicator/data/red_light.png | Bin 0 -> 966 bytes contrib/boobank_indicator/screenshot.png | Bin 0 -> 74114 bytes contrib/boobank_indicator/setup.py | 20 ++ 12 files changed, 283 insertions(+) create mode 100644 contrib/boobank_indicator/CHANGELOG.md create mode 100644 contrib/boobank_indicator/MANIFEST.in create mode 100644 contrib/boobank_indicator/README.md create mode 100644 contrib/boobank_indicator/__init__.py create mode 100644 contrib/boobank_indicator/boobank_indicator/__init__.py create mode 100644 contrib/boobank_indicator/boobank_indicator/boobank_indicator.py create mode 100644 contrib/boobank_indicator/boobank_indicator/data/__init__.py create mode 100644 contrib/boobank_indicator/boobank_indicator/data/green_light.png create mode 100644 contrib/boobank_indicator/boobank_indicator/data/indicator-boobank.png create mode 100644 contrib/boobank_indicator/boobank_indicator/data/red_light.png create mode 100644 contrib/boobank_indicator/screenshot.png create mode 100644 contrib/boobank_indicator/setup.py diff --git a/contrib/boobank_indicator/CHANGELOG.md b/contrib/boobank_indicator/CHANGELOG.md new file mode 100644 index 00000000..53e906ad --- /dev/null +++ b/contrib/boobank_indicator/CHANGELOG.md @@ -0,0 +1,7 @@ +This file will only list released and supported versions, usually skipping over very minor updates. + +0.0.1 +===== + +* Mar 26, 2015 +* First release diff --git a/contrib/boobank_indicator/MANIFEST.in b/contrib/boobank_indicator/MANIFEST.in new file mode 100644 index 00000000..c34622e2 --- /dev/null +++ b/contrib/boobank_indicator/MANIFEST.in @@ -0,0 +1,4 @@ +include boobank-indicator/data/indicator-boobank.png +include boobank-indicator/data/green_light.png +include boobank-indicator/data/red_light.png +exclude screenshot.png \ No newline at end of file diff --git a/contrib/boobank_indicator/README.md b/contrib/boobank_indicator/README.md new file mode 100644 index 00000000..523e5c9f --- /dev/null +++ b/contrib/boobank_indicator/README.md @@ -0,0 +1,64 @@ +Weboob +========== + +Weboob is a project which provides a core library, modules and applications +such as boobank. + +Overview +-------- + +The core library defines capabilities: features common to various websites. + +Each module interfaces with a website and implements one or many of these +capabilities. Modules can be configured (becoming a "backend"), which means +that the end-user can provide personal information to access the underlying +website, like a login and password. + +Applications allow the end-user to work with many modules in parallel, +in a multi-threaded way. + +The core library provides base classes which help developers write +modules and applications. + +Weboob is written in Python and is distributed under the AGPLv3+ license. + +For more information, please go to the official website at http://weboob.org/ + + +##Installation +boobank_indicator is distributed as a python package. Do the following to install: + +``` sh +sudo pip install boobank_indicator +OR +sudo easy_install boobank_indicator +OR +#Download Source and cd to it +sudo python setup.py install +``` + +After that, you can run `boobank_indicator` from anywhere and it will run. You can +now add it to your OS dependent session autostart method. In Ubuntu, you can +access it via: + +1. System > Preferences > Sessions +(OR) +2. System > Preferences > Startup Applications + +depending on your Ubuntu Version. Or put it in `~/.config/openbox/autostart` + +###Dependencies + + - weboob >= 1.0 + - gir1.2-appindicator3 >= 0.1 + - gir1.2-notify >= 0.7 + +###Troubleshooting + +If the app indicator fails to show in Ubuntu versions, consider installing +python-appindicator with + +`sudo apt-get install python-appindicator` weboob gir1.2-appindicator3 gir1.2-notify` + +##Author Information +- Bezleputh () diff --git a/contrib/boobank_indicator/__init__.py b/contrib/boobank_indicator/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/contrib/boobank_indicator/boobank_indicator/__init__.py b/contrib/boobank_indicator/boobank_indicator/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/contrib/boobank_indicator/boobank_indicator/boobank_indicator.py b/contrib/boobank_indicator/boobank_indicator/boobank_indicator.py new file mode 100644 index 00000000..fd1fe541 --- /dev/null +++ b/contrib/boobank_indicator/boobank_indicator/boobank_indicator.py @@ -0,0 +1,188 @@ +#!/usr/bin/env python + +import os +import logging + +from threading import Thread +from signal import signal, SIGINT, SIG_DFL +from pkg_resources import resource_filename + +from gi.repository import Gtk, GObject, Notify +from gi.repository import AppIndicator3 as appindicator + +from weboob.core import Weboob, CallErrors +from weboob.capabilities.bank import CapBank +from weboob.capabilities import UserError +from weboob.tools.application.base import MoreResultsAvailable +from weboob.exceptions import BrowserUnavailable, BrowserIncorrectPassword, BrowserForbidden, BrowserSSLError + +PING_FREQUENCY = 3600 # seconds +APPINDICATOR_ID = "boobank_indicator" +PATH = os.path.realpath(__file__) + + +def create_image_menu_item(label, image): + item = Gtk.ImageMenuItem() + img = Gtk.Image() + img.set_from_file(os.path.abspath(resource_filename('boobank_indicator.data', image))) + item.set_image(img) + item.set_label(label) + item.set_always_show_image(True) + return item + + +class BoobankTransactionsChecker(Thread): + def __init__(self, weboob, menu, account): + Thread.__init__(self) + self.weboob = weboob + self.menu = menu + self.account = account + + def run(self): + account_history_menu = Gtk.Menu() + + for tr in self.weboob.do('iter_history', self.account, backends=self.account.backend): + label = "%s - %s: %s%s" % (tr.date, tr.label, tr.amount, self.account.currency_text) + image = "green_light.png" if tr.amount > 0 else "red_light.png" + transaction_item = create_image_menu_item(label, image) + account_history_menu.append(transaction_item) + transaction_item.show() + + self.menu.set_submenu(account_history_menu) + + +class BoobankChecker(): + def __init__(self): + self.ind = appindicator.Indicator.new(APPINDICATOR_ID, + os.path.abspath(resource_filename('boobank_indicator.data', + 'indicator-boobank.png')), + appindicator.IndicatorCategory.APPLICATION_STATUS) + + self.menu = Gtk.Menu() + self.ind.set_menu(self.menu) + + logging.basicConfig() + if 'weboob_path' in os.environ: + self.weboob = Weboob(os.environ['weboob_path']) + else: + self.weboob = Weboob() + + self.weboob.load_backends(CapBank) + + def clean_menu(self, menu): + for i in menu.get_children(): + submenu = i.get_submenu() + if submenu: + self.clean_menu(i) + menu.remove(i) + + def check_boobank(self): + self.ind.set_status(appindicator.IndicatorStatus.ACTIVE) + self.clean_menu(self.menu) + + total = 0 + currency = '' + threads = [] + + try: + for account in self.weboob.do('iter_accounts'): + + balance = account.balance + if account.coming: + balance += account.coming + + total += balance + currency = account.currency_text + + label = "%s: %s%s" % (account.label, balance, account.currency_text) + image = "green_light.png" if balance > 0 else "red_light.png" + account_item = create_image_menu_item(label, image) + thread = BoobankTransactionsChecker(self.weboob, account_item, account) + thread.start() + threads.append(thread) + + except CallErrors as errors: + self.bcall_errors_handler(errors) + + for thread in threads: + thread.join() + + for thread in threads: + self.menu.append(thread.menu) + thread.menu.show() + + if len(self.menu.get_children()) == 0: + Notify.Notification.new('Boobank', + 'No Bank account found\n Please configure one by running boobank', + 'notification-message-im').show() + + sep = Gtk.SeparatorMenuItem() + self.menu.append(sep) + sep.show() + + total_item = Gtk.MenuItem("%s: %s%s" % ("Total", total, currency)) + self.menu.append(total_item) + total_item.show() + + sep = Gtk.SeparatorMenuItem() + self.menu.append(sep) + sep.show() + + btnQuit = Gtk.ImageMenuItem() + image = Gtk.Image() + image.set_from_stock(Gtk.STOCK_QUIT, Gtk.IconSize.BUTTON) + btnQuit.set_image(image) + btnQuit.set_label('Quit') + btnQuit.set_always_show_image(True) + btnQuit.connect("activate", self.quit) + self.menu.append(btnQuit) + btnQuit.show() + + def quit(self, widget): + Gtk.main_quit() + + def bcall_errors_handler(self, errors): + """ + Handler for the CallErrors exception. + """ + self.ind.set_status(appindicator.IndicatorStatus.ATTENTION) + for backend, error, backtrace in errors.errors: + notify = True + if isinstance(error, BrowserIncorrectPassword): + msg = 'invalid login/password.' + elif isinstance(error, BrowserSSLError): + msg = '/!\ SERVER CERTIFICATE IS INVALID /!\\' + elif isinstance(error, BrowserForbidden): + msg = unicode(error) or 'Forbidden' + elif isinstance(error, BrowserUnavailable): + msg = unicode(error) + if not msg: + msg = 'website is unavailable.' + elif isinstance(error, NotImplementedError): + notify = False + elif isinstance(error, UserError): + msg = unicode(error) + elif isinstance(error, MoreResultsAvailable): + notify = False + else: + msg = unicode(error) + + if notify: + Notify.Notification.new('Error Boobank: %s' % backend.name, + msg, + 'notification-message-im').show() + + def main(self): + self.check_boobank() + GObject.timeout_add(PING_FREQUENCY * 1000, self.check_boobank) + Gtk.main() + + +def main(): + signal(SIGINT, SIG_DFL) + GObject.threads_init() + Notify.init('boobank_indicator') + BoobankChecker().main() + +if __name__ == "__main__": + main() diff --git a/contrib/boobank_indicator/boobank_indicator/data/__init__.py b/contrib/boobank_indicator/boobank_indicator/data/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/contrib/boobank_indicator/boobank_indicator/data/green_light.png b/contrib/boobank_indicator/boobank_indicator/data/green_light.png new file mode 100644 index 0000000000000000000000000000000000000000..4d3770cd51ef102f691a1e2d8823d126727a51c0 GIT binary patch literal 1165 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 SaYv=_Ki^L0Qu{2WtN#PqFJI08 literal 0 HcmV?d00001 diff --git a/contrib/boobank_indicator/boobank_indicator/data/red_light.png b/contrib/boobank_indicator/boobank_indicator/data/red_light.png new file mode 100644 index 0000000000000000000000000000000000000000..3bda5087e7577b7f54c628b7f2e4497abd3ce8d6 GIT binary patch literal 966 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Ţ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 G5B~?09H_Mb literal 0 HcmV?d00001 diff --git a/contrib/boobank_indicator/setup.py b/contrib/boobank_indicator/setup.py new file mode 100644 index 00000000..563959d6 --- /dev/null +++ b/contrib/boobank_indicator/setup.py @@ -0,0 +1,20 @@ +from setuptools import setup +from setuptools import find_packages + +setup(name='boobank_indicator', + version='0.0.1', + description='show your bank accounts in your System Tray', + long_description='boobank_indicator will show you bank accounts and associated transactions in your system tray. Your bank accounts should be configured in boobank', + keywords='weboob boobank tray icon', + url='http://weboob.org/', + license='GNU AGPL 3', + author='Bezleputh', + author_email='bezleputh@gmail.com', + packages=find_packages(), + package_data={ + 'boobank_indicator.data': ['indicator-boobank.png', 'green_light.png', 'red_light.png'] + }, + entry_points={ + 'console_scripts': ['boobank_indicator = boobank_indicator.boobank_indicator:main'], + }, + zip_safe=False)