summaryrefslogtreecommitdiff
path: root/gstudio/xmlrpc
diff options
context:
space:
mode:
authorNeha shah <shan.akshata@gmail.com>2012-05-30 14:55:23 +0530
committerNeha shah <shan.akshata@gmail.com>2012-05-30 14:55:23 +0530
commit721ada7e8f54952035a1c663dc09fd167e1eef29 (patch)
tree0bdff0496ffc82487ce3cda0465b20429e505975 /gstudio/xmlrpc
parent68a6174a3ab021588a5ac1345ccb8d3fdbc60cf0 (diff)
downloadgnowsys-721ada7e8f54952035a1c663dc09fd167e1eef29.tar.gz
registered the functions in views.py
Diffstat (limited to 'gstudio/xmlrpc')
-rw-r--r--gstudio/xmlrpc/rpc/.gitignore16
-rw-r--r--gstudio/xmlrpc/rpc/LICENSE24
-rw-r--r--gstudio/xmlrpc/rpc/MANIFEST.in3
-rw-r--r--gstudio/xmlrpc/rpc/README.rst36
-rw-r--r--gstudio/xmlrpc/rpc/__init__.py44
-rw-r--r--gstudio/xmlrpc/rpc/decorators.py175
-rw-r--r--gstudio/xmlrpc/rpc/dispatcher.py76
-rw-r--r--gstudio/xmlrpc/rpc/locale/fr/LC_MESSAGES/django.mobin0 -> 1030 bytes
-rw-r--r--gstudio/xmlrpc/rpc/locale/fr/LC_MESSAGES/django.po49
-rw-r--r--gstudio/xmlrpc/rpc/setup.py31
-rw-r--r--gstudio/xmlrpc/rpc/templates/xmlrpc_get.html26
-rw-r--r--gstudio/xmlrpc/rpc/views.py21
12 files changed, 494 insertions, 7 deletions
diff --git a/gstudio/xmlrpc/rpc/.gitignore b/gstudio/xmlrpc/rpc/.gitignore
new file mode 100644
index 0000000..7b4dcf6
--- /dev/null
+++ b/gstudio/xmlrpc/rpc/.gitignore
@@ -0,0 +1,16 @@
+*~
+*.pyc
+TODO.txt
+README.html
+bin
+lib
+dist
+eggs
+parts
+build
+include
+downloads
+src_eggs
+develop-eggs
+.installed.cfg
+django_xmlrpc.egg-info/ \ No newline at end of file
diff --git a/gstudio/xmlrpc/rpc/LICENSE b/gstudio/xmlrpc/rpc/LICENSE
new file mode 100644
index 0000000..8efdc93
--- /dev/null
+++ b/gstudio/xmlrpc/rpc/LICENSE
@@ -0,0 +1,24 @@
+Copyright (c) 2007-2008, Graham Binns
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+ * Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+ * Neither the name of this application nor the
+ names of its contributors may be used to endorse or promote products
+ derived from this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY GRAHAM BINNS ''AS IS'' AND ANY
+EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED. IN NO EVENT SHALL GRAHAM BINNS BE LIABLE FOR ANY
+DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
diff --git a/gstudio/xmlrpc/rpc/MANIFEST.in b/gstudio/xmlrpc/rpc/MANIFEST.in
new file mode 100644
index 0000000..2f4671b
--- /dev/null
+++ b/gstudio/xmlrpc/rpc/MANIFEST.in
@@ -0,0 +1,3 @@
+include README.rst
+recursive-include django_xmlrpc/locale *
+recursive-include django_xmlrpc/templates *.html
diff --git a/gstudio/xmlrpc/rpc/README.rst b/gstudio/xmlrpc/rpc/README.rst
new file mode 100644
index 0000000..bcf4ac0
--- /dev/null
+++ b/gstudio/xmlrpc/rpc/README.rst
@@ -0,0 +1,36 @@
+==============
+Django XML-RPC
+==============
+
+django_xmlrpc offers a means by which a Django developer can expose their views (or indeed any other function) using XML-RPC.
+
+This is a fork of the version hosted at : https://code.launchpad.net/~aartemenko/django-xmlrpc/svetlyak40wt compatible with Django > 1.1.
+
+.. contents::
+
+Installation
+============
+
+You could retrieve the last sources from http://github.com/Fantomas42/django-xmlrpc and run the installation script ::
+
+ $> python setup.py install
+
+or use pip ::
+
+ $> pip install -e git://github.com/Fantomas42/django-xmlrpc.git#egg=django-xmlrpc
+
+Usage
+=====
+
+Register **django_xmlrpc** in your INSTALLED_APPS section of your project' settings.
+
+Then register methods you want to handle like this in your project' settings. ::
+
+ >>> XMLRPC_METHODS = (('path.to.your.method', 'Method name'),
+ ... ('path.to.your.othermethod', 'Other Method name'),)
+
+Finally we need to register the url of the XML-RPC server.
+Insert something like this in your project's urls.py: ::
+
+ >>> url(r'^xmlrpc/$', 'django_xmlrpc.views.handle_xmlrpc', name='xmlrpc'),
+
diff --git a/gstudio/xmlrpc/rpc/__init__.py b/gstudio/xmlrpc/rpc/__init__.py
new file mode 100644
index 0000000..1d58f71
--- /dev/null
+++ b/gstudio/xmlrpc/rpc/__init__.py
@@ -0,0 +1,44 @@
+"""__init__ module for the django_xmlrpc package
+
+Authors::
+ Graham Binns
+ Julien Fache
+
+Credit must go to Brendan W. McAdams <brendan.mcadams@thewintergrp.com>, who
+posted the original SimpleXMLRPCDispatcher to the Django wiki:
+http://code.djangoproject.com/wiki/XML-RPC
+
+New BSD License
+===============
+Copyright (c) 2007, Graham Binns http://launchpad.net/~codedragon
+
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+ * Redistributions of source code must retain the above copyright notice,
+ this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above copyright notice,
+ this list of conditions and the following disclaimer in the documentation
+ and/or other materials provided with the distribution.
+ * Neither the name of the <ORGANIZATION> nor the names of its contributors
+ may be used to endorse or promote products derived from this software
+ without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
+CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+"""
+VERSION = (0, 1, 1)
+__version__ = '.'.join(map(str, VERSION))
+
+from views import xmlrpcdispatcher
diff --git a/gstudio/xmlrpc/rpc/decorators.py b/gstudio/xmlrpc/rpc/decorators.py
new file mode 100644
index 0000000..4218a4f
--- /dev/null
+++ b/gstudio/xmlrpc/rpc/decorators.py
@@ -0,0 +1,175 @@
+"""Offers decorators to make the use of django_xmlrpc a great deal simpler
+
+Authors::
+ Graham Binns,
+ Reza Mohammadi
+
+Credit must go to Brendan W. McAdams <brendan.mcadams@thewintergrp.com>, who
+posted the original SimpleXMLRPCDispatcher to the Django wiki:
+http://code.djangoproject.com/wiki/XML-RPC
+
+New BSD License
+===============
+Copyright (c) 2007, Graham Binns http://launchpad.net/~codedragon
+
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+ * Redistributions of source code must retain the above copyright notice,
+ this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above copyright notice,
+ this list of conditions and the following disclaimer in the documentation
+ and/or other materials provided with the distribution.
+ * Neither the name of the <ORGANIZATION> nor the names of its contributors
+ may be used to endorse or promote products derived from this software
+ without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
+CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+"""
+from xmlrpclib import Fault
+from django.contrib.auth import authenticate
+from django.utils.translation import gettext as _
+
+
+# Some constants for your pleasure
+#XXX: Any standardization?
+AUTHENTICATION_FAILED_CODE = 81
+PERMISSION_DENIED_CODE = 82
+
+
+class AuthenticationFailedException(Fault):
+ """An XML-RPC fault to be raised when a permission_required authentication
+ check fails
+
+ Author
+ """
+ def __init__(self):
+ Fault.__init__(self, AUTHENTICATION_FAILED_CODE,
+ _('Username and/or password is incorrect'))
+
+
+class PermissionDeniedException(Fault):
+ """An XML-RPC fault to be raised when a permission_required permission
+ check fails
+ """
+ def __init__(self):
+ Fault.__init__(self, PERMISSION_DENIED_CODE, _('Permission denied'))
+
+
+def xmlrpc_method(returns='string', args=None, name=None):
+ """Adds a signature to an XML-RPC function and register
+ it with the dispatcher.
+
+ returns
+ The return type of the function. This can either be a string
+ description (e.g. 'string') or a type (e.g. str, bool) etc.
+
+ args
+ A list of the types of the arguments that the function accepts. These
+ can be strings or types or a mixture of the two e.g.
+ [str, bool, 'string']
+ """
+ # Args should be a list
+ if args is None:
+ args = []
+
+ def _xmlrpc_func(func):
+ """Inner function for XML-RPC method decoration. Adds a signature to
+ the method passed to it.
+
+ func
+ The function to add the signature to
+ """
+ # If name is not None, register the method with the dispatcher.
+ from django_xmlrpc.views import xmlrpcdispatcher
+ if name is not None:
+ xmlrpcdispatcher.register_function(func, name)
+
+ # Add a signature to the function
+ func._xmlrpc_signature = {
+ 'returns': returns,
+ 'args': args
+ }
+ return func
+
+ return _xmlrpc_func
+
+xmlrpc_func = xmlrpc_method
+
+
+# Don't use this decorator when your service is going to be
+# available in an unencrpted/untrusted network.
+# Configure HTTPS transport for your web server.
+def permission_required(perm=None):
+ """Decorator for authentication. Uses Django's built in authentication
+ framework to provide authenticated-only and permission-related access
+ to XML-RPC methods
+
+ perm
+ The permission (as a string) that the user must hold to be able to
+ call the function that is decorated with permission_required.
+ """
+ def _dec(func):
+ """An inner decorator. Adds the lookup code for the permission passed
+ in the outer method to the function passed to it.
+
+ func
+ The function to add the permission check to
+ """
+ def __authenticated_call(username, password, *args):
+ """Inner inner decorator. Adds username and password parameters to
+ a given XML-RPC function for authentication and permission
+ checking purposes and modifies the method signature appropriately
+
+ username
+ The username used for authentication
+
+ password
+ The password used for authentication
+ """
+ try:
+ user = authenticate(username=username, password=password)
+ if not user:
+ raise AuthenticationFailedException
+ if perm and not user.has_perm(perm):
+ raise PermissionDeniedException
+ except AuthenticationFailedException:
+ raise
+ except PermissionDeniedException:
+ raise
+ except:
+ raise AuthenticationFailedException
+ return func(user, *args)
+
+ # Update the function's XML-RPC signature, if the method has one
+ if hasattr(func, '_xmlrpc_signature'):
+ sig = func._xmlrpc_signature
+
+ # We just stick two string args on the front of sign['args'] to
+ # represent username and password
+ sig['args'] = (['string'] * 2) + sig['args']
+ __authenticated_call._xmlrpc_signature = sig
+
+ # Update the function's docstring
+ if func.__doc__:
+ __authenticated_call.__doc__ = func.__doc__ + \
+ "\nNote: Authentication is required."""
+ if perm:
+ __authenticated_call.__doc__ += ' this function requires ' \
+ + '"%s" permission.' % perm
+
+ return __authenticated_call
+
+ return _dec
diff --git a/gstudio/xmlrpc/rpc/dispatcher.py b/gstudio/xmlrpc/rpc/dispatcher.py
new file mode 100644
index 0000000..f401457
--- /dev/null
+++ b/gstudio/xmlrpc/rpc/dispatcher.py
@@ -0,0 +1,76 @@
+"""Offers a simple XML-RPC dispatcher for django_xmlrpc
+
+Author::
+ Graham Binns
+
+Credit must go to Brendan W. McAdams <brendan.mcadams@thewintergrp.com>, who
+posted the original SimpleXMLRPCDispatcher to the Django wiki:
+http://code.djangoproject.com/wiki/XML-RPC
+
+New BSD License
+===============
+Copyright (c) 2007, Graham Binns http://launchpad.net/~codedragon
+
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+ * Redistributions of source code must retain the above copyright notice,
+ this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above copyright notice,
+ this list of conditions and the following disclaimer in the documentation
+ and/or other materials provided with the distribution.
+ * Neither the name of the <ORGANIZATION> nor the names of its contributors
+ may be used to endorse or promote products derived from this software
+ without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
+CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+"""
+from inspect import getargspec
+from SimpleXMLRPCServer import SimpleXMLRPCDispatcher
+from django.conf import settings
+
+
+# If we need to debug, now we know
+DEBUG = hasattr(settings, 'XMLRPC_DEBUG') and settings.XMLRPC_DEBUG
+
+
+class DjangoXMLRPCDispatcher(SimpleXMLRPCDispatcher):
+ """A simple XML-RPC dispatcher for Django.
+
+ Subclassess SimpleXMLRPCServer.SimpleXMLRPCDispatcher for the purpose of
+ overriding certain built-in methods (it's nicer than monkey-patching them,
+ that's for sure).
+ """
+
+ def system_methodSignature(self, method):
+ """Returns the signature details for a specified method
+
+ method
+ The name of the XML-RPC method to get the details for
+ """
+ # See if we can find the method in our funcs dict
+ # TODO: Handle this better: We really should return something more
+ # formal than an AttributeError
+ func = self.funcs[method]
+
+ try:
+ sig = func._xmlrpc_signature
+ except:
+ sig = {
+ 'returns': 'string',
+ 'args': ['string' for arg in getargspec(func)[0]],
+ }
+
+ return [sig['returns']] + sig['args']
diff --git a/gstudio/xmlrpc/rpc/locale/fr/LC_MESSAGES/django.mo b/gstudio/xmlrpc/rpc/locale/fr/LC_MESSAGES/django.mo
new file mode 100644
index 0000000..06035ed
--- /dev/null
+++ b/gstudio/xmlrpc/rpc/locale/fr/LC_MESSAGES/django.mo
Binary files differ
diff --git a/gstudio/xmlrpc/rpc/locale/fr/LC_MESSAGES/django.po b/gstudio/xmlrpc/rpc/locale/fr/LC_MESSAGES/django.po
new file mode 100644
index 0000000..091e086
--- /dev/null
+++ b/gstudio/xmlrpc/rpc/locale/fr/LC_MESSAGES/django.po
@@ -0,0 +1,49 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: django-xmlrpc\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-07-31 15:33+0200\n"
+"PO-Revision-Date: 2010-07-31 15:50+0100\n"
+"Last-Translator: Fantomas <Fantomas42@gmail.com>\n"
+"Language-Team: Fantomas42 <fantomas42@gmail.com>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Poedit-Language: French\n"
+"X-Poedit-Country: FRANCE\n"
+"X-Poedit-SourceCharset: utf-8\n"
+
+#: decorators.py:60
+msgid "Username and/or password is incorrect"
+msgstr "Nom d'utilisateur et/ou mot de passe incorrect"
+
+#: decorators.py:68
+msgid "Permission denied"
+msgstr "Permission refusée"
+
+#: templates/xmlrpc_get.html:4
+#: templates/xmlrpc_get.html.py:7
+msgid "XML-RPC Service"
+msgstr "Service XML-RPC"
+
+#: templates/xmlrpc_get.html:9
+msgid "You need to invoke this service using an XML-RPC Client."
+msgstr "Vous devez invoquer ce service en utilisant un client XML-RPC."
+
+#: templates/xmlrpc_get.html:11
+msgid "The following methods are available :"
+msgstr "Les méthodes suivantes sont disponibles :"
+
+#: templates/xmlrpc_get.html:17
+msgid "Types of argument"
+msgstr "Types d'argument"
+
+#: templates/xmlrpc_get.html:19
+msgid "Type of return"
+msgstr "Type de retour"
+
diff --git a/gstudio/xmlrpc/rpc/setup.py b/gstudio/xmlrpc/rpc/setup.py
new file mode 100644
index 0000000..10b4b92
--- /dev/null
+++ b/gstudio/xmlrpc/rpc/setup.py
@@ -0,0 +1,31 @@
+import os
+from setuptools import setup, find_packages
+
+setup(name = 'django-xmlrpc',
+ version = '0.1.4',
+
+ description = 'XML-RPC Server App for the Django framework.',
+ long_description=open(os.path.join('README.rst')).read(),
+ keywords = 'django, service, xmlrpc',
+
+ author = 'Graham Binns',
+ author_email = 'graham.binns@gmail.com',
+ maintainer = 'Fantomas42',
+ maintainer_email = 'fantomas42@gmail.com',
+ url = 'http://github.com/Fantomas42/django-xmlrpc',
+
+ packages = find_packages(),
+ classifiers=[
+ 'Framework :: Django',
+ 'Development Status :: 5 - Production/Stable',
+ 'Environment :: Web Environment',
+ 'Programming Language :: Python',
+ 'Intended Audience :: Developers',
+ 'Operating System :: OS Independent',
+ 'Topic :: Software Development :: Libraries :: Python Modules',],
+
+ license = 'New BSD License',
+ include_package_data = True,
+ zip_safe=False
+ )
+
diff --git a/gstudio/xmlrpc/rpc/templates/xmlrpc_get.html b/gstudio/xmlrpc/rpc/templates/xmlrpc_get.html
new file mode 100644
index 0000000..4c9fdfc
--- /dev/null
+++ b/gstudio/xmlrpc/rpc/templates/xmlrpc_get.html
@@ -0,0 +1,26 @@
+{% extends "admin/base_site.html" %}
+{% load i18n %}
+
+{% block title %}{% trans "XML-RPC Service" %}{% endblock %}
+
+{% block content %}
+<h2>{% trans "XML-RPC Service" %}</h2>
+
+<p>{% trans "You need to invoke this service using an XML-RPC Client." %}</p>
+
+<h3>{% trans "The following methods are available :" %}</h3>
+
+{% for m in methods %}
+<div class="functions">
+ <h4>{{ m.0 }}</h4>
+ <div class="function_desc">
+ <strong>{% trans "Types of argument" %}{{ m.1.args|length|pluralize }} :</strong> {{ m.1.args }}
+ <br />
+ <strong>{% trans "Type of return" %} :</strong> {{ m.1.returns }}
+ <br />
+ <pre class="function_doc">{{ m.2 }}</pre>
+ </div>
+</div>
+{% endfor %}
+{% endblock %}
+
diff --git a/gstudio/xmlrpc/rpc/views.py b/gstudio/xmlrpc/rpc/views.py
index 8c66b38..8b16bde 100644
--- a/gstudio/xmlrpc/rpc/views.py
+++ b/gstudio/xmlrpc/rpc/views.py
@@ -156,24 +156,31 @@ if hasattr(settings, 'XMLRPC_METHODS'):
raise ImproperlyConfigured('Error registering XML-RPC method: ' \
+ '"%s" is not callable in module %s' % (attr, module))
- xmlrpcdispatcher.register_function(func, name)
+ #xmlrpcdispatcher.register_function(func, name)
xmlrpcdispatcher.register_function(getNodetype,'getNodetype')
- xmlrpcdispatcher.register_function(nidExists,'nidExists')
+ xmlrpcdispatcher.register_function(nidExists,'nidExists')
xmlrpcdispatcher.register_function(getinfoFromSSID,'getinfoFromSSID')
- #xmlrpcdispatcher.register_function(getNeighbourhood,'getNeighbourhood')
+ xmlrpcdispatcher.register_function(getNeighbourhood,'getNeighbourhood')
xmlrpcdispatcher.register_function(get_nbh,'get_nbh')
- #xmlrpcdispatcher.register_function(getallNodes,'getallNodes')
+ xmlrpcdispatcher.register_function(getAll,'getAll')
xmlrpcdispatcher.register_function(getDatatype,'getDatatype')
xmlrpcdispatcher.register_function(getAttributevalues,'getAttributevalues')
xmlrpcdispatcher.register_function(getSubjecttypes,'getSubjecttypes')
- #xmlrpcdispatcher.register_function(getAttributeType,'getAttributeType')
+ xmlrpcdispatcher.register_function(getAttributeType,'getAttributeType')
xmlrpcdispatcher.register_function(getRoles,'getRoles')
xmlrpcdispatcher.register_function(getSubtypes,'getSubtypes')
- #xmlrpcdispatcher.register_function(Suballtypes,'Suballtypes')
+ xmlrpcdispatcher.register_function(getAllSubtypes,'getAllSubtypes')
xmlrpcdispatcher.register_function(getRestrictions,'getRestrictions')
xmlrpcdispatcher.register_function(getlatestSSID,'getlatestSSID')
xmlrpcdispatcher.register_function(getAllSnapshots,'getAllSnapshots')
-
+ xmlrpcdispatcher.register_function(setAttributetype,'setAttributetype')
+ xmlrpcdispatcher.register_function(setuser,'setuser')
+ xmlrpcdispatcher.register_function(setRelationtype,'setRelationtype')
+ xmlrpcdispatcher.register_function(setObjecttype,'setObjecttype')
+ xmlrpcdispatcher.register_function(setObject,'setObject')
+ xmlrpcdispatcher.register_function(setAttribute,'setAttribute')
+ xmlrpcdispatcher.register_function(setRelation,'setRelation')
+ xmlrpcdispatcher.register_function(getGbobjectNeighbourhood,'getGbobjectNeighbourhood')