Author: jsrain Date: Tue Jul 1 15:18:38 2008 New Revision: 48719 URL: http://svn.opensuse.org/viewcvs/yast?rev=48719&view=rev Log: added python web-service draft Added: branches/research/web-service/ branches/research/web-service/__init__.py branches/research/web-service/manage.py branches/research/web-service/settings.py branches/research/web-service/urls.py Added: branches/research/web-service/__init__.py URL: http://svn.opensuse.org/viewcvs/yast/branches/research/web-service/__init__.py?rev=48719&view=auto ============================================================================== (empty) Added: branches/research/web-service/manage.py URL: http://svn.opensuse.org/viewcvs/yast/branches/research/web-service/manage.py?rev=48719&view=auto ============================================================================== --- branches/research/web-service/manage.py (added) +++ branches/research/web-service/manage.py Tue Jul 1 15:18:38 2008 @@ -0,0 +1,11 @@ +#!/usr/bin/env python +from django.core.management import execute_manager +try: + import settings # Assumed to be in the same directory. +except ImportError: + import sys + sys.stderr.write("Error: Can't find the file 'settings.py' in the directory containing %r. It appears you've customized things.\nYou'll have to run django-admin.py, passing it your settings module.\n(If the file settings.py does indeed exist, it's causing an ImportError somehow.)\n" % __file__) + sys.exit(1) + +if __name__ == "__main__": + execute_manager(settings) Added: branches/research/web-service/settings.py URL: http://svn.opensuse.org/viewcvs/yast/branches/research/web-service/settings.py?rev=48719&view=auto ============================================================================== --- branches/research/web-service/settings.py (added) +++ branches/research/web-service/settings.py Tue Jul 1 15:18:38 2008 @@ -0,0 +1,21 @@ +from os.path import realpath + +DEBUG = True +TEMPLATE_DEBUG = True + +INSTALLED_APPS = ( + 'django.contrib.contenttypes', + 'django.contrib.admin', + 'django.contrib.auth', + 'django.contrib.sessions', + 'django.contrib.sites' +) + +ROOT_URLCONF = 'django_restapi_tests.urls' + +MIDDLEWARE_CLASSES = ( + 'django.contrib.sessions.middleware.SessionMiddleware', + 'django.contrib.auth.middleware.AuthenticationMiddleware', +# 'django.middleware.common.CommonMiddleware', +# 'django.middleware.doc.XViewMiddleware', +) Added: branches/research/web-service/urls.py URL: http://svn.opensuse.org/viewcvs/yast/branches/research/web-service/urls.py?rev=48719&view=auto ============================================================================== --- branches/research/web-service/urls.py (added) +++ branches/research/web-service/urls.py Tue Jul 1 15:18:38 2008 @@ -0,0 +1,61 @@ +from django.conf.urls.defaults import * +from django_restapi.model_resource import Collection +from django_restapi.responder import XMLResponder +from django_restapi.resource import Resource +from django.http import HttpResponse +import os +import dbus + + +def getInterfaces(): + bus = dbus.SystemBus() + NMC = 'org.freedesktop.NetworkManager' + NMI = NMC + nmo = bus.get_object(NMC, '/org/freedesktop/NetworkManager') + nmi = dbus.Interface(nmo, NMI) + + ret = 'State: ' + str(nmi.state()) + '<br>' + + devices = nmi.GetDevices() + ret = ret + 'Devices:<br>' + for device in devices: + ret = ret + device + '<br>' + return ret + +def getSystemTime(): + fp = os.popen("date") + systime = fp.read() + fp.close() + return systime + +def getTimeZone(): + fp = os.popen(". /etc/sysconfig/clock ; echo $TIMEZONE") + systime = fp.read() + fp.close() + return systime + +class SystemTime(Resource): + def read(self, request): + return HttpResponse(getSystemTime()) + def update(self, request): + return HttpResponse(request.PUT) + +class TimeZone(Resource): + def read(self, request): + return HttpResponse(getTimeZone()) + +class Time(Resource): + def read(self, request): + return HttpResponse('<time><systemtime>' + getSystemTime() + '</systemtime><timezone>' + getTimeZone() + '<timezone> </time>') + +class Network(Resource): + def read(self, request): + return HttpResponse(getInterfaces()) + +urlpatterns = patterns('', + (r'^time/systemtime', SystemTime(permitted_methods = ('GET', 'PUT'))), + (r'^time/timezone', TimeZone(permitted_methods = ('GET', 'PUT'))), + (r'^time/?$', Time(permitted_methods = ('GET', 'POST'))), + (r'^network/?', Network(permitted_methods = ('GET', 'POST'))) + +) -- To unsubscribe, e-mail: yast-commit+unsubscribe@opensuse.org For additional commands, e-mail: yast-commit+help@opensuse.org