Beispiel #1
0
    def get_salesforce_object_metadata(self, object_type: str) -> dict:
        """Get Salesfoce object metadata by type.

        :param object_type: Salesforce object type
        :return: object metadata as dictionary
        """
        self._require_authentication()
        salesforce_object = SFType(object_type, self.session_id, self.instance)
        return dict(salesforce_object.metadata())
Beispiel #2
0
def sf_tbl_detail(env, tblname):
    response = {}
    [err, err_msg, sf] = sf_conn(env)
    if (err == 0):
        try:
            obj = SFType(tblname, sf.session_id, sf.sf_instance, sf.sf_version)
            lst_meta = (obj.metadata()).get('objectDescribe')
            ord_dict = obj.describe()
            full_col_header = [
                'ColumnName', 'Label', 'datatype', 'length,precision',
                'IsUpdateable', 'IsNullable', 'restrictedPicklist'
            ]
            full_col_values = [[
                field["name"], field["label"], field["type"],
                str(field["length"]) + ',' + str(field["precision"]),
                bool_convert(field["updateable"]),
                bool_convert(field["nillable"]),
                bool_convert(field["restrictedPicklist"])
            ] for field in ord_dict["fields"]]
            response["table"] = tblname
            response["columns"] = full_col_header
            response["data"] = full_col_values
            response["error"] = 0
            response["qRows"] = 0
            response["error_msg"] = ""
        except:
            response["table"] = ""
            response["columns"] = ""
            response["data"] = ""
            response["error"] = 1
            response["qRows"] = 0
            response["error_msg"] = str(
                sys.exc_info()[1]).split("Response content")[1][1:]
    else:
        response["table"] = ""
        response["columns"] = ""
        response["data"] = ""
        response["error"] = err
        response["qRows"] = 0
        response["error_msg"] = err_msg
    return (response)
Beispiel #3
0
def sf_tbl_desc(env, tblname):
    response = {}
    [err, err_msg, sf] = sf_conn(env)

    if (err == 0):
        try:
            obj = SFType(tblname, sf.session_id, sf.sf_instance, sf.sf_version)
            lst_meta = (obj.metadata()).get('objectDescribe')
            ord_dict = obj.describe()
            col_lst = ord_dict.get('fields')
            column_names = [field["name"].lower() for field in col_lst]
            response["error"] = 0
            response["error_msg"] = ""
            response["column_names"] = column_names
        except:
            response["error"] = 1
            response["qRows"] = []
            response["error_msg"] = str(
                sys.exc_info()[1]).split("Response content")[1][1:]
    else:
        response["error"] = err
        response["column_names"] = []
        response["error_msg"] = err_msg
    return (response)