Beispiel #1
0
    def _from_csv(cls, system, data, csv_type, log):
        """
        Import data from CSV file into Power Objects
        """
        csv_object = getattr(system, csv_type, None)
        if not csv_object:
            csv_object = Power()
            system.power = csv_object
        for key in data.keys():
            if key in cls.reg_keys:
                if data[key]:
                    newdata = smart_bool(data[key])
                else:
                    newdata = None
                current_data = getattr(csv_object, key, None)
                if unicode(newdata) != unicode(current_data):
                    system.record_activity(user=identity.current.user,
                                           service=u'CSV',
                                           action=u'Changed',
                                           field=key,
                                           old=u'***',
                                           new=u'***')
                    setattr(csv_object, key, newdata)

        # import power_type
        if 'power_type' in data:
            if not data['power_type']:
                log.append("%s: Invalid power_type None" % system.fqdn)
                return False
            try:
                power_type = PowerType.by_name(data['power_type'])
            except InvalidRequestError:
                log.append("%s: Invalid Power Type %s" %
                           (system.fqdn, data['power_type']))
                return False
            if csv_object.power_type != power_type:
                system.record_activity(user=identity.current.user,
                                       service=u'CSV',
                                       action=u'Changed',
                                       field=u'power_type',
                                       old=u'%s' % csv_object.power_type,
                                       new=u'%s' % power_type)
                csv_object.power_type = power_type

        return True
Beispiel #2
0
    def _from_csv(cls,system,data,csv_type,log):
        """
        Import data from CSV file into Power Objects
        """
        csv_object = getattr(system, csv_type, None)
        if not csv_object:
            csv_object = Power()
            system.power = csv_object
        for key in data.keys():
            if key in cls.reg_keys:
                if data[key]:
                    newdata = smart_bool(data[key])
                else:
                    newdata = None
                current_data = getattr(csv_object, key, None)
                if unicode(newdata) != unicode(current_data):
                    system.record_activity(user=identity.current.user, service=u'CSV',
                            action=u'Changed', field=key, old=u'***', new=u'***')
                    setattr(csv_object,key,newdata)

        # import power_type
        if 'power_type' in data:
            if not data['power_type']:
                log.append("%s: Invalid power_type None" % system.fqdn)
                return False
            try:
                power_type = PowerType.by_name(data['power_type'])
            except InvalidRequestError:
                log.append("%s: Invalid Power Type %s" % (system.fqdn,
                                                         data['power_type']))
                return False
            if csv_object.power_type != power_type:
                system.record_activity(user=identity.current.user, service=u'CSV',
                        action=u'Changed', field=u'power_type',
                        old=u'%s' % csv_object.power_type, new=u'%s' % power_type)
                csv_object.power_type = power_type

        return True