From 36eb6ac11b951e03378081d279397a1654e66548 Mon Sep 17 00:00:00 2001 From: Romain Bignon Date: Sun, 11 Apr 2010 18:06:57 +0200 Subject: [PATCH] new frontend 'havesex' --- scripts/havesex | 26 ++++++++++ weboob/frontends/havesex/__init__.py | 21 +++++++++ weboob/frontends/havesex/application.py | 63 +++++++++++++++++++++++++ 3 files changed, 110 insertions(+) create mode 100755 scripts/havesex create mode 100644 weboob/frontends/havesex/__init__.py create mode 100644 weboob/frontends/havesex/application.py diff --git a/scripts/havesex b/scripts/havesex new file mode 100755 index 0000000000..a190525456 --- /dev/null +++ b/scripts/havesex @@ -0,0 +1,26 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- +# vim: ft=python et softtabstop=4 cinoptions=4 shiftwidth=4 ts=4 ai + +""" +Copyright(C) 2010 Romain Bignon + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, version 3 of the License. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + +""" + +from weboob.frontends.havesex import HaveSex + +if __name__ == '__main__': + HaveSex.run() diff --git a/weboob/frontends/havesex/__init__.py b/weboob/frontends/havesex/__init__.py new file mode 100644 index 0000000000..3674d88904 --- /dev/null +++ b/weboob/frontends/havesex/__init__.py @@ -0,0 +1,21 @@ +# -*- coding: utf-8 -*- + +""" +Copyright(C) 2010 Romain Bignon + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, version 3 of the License. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + +""" + +from .application import HaveSex diff --git a/weboob/frontends/havesex/application.py b/weboob/frontends/havesex/application.py new file mode 100644 index 0000000000..edb98bd94e --- /dev/null +++ b/weboob/frontends/havesex/application.py @@ -0,0 +1,63 @@ +# -*- coding: utf-8 -*- + +""" +Copyright(C) 2010 Romain Bignon + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, version 3 of the License. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + +""" + +from weboob.tools.application import PromptApplication +from weboob.capabilities.dating import ICapDating + +class HaveSex(PromptApplication): + APPNAME = 'havesex' + STORAGE_FILENAME = 'dating.storage' + + def main(self, argv): + self.load_config() + self.weboob.load_backends(ICapDating, storage=self.create_storage(self.STORAGE_FILENAME)) + + return self.loop() + + def split_id(self, id): + try: + bname, id = id.split('.', 1) + except ValueError: + return None, None + + return self.weboob.backends.get(bname, None), id + + @PromptApplication.command("exit program") + def command_exit(self): + print 'Returning in real-life...' + self.weboob.want_stop() + + @PromptApplication.command("show a profile") + def command_profile(self, id): + backend, _id = self.split_id(id) + if not backend: + print 'Invalid ID: %s' % id + return False + profile = backend.get_profile(_id) + if not profile: + print 'Profile not found' + + print profile.get_profile_text() + return True + + @PromptApplication.command("start profiles walker") + def command_walker(self): + for name, backend in self.weboob.iter_backends(): + backend.start_profiles_walker() -- GitLab