Coverage for skema/gromet/fn/gromet_object.py: 53%

43 statements  

« prev     ^ index     » next       coverage.py v7.5.0, created at 2024-04-30 17:15 +0000

1# coding: utf-8 

2 

3""" 

4 Grounded Model Exchange (GroMEt) schema for Function Networks 

5 

6 This document defines the GroMEt Function Network data model. Note that Metadata is defined in separate spec. __Using Swagger to Generate Class Structure__ To automatically generate Python or Java models corresponding to this document, you can use [swagger-codegen](https://swagger.io/tools/swagger-codegen/). This can be used to generate the client code based off of this spec, and in the process this will generate the data model class structure. 1. Install via the method described for your operating system [here](https://github.com/swagger-api/swagger-codegen#Prerequisites). Make sure to install a version after 3.0 that will support openapi 3. 2. Run swagger-codegen with the options in the example below. The URL references where the yaml for this documentation is stored on github. Make sure to replace CURRENT_VERSION with the correct version. (The current version is `0.1.7`.) To generate Java classes rather, change the `-l python` to `-l java`. Change the value to the `-o` option to the desired output location. ``` swagger-codegen generate -l python -o ./client -i https://raw.githubusercontent.com/ml4ai/automates-v2/master/docs/source/gromet_FN_v{CURRENT_VERSION}.yaml ``` 3. Once it executes, the client code will be generated at your specified location. For python, the classes will be located in `$OUTPUT_PATH/skema.gromet.fn.`. For java, they will be located in `$OUTPUT_PATH/src/main/java/io/swagger/client/model/` If generating GroMEt schema data model classes in SKEMA (AutoMATES), then after generating the above, follow the instructions here: ``` <automates>/automates/model_assembly/gromet/model/README.md ``` # noqa: E501 

7 

8 OpenAPI spec version: 0.1.10 

9 Contact: claytonm@arizona.edu 

10 Generated by: https://github.com/swagger-api/swagger-codegen.git 

11""" 

12 

13import pprint 

14import re # noqa: F401 

15 

16import six 

17 

18class GrometObject(object): 

19 """NOTE: This class is auto generated by the swagger code generator program. 

20 

21 Do not edit the class manually. 

22 """ 

23 """ 

24 Attributes: 

25 swagger_types (dict): The key is attribute name 

26 and the value is attribute type. 

27 attribute_map (dict): The key is attribute name 

28 and the value is json key in definition. 

29 """ 

30 swagger_types = { 

31 'metadata': 'int' 

32 } 

33 

34 attribute_map = { 

35 'metadata': 'metadata' 

36 } 

37 

38 def __init__(self, metadata=None): # noqa: E501 

39 """GrometObject - a model defined in Swagger""" # noqa: E501 

40 self._metadata = None 

41 self.discriminator = None 

42 if metadata is not None: 

43 self.metadata = metadata 

44 

45 @property 

46 def metadata(self): 

47 """Gets the metadata of this GrometObject. # noqa: E501 

48 

49 Index (integer) into the metadata_collection table in GrometFNModule. # noqa: E501 

50 

51 :return: The metadata of this GrometObject. # noqa: E501 

52 :rtype: int 

53 """ 

54 return self._metadata 

55 

56 @metadata.setter 

57 def metadata(self, metadata): 

58 """Sets the metadata of this GrometObject. 

59 

60 Index (integer) into the metadata_collection table in GrometFNModule. # noqa: E501 

61 

62 :param metadata: The metadata of this GrometObject. # noqa: E501 

63 :type: int 

64 """ 

65 

66 self._metadata = metadata 

67 

68 def to_dict(self): 

69 """Returns the model properties as a dict""" 

70 result = {} 

71 

72 for attr, _ in six.iteritems(self.swagger_types): 

73 value = getattr(self, attr) 

74 if isinstance(value, list): 

75 result[attr] = list(map( 

76 lambda x: x.to_dict() if hasattr(x, "to_dict") else x, 

77 value 

78 )) 

79 elif hasattr(value, "to_dict"): 

80 result[attr] = value.to_dict() 

81 elif isinstance(value, dict): 

82 result[attr] = dict(map( 

83 lambda item: (item[0], item[1].to_dict()) 

84 if hasattr(item[1], "to_dict") else item, 

85 value.items() 

86 )) 

87 else: 

88 result[attr] = value 

89 if issubclass(GrometObject, dict): 

90 for key, value in self.items(): 

91 result[key] = value 

92 

93 return result 

94 

95 def to_str(self): 

96 """Returns the string representation of the model""" 

97 return pprint.pformat(self.to_dict()) 

98 

99 def __repr__(self): 

100 """For `print` and `pprint`""" 

101 return self.to_str() 

102 

103 def __eq__(self, other): 

104 """Returns true if both objects are equal""" 

105 if not isinstance(other, GrometObject): 

106 return False 

107 

108 return self.__dict__ == other.__dict__ 

109 

110 def __ne__(self, other): 

111 """Returns true if both objects are not equal""" 

112 return not self == other