Author: jsrain Date: Wed Jul 2 09:21:08 2008 New Revision: 48746 URL: http://svn.opensuse.org/viewcvs/yast?rev=48746&view=rev Log: update Modified: branches/research/web-service/services/ntp.py Modified: branches/research/web-service/services/ntp.py URL: http://svn.opensuse.org/viewcvs/yast/branches/research/web-service/services/ntp.py?rev=48746&r1=48745&r2=48746&view=diff ============================================================================== --- branches/research/web-service/services/ntp.py (original) +++ branches/research/web-service/services/ntp.py Wed Jul 2 09:21:08 2008 @@ -3,23 +3,71 @@ from django_restapi.responder import XMLResponder from django_restapi.resource import Resource from django.http import HttpResponse +from django_restapi.authentication import * import os import dbus +class Ntp(Resource): + authentication = HttpBasicAuthentication() + def read(self, request): + return HttpResponse('<a href="/services/ntp/status">Status</a><br><a href="/services/ntp/start">Start</a>') +# FIXME how to do a link to POST? -def getSystemTime2(): - fp = os.popen("date") - systime = fp.read() - fp.close() - return systime - -class SystemTime2(Resource): +class NtpStatus(Resource): def read(self, request): - return HttpResponse(getSystemTime2()) - def update(self, request): - return HttpResponse(request.PUT) + exit = os.system("/etc/init.d/ntp status") + running = (exit == 0) + if running: + return HttpResponse ("Yes") + return HttpResponse ("No") + +class NtpStart(Resource): + def create(self, request): + exit = os.system("/etc/init.d/ntp start") + if (exit == 0): + return HttpResponse ("Success") + return HttpResponse ("Failed") + +class NtpStop(Resource): + def create(self, request): + exit = os.system("/etc/init.d/ntp stop") + if (exit == 0): + return HttpResponse ("Success") + return HttpResponse ("Failed") + +class NtpRestart(Resource): + def create(self, request): + exit = os.system("/etc/init.d/ntp restart") + if (exit == 0): + return HttpResponse ("Success") + return HttpResponse ("Failed") + +class NtpReload(Resource): + def create(self, request): + exit = os.system("/etc/init.d/ntp reload") + if (exit == 0): + return HttpResponse ("Success") + return HttpResponse ("Failed") + +class NtpServers(Resource): + responder = XMLResponder(), + authentication = HttpBasicAuthentication() +# def read(self, request): +# return HttpResponse("Servers: Guess ;-)") +# TODO return real list of servers +# def update(self, request): +# server = request.PUT +# TODO add the server +# return HttpResponse("Server added") + urlpatterns = patterns('', - (r'^services/time/systemtime', SystemTime2(permitted_methods = ('GET', 'PUT'))), + (r'^services/ntp/?$', Ntp(permitted_methods = ('GET', 'PUT'))), + (r'^services/ntp/status', NtpStatus(permitted_methods = ('GET', 'PUT'))), + (r'^services/ntp/start', NtpStart(permitted_methods = ('GET', 'POST'))), + (r'^services/ntp/stop', NtpStop(permitted_methods = ('GET', 'POST'))), + (r'^services/ntp/restart', NtpRestart(permitted_methods = ('GET', 'POST'))), + (r'^services/ntp/reload', NtpReload(permitted_methods = ('GET', 'POST'))), + (r'^services/ntp/config/servers', NtpServers(permitted_methods = ('GET', 'PUT'))), ) -- To unsubscribe, e-mail: yast-commit+unsubscribe@opensuse.org For additional commands, e-mail: yast-commit+help@opensuse.org