service-manager

This commit is contained in:
bferturk
2016-06-18 20:06:43 +03:00
parent fe49bb8046
commit e552beda35
5 changed files with 509 additions and 0 deletions
@@ -0,0 +1,17 @@
#!/usr/bin/python
# -*- coding: utf-8 -*-
#
# Licensed under the GNU General Public License, version 3.
# See the file http://www.gnu.org/licenses/gpl.txt
from pisi.actionsapi import pythonmodules
from pisi.actionsapi import pisitools
from pisi.actionsapi import shelltools
def build():
pisitools.dosed("data/service-manager.desktop", "NotShowIn=KDE;", "")
shelltools.system("python setup.py build")
def install():
pythonmodules.install()
Binary file not shown.

After

Width:  |  Height:  |  Size: 5.3 KiB

@@ -0,0 +1,433 @@
diff -Nuar service-manager-3.0.0.orig//setup.py service-manager-3.0.0/setup.py
--- service-manager-3.0.0.orig//setup.py 2011-03-21 11:09:29.708000015 +0200
+++ service-manager-3.0.0/setup.py 2011-03-21 11:10:08.152000017 +0200
@@ -26,6 +26,12 @@
from distutils.command.install import install
PROJECT = about.appName
+FOR_KDE_4=False
+
+if 'kde4' in sys.argv:
+ sys.argv.remove('kde4')
+ FOR_KDE_4=True
+ print 'UI files will be created for KDE 4.. '
def makeDirs(directory):
if not os.path.exists(directory):
@@ -47,8 +53,14 @@
# Collect UI files
filelist = []
- for filename in glob.glob1("ui", "*.ui"):
- os.system("pykde4uic -o ui/ui_%s.py ui/%s" % (filename.split(".")[0], filename))
+ # UI files for kde4
+ if FOR_KDE_4:
+ for filename in glob.glob1("ui", "*.ui"):
+ os.system("pykde4uic -o ui/ui_%s.py ui/%s" % (filename.split(".")[0], filename))
+ #UI files for pure-qt
+ else :
+ for filename in glob.glob1("ui", "*.ui"):
+ os.system("pyuic4 -o ui/ui_%s.py ui/%s -g %s" % (filename.split(".")[0], filename, PROJECT))
# Collect headers for desktop files
for filename in glob.glob("data/*.desktop.in"):
@@ -104,8 +116,15 @@
os.system("intltool-merge -d po %s %s" % (filename, filename[:-3]))
print "Generating UIs..."
- for filename in glob.glob1("ui", "*.ui"):
- os.system("pykde4uic -o build/servicemanager/ui_%s.py ui/%s" % (filename.split(".")[0], filename))
+ # Collect UI for kde4
+ if FOR_KDE_4:
+ for filename in glob.glob1("ui", "*.ui"):
+ os.system("pykde4uic -o build/servicemanager/ui_%s.py ui/%s" % (filename.split(".")[0], filename))
+ # Collect UI for pure-qt
+ else:
+ for filename in glob.glob1("ui", "*.ui"):
+ os.system("pyuic4 -o build/servicemanager/ui_%s.py ui/%s -g %s" % (filename.split(".")[0], filename, PROJECT))
+
print "Generating RCs..."
for filename in glob.glob1("data", "*.qrc"):
@@ -128,9 +147,13 @@
bin_dir = "/usr/bin"
locale_dir = os.path.join(root_dir, "locale")
- apps_dir = os.path.join(root_dir, "applications/kde4")
- services_dir = os.path.join(root_dir, "kde4/services")
- project_dir = os.path.join(root_dir, "kde4/apps", PROJECT)
+ if FOR_KDE_4:
+ apps_dir = os.path.join(root_dir, "applications/kde4")
+ services_dir = os.path.join(root_dir, "kde4/services")
+ project_dir = os.path.join(root_dir, "kde4/apps", PROJECT)
+ else:
+ apps_dir = os.path.join(root_dir, "applications")
+ project_dir = os.path.join(root_dir, PROJECT)
# Make directories
print "Making directories..."
@@ -138,13 +161,15 @@
makeDirs(locale_dir)
makeDirs(apps_dir)
makeDirs(project_dir)
- makeDirs(services_dir)
+ if FOR_KDE_4:
+ makeDirs(services_dir)
# Install desktop files
print "Installing desktop files..."
shutil.copy("data/%s.desktop" % PROJECT, apps_dir)
- shutil.copy("data/kcm_%s.desktop" % PROJECT, services_dir)
+ if FOR_KDE_4:
+ shutil.copy("data/kcm_%s.desktop" % PROJECT, services_dir)
shutil.rmtree('build/data')
# Install codes
@@ -192,14 +217,19 @@
bin_dir = "/usr/bin"
locale_dir = os.path.join(root_dir, "locale")
- apps_dir = os.path.join(root_dir, "applications/kde4")
- services_dir = os.path.join(root_dir, "kde4/services")
- project_dir = os.path.join(root_dir, "kde4/apps", PROJECT)
+ if FOR_KDE_4:
+ apps_dir = os.path.join(root_dir, "applications/kde4")
+ services_dir = os.path.join(root_dir, "kde4/services")
+ project_dir = os.path.join(root_dir, "kde4/apps", PROJECT)
+ else:
+ apps_dir = os.path.join(root_dir, "applications")
+ project_dir = os.path.join(root_dir, PROJECT)
print 'Uninstalling ...'
remove(project_dir)
remove(apps_dir +"/%s.desktop" % PROJECT)
- remove(services_dir +"/kcm_%s.desktop" % PROJECT)
+ if FOR_KDE_4:
+ remove(services_dir +"/kcm_%s.desktop" % PROJECT)
for filename in glob.glob1('po', '*.po'):
lang = filename.rsplit(".", 1)[0]
remove(os.path.join(locale_dir, "%s/LC_MESSAGES" % lang, "%s.mo" % PROJECT))
diff -Nuar service-manager-3.0.0.orig//src/servicemanager/about.py service-manager-3.0.0/src/servicemanager/about.py
--- service-manager-3.0.0.orig//src/servicemanager/about.py 2011-03-21 11:09:29.711000015 +0200
+++ service-manager-3.0.0/src/servicemanager/about.py 2011-03-21 11:10:08.152000017 +0200
@@ -11,29 +11,35 @@
# Please read the COPYING file.
#
-# PyKDE4 Stuff
-from PyKDE4.kdecore import KAboutData, ki18n, ki18nc
-
-PACKAGE = "Service Manager"
+# PDS Stuff
+import context as ctx
# Application Data
+PACKAGE = "Service Manager"
appName = "service-manager"
modName = "servicemanager"
-programName = ki18n(PACKAGE)
version = "3.0.0"
-description = ki18n(PACKAGE)
-license = KAboutData.License_GPL
-copyright = ki18n("(c) 2009-2010 TUBITAK/UEKAE")
-text = ki18n(None)
homePage = "http://developer.pardus.org.tr/projects/service-manager"
bugEmail = "bugs@pardus.org.tr"
+icon = "flag-yellow"
catalog = appName
-aboutData = KAboutData(appName, catalog, programName, version, description, license, copyright, text, homePage, bugEmail)
-# Authors
-aboutData.addAuthor(ki18n("Gökmen Göksel"), ki18n("Current Maintainer"))
-aboutData.addAuthor(ki18n("Bahadır Kandemir"), ki18n("COMAR Author"))
-aboutData.setTranslator(ki18nc("NAME OF TRANSLATORS", "Your names"), ki18nc("EMAIL OF TRANSLATORS", "Your emails"))
+if ctx.Pds.session == ctx.pds.Kde4:
+
+ # PyKDE4 Stuff
+ from PyKDE4.kdecore import KAboutData, ki18n, ki18nc
+
+ programName = ki18n(PACKAGE)
+ description = ki18n(PACKAGE)
+ license = KAboutData.License_GPL
+ copyright = ki18n("(c) 2009-2010 TUBITAK/UEKAE")
+ text = ki18n(None)
+ aboutData = KAboutData(appName, catalog, programName, version, description, license, copyright, text, homePage, bugEmail)
+
+ # Authors
+ aboutData.addAuthor(ki18n("Gökmen Göksel"), ki18n("Current Maintainer"))
+ aboutData.addAuthor(ki18n("Bahadır Kandemir"), ki18n("COMAR Author"))
+ aboutData.setTranslator(ki18nc("NAME OF TRANSLATORS", "Your names"), ki18nc("EMAIL OF TRANSLATORS", "Your emails"))
-# Use this if icon name is different than appName
-aboutData.setProgramIconName("flag-yellow")
+ # Use this if icon name is different than appName
+ aboutData.setProgramIconName(icon)
diff -Nuar service-manager-3.0.0.orig//src/servicemanager/base.py service-manager-3.0.0/src/servicemanager/base.py
--- service-manager-3.0.0.orig//src/servicemanager/base.py 2011-03-21 11:09:29.712000015 +0200
+++ service-manager-3.0.0/src/servicemanager/base.py 2011-03-21 11:10:08.157000017 +0200
@@ -20,16 +20,18 @@
from PyQt4.QtGui import QMessageBox
from PyQt4.QtCore import *
-# PyKDE4 Stuff
-from PyKDE4.kdeui import *
-from PyKDE4.kdecore import *
-
# Application Stuff
from servicemanager.backend import ServiceIface
-from servicemanager.about import aboutData
from servicemanager.ui_main import Ui_mainManager
from servicemanager.widgets import ServiceItemWidget, ServiceItem
+# Pds vs KDE
+import servicemanager.context as ctx
+if ctx.Pds.session == ctx.pds.Kde4:
+ from PyKDE4.kdecore import i18n
+else:
+ from servicemanager.context import i18n
+
class MainManager(QtGui.QWidget):
def __init__(self, parent, standAlone=True):
QtGui.QWidget.__init__(self, parent)
diff -Nuar service-manager-3.0.0.orig//src/servicemanager/context.py service-manager-3.0.0/src/servicemanager/context.py
--- service-manager-3.0.0.orig//src/servicemanager/context.py 1970-01-01 02:00:00.000000000 +0200
+++ service-manager-3.0.0/src/servicemanager/context.py 2011-03-21 11:10:08.161000017 +0200
@@ -0,0 +1,29 @@
+#!/usr/bin/python
+# -*- coding: utf-8 -*-
+
+import pds
+import traceback
+from time import time
+from pds.qiconloader import QIconLoader
+
+Pds = pds.Pds('service-manager', debug = False)
+# Force to use Default Session for testing
+# Pds.session = pds.DefaultDe
+# print 'Current session is : %s %s' % (Pds.session.Name, Pds.session.Version)
+
+i18n = Pds.i18n
+KIconLoader = QIconLoader(Pds, forceCache=True)
+KIcon = KIconLoader.icon
+
+time_counter = 0
+start_time = time()
+last_time = time()
+
+def _time():
+ global last_time, time_counter
+ trace = list(traceback.extract_stack())
+ diff = time() - start_time
+ print ('%s ::: %s:%s' % (time_counter, trace[-2][0].split('/')[-1], trace[-2][1])), diff, diff - last_time
+ last_time = diff
+ time_counter += 1
+
diff -Nuar service-manager-3.0.0.orig//src/servicemanager/widgets.py service-manager-3.0.0/src/servicemanager/widgets.py
--- service-manager-3.0.0.orig//src/servicemanager/widgets.py 2011-03-21 11:09:29.712000015 +0200
+++ service-manager-3.0.0/src/servicemanager/widgets.py 2011-03-21 11:10:08.163000017 +0200
@@ -15,10 +15,13 @@
from PyQt4 import QtGui
from PyQt4.QtCore import *
-# KDE Stuff
-from PyKDE4 import kdeui
-from PyKDE4.kdecore import i18n
-from PyKDE4.kdecore import KGlobal
+# Pds vs KDE
+import servicemanager.context as ctx
+if ctx.Pds.session == ctx.pds.Kde4:
+ from PyKDE4.kdeui import KIcon
+ from PyKDE4.kdecore import i18n
+else:
+ from servicemanager.context import KIcon, i18n
# Application Stuff
from servicemanager.ui_item import Ui_ServiceItemWidget
@@ -31,6 +34,7 @@
# Python Stuff
import time
import textwrap
+import locale
# Pisi Stuff
import pisi
@@ -60,10 +64,10 @@
self.toggleButtons()
- self.ui.buttonStart.setIcon(kdeui.KIcon("media-playback-start"))
- self.ui.buttonStop.setIcon(kdeui.KIcon("media-playback-stop"))
- self.ui.buttonReload.setIcon(kdeui.KIcon("view-refresh"))
- self.ui.buttonInfo.setIcon(kdeui.KIcon("dialog-information"))
+ self.ui.buttonStart.setIcon(KIcon("media-playback-start"))
+ self.ui.buttonStop.setIcon(KIcon("media-playback-stop"))
+ self.ui.buttonReload.setIcon(KIcon("view-refresh"))
+ self.ui.buttonInfo.setIcon(KIcon("dialog-information"))
self.toggled = False
self.root = parent
@@ -100,7 +104,7 @@
self.ui.buttonStop.setEnabled(self.running)
self.ui.buttonReload.setEnabled(self.running)
- self.ui.labelStatus.setPixmap(kdeui.KIcon(icon).pixmap(32, 32))
+ self.ui.labelStatus.setPixmap(KIcon(icon).pixmap(32, 32))
self.showStatus()
self.runningAtStart = False
if state in ('on', 'stopped'):
@@ -161,7 +165,7 @@
try:
# TODO add a package map for known services
service = service.replace('_','-')
- lang = str(KGlobal.locale().language())
+ lang = str(locale.getdefaultlocale()[0].split("_")[0])
desc = pisi.api.info_name(service)[0].package.description
if desc.has_key(lang):
return unicode(desc[lang])
@@ -178,7 +182,7 @@
self.ui = Ui_InfoWidget()
self.ui.setupUi(self)
self.ui.buttonHide.clicked.connect(self.hideDescription)
- self.ui.buttonHide.setIcon(kdeui.KIcon("dialog-close"))
+ self.ui.buttonHide.setIcon(KIcon("dialog-close"))
self._animation = 2
self._duration = 500
diff -Nuar service-manager-3.0.0.orig//src/service-manager.py service-manager-3.0.0/src/service-manager.py
--- service-manager-3.0.0.orig//src/service-manager.py 2011-03-21 11:09:29.712000015 +0200
+++ service-manager-3.0.0/src/service-manager.py 2011-03-21 11:33:38.407000038 +0200
@@ -13,46 +13,72 @@
# System
import sys
-
import dbus
+# Pds Stuff
+import servicemanager.context as ctx
+
+# Application Stuff
+import servicemanager.about as about
+
# Qt Stuff
from PyQt4.QtCore import SIGNAL
-# PyKDE4 Stuff
-from PyKDE4.kdeui import *
-from PyKDE4.kdecore import *
-
-def CreatePlugin(widget_parent, parent, component_data):
- from servicemanager.kcmodule import ServiceManager
- return ServiceManager(component_data, parent)
+# Enable plugin if session is Kde4
+if ctx.Pds.session == ctx.pds.Kde4:
+ def CreatePlugin(widget_parent, parent, component_data):
+ from servicemanager.kcmodule import ServiceManager
+ return ServiceManager(component_data, parent)
if __name__ == '__main__':
- # Service Manager
- from servicemanager.standalone import ServiceManager
-
- # Application Stuff
- from servicemanager.about import aboutData
-
- # Set Command-line arguments
- KCmdLineArgs.init(sys.argv, aboutData)
-
- # Create a Kapplitcation instance
- app = KApplication()
-
# DBUS MainLoop
if not dbus.get_default_main_loop():
from dbus.mainloop.qt import DBusQtMainLoop
DBusQtMainLoop(set_as_default = True)
- # Create Main Widget
- mainWindow = ServiceManager(None, 'service-manager')
- mainWindow.show()
+ # Pds vs KDE
+ if ctx.Pds.session == ctx.pds.Kde4:
+
+ # PyKDE4 Stuff
+ from PyKDE4.kdeui import *
+ from PyKDE4.kdecore import *
+
+ # Application Stuff
+ from servicemanager.standalone import ServiceManager
+ from servicemanager.about import aboutData
+
+ # Set Command-line arguments
+ KCmdLineArgs.init(sys.argv, aboutData)
+
+ # Create a Kapplitcation instance
+ app = KApplication()
+
+ # Create Main Widget
+ mainWindow = ServiceManager(None, aboutData.appName)
+ mainWindow.show()
+
+ else:
+
+ # Application Stuff
+ from servicemanager.base import MainManager
+
+ # Pds Stuff
+ from pds.quniqueapp import QUniqueApplication
+ from servicemanager.context import KIcon, i18n
+
+ # Create a QUniqueApllication instance
+ app = QUniqueApplication(sys.argv, catalog=about.appName)
+
+ # Create Main Widget and make some settings
+ mainWindow = MainManager(None)
+ mainWindow.show()
+ mainWindow.resize(640, 480)
+ mainWindow.setWindowTitle(i18n(about.PACKAGE))
+ mainWindow.setWindowIcon(KIcon(about.icon))
# Create connection for lastWindowClosed signal to quit app
app.connect(app, SIGNAL('lastWindowClosed()'), app.quit)
- # Run the application
+ # Run the applications
app.exec_()
-
diff -Nuar service-manager-3.0.0.orig//ui/main.ui service-manager-3.0.0/ui/main.ui
--- service-manager-3.0.0.orig//ui/main.ui 2011-03-21 11:09:29.703000015 +0200
+++ service-manager-3.0.0/ui/main.ui 2011-03-21 11:10:08.165000017 +0200
@@ -17,16 +17,10 @@
<item row="0" column="0">
<layout class="QHBoxLayout" name="horizontalLayout">
<item>
- <widget class="KLineEdit" name="lineSearch">
- <property name="urlDropsEnabled">
- <bool>false</bool>
- </property>
- <property name="clickMessage">
+ <widget class="QLineEdit" name="lineSearch">
+ <property name="placeholderText">
<string>type service name to search...</string>
</property>
- <property name="showClearButton" stdset="0">
- <bool>true</bool>
- </property>
</widget>
</item>
<item>
@@ -106,13 +100,6 @@
</item>
</layout>
</widget>
- <customwidgets>
- <customwidget>
- <class>KLineEdit</class>
- <extends>QLineEdit</extends>
- <header>klineedit.h</header>
- </customwidget>
- </customwidgets>
<resources/>
<connections/>
</ui>
@@ -0,0 +1,50 @@
<?xml version="1.0" ?>
<!DOCTYPE PISI SYSTEM "http://www.pisilinux.org/projeler/pisi/pisi-spec.dtd">
<PISI>
<Source>
<Name>service-manager</Name>
<Homepage>http://www.pisilinux.org</Homepage>
<Packager>
<Name>PisiLinux Community</Name>
<Email>admins@pisilinux.org</Email>
</Packager>
<License>GPLv2</License>
<IsA>app:gui</IsA>
<Summary>System Service configuration GUI</Summary>
<Description>This system service configuration software is developed for Pisi Linux. It provides managing system services.</Description>
<Archive sha1sum="70f31cd176beb227769c6431198e7fb5ef0102b1" type="targz">https://github.com/PisiLinuxNew/service-manager/archive/3.1.0.tar.gz</Archive>
<BuildDependencies>
<Dependency>pisilinux-desktop-services</Dependency>
<Dependency>docutils</Dependency>
<Dependency>python-qt5-devel</Dependency>
</BuildDependencies>
</Source>
<Package>
<Name>service-manager</Name>
<RuntimeDependencies>
<Dependency>python-qt5</Dependency>
<Dependency>pisilinux-desktop-services</Dependency>
</RuntimeDependencies>
<Files>
<Path fileType="executable">/usr/bin</Path>
<Path fileType="library">/usr/share</Path>
<Path fileType="localedata">/usr/share/locale</Path>
<Path fileType="data">/usr/share/applications</Path>
</Files>
<AdditionalFiles>
<!-- <AdditionalFile owner="root" permission="0644" target="/usr/share/pixmaps/flag-yellow.png">flag-yellow.png</AdditionalFile>
<AdditionalFile owner="root" permission="0644" target="/usr/share/applications/service-manager.desktop">service-manager.desktop</AdditionalFile> -->
</AdditionalFiles>
</Package>
<History>
<Update release="1">
<Date>2016-06-03</Date>
<Version>3.1.0</Version>
<Comment>First release</Comment>
<Name>Pisi Linux Admins</Name>
<Email>admins@pisilinux.org</Email>
</Update>
</History>
</PISI>
@@ -0,0 +1,9 @@
<?xml version="1.0" ?>
<PISI>
<Source>
<Name>service-manager</Name>
<Summary xml:lang="tr">Servis yönetim arayüzü</Summary>
<Description xml:lang="tr">Servis yöneticisi, Pisi Linux'da çalışan sunucu ve servislerin yönetilmesini sağlar</Description>
<Description xml:lang="fr">Le gestionnaire de Service est utilisé pour administrer les services lancés dans Pisi Linux.</Description>
</Source>
</PISI>