From 165fe0b00eded356850c6d1cba33971b7ffe6821 Mon Sep 17 00:00:00 2001 From: Marco Pesenti Gritti Date: Fri, 01 Dec 2006 22:23:58 +0000 Subject: Several cleanups --- (limited to 'sugar/setup.py') diff --git a/sugar/setup.py b/sugar/setup.py deleted file mode 100755 index e4d8ae7..0000000 --- a/sugar/setup.py +++ /dev/null @@ -1,89 +0,0 @@ -#!/usr/bin/python - -# Copyright (C) 2006, Red Hat, Inc. -# -# This library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation; either -# version 2 of the License, or (at your option) any later version. -# -# This library 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 -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the -# Free Software Foundation, Inc., 59 Temple Place - Suite 330, -# Boston, MA 02111-1307, USA. - -import os -import sys -import shutil -import logging -from ConfigParser import ConfigParser -from ConfigParser import NoOptionError - -class ServiceParser(ConfigParser): - def optionxform(self, option): - return option - -def write_service(name, bin, path): - service_cp = ServiceParser() - section = 'D-BUS Service' - service_cp.add_section(section) - service_cp.set(section, 'Name', name) - service_cp.set(section, 'Exec', bin) - - dest_filename = os.path.join(path, name + '.service') - fileobject = open(dest_filename, 'w') - service_cp.write(fileobject) - fileobject.close() - -def setup_activity(source, dest_path, bin): - """Copy an activity to the destination path and setup it""" - filename = os.path.basename(source) - dest = os.path.join(dest_path, filename) - print 'Install ' + filename + ' ...' - shutil.copyfile(source, dest) - - cp = ConfigParser() - cp.read([source]) - - try: - activity_id = cp.get('Activity', 'id') - except NoOptionError: - logging.error('%s miss the required id option' % (path)) - return False - - if cp.has_option('Activity', 'exec'): - activity_exec = cp.get('Activity', 'exec') - elif cp.has_option('Activity', 'python_module'): - python_module = cp.get('Activity', 'python_module') - python_module = cp.get('Activity', 'python_module') - activity_exec = '%s %s %s' % (bin, activity_id, python_module) - else: - logging.error('%s must specifiy exec or python_module' % (source)) - return False - - write_service(activity_id + '.Factory', activity_exec, dest_path) - -def setup_activities(source_path, dest_path, bin): - """Scan a directory for activities and install them.""" - if not os.path.isdir(dest_path): - os.mkdir(dest_path) - else: - # FIXME delete the whole directory - pass - - if os.path.isdir(source_path): - for filename in os.listdir(source_path): - activity_dir = os.path.join(source_path, filename) - if os.path.isdir(activity_dir): - for filename in os.listdir(activity_dir): - if filename.endswith(".activity"): - source = os.path.join(activity_dir, filename) - setup_activity(source, dest_path, bin) - -if __name__=='__main__': - setup_activities(sys.argv[1], sys.argv[2], sys.argv[3]) -- cgit v0.9.1