renaming the toplevel geni/ package into sfa/
[sfa.git] / geni / methods / update.py
diff --git a/geni/methods/update.py b/geni/methods/update.py
deleted file mode 100644 (file)
index 75cb100..0000000
+++ /dev/null
@@ -1,88 +0,0 @@
-### $Id$
-### $URL$
-
-from geni.util.faults import *
-from geni.util.method import Method
-from geni.util.parameter import Parameter, Mixed
-from geni.util.auth import Auth
-from geni.util.record import GeniRecord
-from geni.util.debug import log
-
-class update(Method):
-    """
-    Update an object in the registry. Currently, this only updates the
-    PLC information associated with the record. The Geni fields (name, type,
-    GID) are fixed.
-    
-    @param cred credential string specifying rights of the caller
-    @param record a record dictionary to be updated
-
-    @return 1 if successful, faults otherwise 
-    """
-
-    interfaces = ['registry']
-    
-    accepts = [
-        Parameter(str, "Credential string"),
-        Parameter(dict, "Record dictionary to be updated")
-        ]
-
-    returns = Parameter(int, "1 if successful")
-    
-    def call(self, cred, record_dict):
-        self.api.auth.check(cred, "update")
-        record = GeniRecord(dict = record_dict)
-        type = record.get_type()
-        self.api.auth.verify_object_permission(record.get_name())
-        auth_name = self.api.auth.get_authority(record.get_name())
-        if not auth_name:
-            auth_name = record.get_name()
-        table = self.api.auth.get_auth_table(auth_name)
-
-        # make sure the record exists
-        existing_record_list = table.resolve(type, record.get_name())
-        if not existing_record_list:
-            raise RecordNotFound(record.get_name())
-        existing_record = existing_record_list[0]
-
-        # Update_membership needs the membership lists in the existing record
-        # filled in, so it can see if members were added or removed
-        self.api.fill_record_info(existing_record)
-
-         # Use the pointer from the existing record, not the one that the user
-        # gave us. This prevents the user from inserting a forged pointer
-        pointer = existing_record.get_pointer()
-
-        # update the PLC information that was specified with the record
-
-        if (type == "authority"):
-            self.api.plshell.UpdateSite(self.api.plauth, pointer, record)
-
-        elif type == "slice":
-            hrn=record.get_name()
-            pl_record=self.api.geni_fields_to_pl_fields(type, hrn, record)
-            self.api.plshell.UpdateSlice(self.api.plauth, pointer, pl_record)
-
-        elif type == "user":
-            # SMBAKER: UpdatePerson only allows a limited set of fields to be
-            #    updated. Ideally we should have a more generic way of doing
-            #    this. I copied the field names from UpdatePerson.py...
-            update_fields = {}
-            all_fields = record
-            for key in all_fields.keys():
-                if key in ['first_name', 'last_name', 'title', 'email',
-                           'password', 'phone', 'url', 'bio', 'accepted_aup',
-                           'enabled']:
-                    update_fields[key] = all_fields[key]
-            self.api.plshell.UpdatePerson(self.api.plauth, pointer, update_fields)
-
-        elif type == "node":
-            self.api.plshell.UpdateNode(self.api.plauth, pointer, record)
-
-        else:
-            raise UnknownGeniType(type)
-
-        # update membership for researchers, pis, owners, operators
-        self.api.update_membership(existing_record, record)
-
-        return 1