Author: e2jk-guest Date: 2013-05-19 18:35:08 +0000 (Sun, 19 May 2013) New Revision: 13657
Added: trunk/packages/gnuhealth/trunk/debian/gnuhealth-client.install trunk/packages/gnuhealth/trunk/debian/gnuhealth-client.links trunk/packages/gnuhealth/trunk/debian/gnuhealth-client.py Modified: trunk/packages/gnuhealth/trunk/debian/rules Log: New Python script that provides the `gnuhealth` command. It is a wrapper around tryton-client that takes care of seeding the user's installation with config files adapted for Debian's GNU Health server (which itself is a Tryton server automatically set up for use with GNU Health) Added: trunk/packages/gnuhealth/trunk/debian/gnuhealth-client.install =================================================================== --- trunk/packages/gnuhealth/trunk/debian/gnuhealth-client.install (rev 0) +++ trunk/packages/gnuhealth/trunk/debian/gnuhealth-client.install 2013-05-19 18:35:08 UTC (rev 13657) @@ -0,0 +1,4 @@ +debian/gnuhealth-client.py usr/share/gnuhealth-client +debian/gnuhealth-client.tryton.conf etc/gnuhealth +debian/gnuhealth-client.profiles.cfg etc/gnuhealth + Added: trunk/packages/gnuhealth/trunk/debian/gnuhealth-client.links =================================================================== --- trunk/packages/gnuhealth/trunk/debian/gnuhealth-client.links (rev 0) +++ trunk/packages/gnuhealth/trunk/debian/gnuhealth-client.links 2013-05-19 18:35:08 UTC (rev 13657) @@ -0,0 +1,2 @@ +/usr/share/gnuhealth-client/gnuhealth-client.py /usr/bin/gnuhealth + Added: trunk/packages/gnuhealth/trunk/debian/gnuhealth-client.py =================================================================== --- trunk/packages/gnuhealth/trunk/debian/gnuhealth-client.py (rev 0) +++ trunk/packages/gnuhealth/trunk/debian/gnuhealth-client.py 2013-05-19 18:35:08 UTC (rev 13657) @@ -0,0 +1,60 @@ +#!/usr/bin/python +# -*- coding: utf-8 -*- +### BEGIN LICENSE +# Copyright (C) 2013 Emilien Klein <emilien _PLUS_ debian _AT_ klein _DOT_ st> +# +# 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, either version 3 of the License, or (at your option) +# any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranties of +# MERCHANTABILITY, SATISFACTORY QUALITY, 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, see <http://www.gnu.org/licenses/>. +### END LICENSE + +# This script is a wrapper around tryton-client. +# If a config and/or a profiles file wasn't found, it will create a new default +# config and/or profiles file that is configured for a server running on the +# same machine. +# In case the server is not on the same machine, the user will have to change +# the server name at the first login, but port number, database name and user +# will already be defaulted in. +# After the default files are created, or if those files already exist, +# tryton-client will be run. + +import os +import subprocess +import shutil + +if __name__ == "__main__": + #TODO: detect installed version of Tryton automatically + tryton_version = "2.6" + base_config_path = os.path.expanduser("~/.config/tryton/%s/" % tryton_version) + config_file = os.path.join(base_config_path, "tryton.conf") + default_config_file = "/etc/gnuhealth/gnuhealth-client.tryton.conf" + profiles_file = os.path.join(base_config_path, "profiles.cfg") + default_profiles_file = "/etc/gnuhealth/gnuhealth-client.profiles.cfg" + + # Check if there already is a config file + if not os.path.isfile(config_file): + # Copy the default config file + shutil.copyfile(default_config_file, config_file) + # Make sure permissions are set appropriately + os.chmod(config_file, 0644) + # Check if there already is a profiles file + if not os.path.isfile(profiles_file): + # Copy the default profiles file + shutil.copyfile(default_profiles_file, profiles_file) + # Make sure permissions are set appropriately + os.chmod(profiles_file, 0644) + + # Call the Tryton client + #TODO: pass the arguments given to gnuhealth-server to tryton-server + args = ["tryton-client"] + subprocess.Popen(args) + Property changes on: trunk/packages/gnuhealth/trunk/debian/gnuhealth-client.py ___________________________________________________________________ Added: svn:executable + * Modified: trunk/packages/gnuhealth/trunk/debian/rules =================================================================== --- trunk/packages/gnuhealth/trunk/debian/rules 2013-05-19 18:32:48 UTC (rev 13656) +++ trunk/packages/gnuhealth/trunk/debian/rules 2013-05-19 18:35:08 UTC (rev 13657) @@ -23,6 +23,8 @@ find debian -name "health_qrcodes" -type d -prune -execdir rm -r \{\} \; # Mark all the Python scripts non-executable find debian -name "*.py" -type f -executable -exec chmod a-x \{\} \; + # Mark the gnuhealth-client script executable + chmod a+x debian/gnuhealth-client.py # Remove all the tests folders from the binary package find debian -name "tests" -type d -prune -execdir rm -r \{\} \; # Remove empty directories (locale folder of ICU module) _______________________________________________ debian-med-commit mailing list debian-med-commit@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/debian-med-commit