App.Metadata class.\n A Metadata object reads an XML-formatted package metadata file and provides read and write access to its contents.\n The following constructors are supported:\n Metadata() Empty constructor.\n Metadata(metadata) Copy constructor. metadata : App.Metadata\n Metadata(file) Reads the XML file and provides access to the metadata it specifies. file : str\n XML file name. Metadata String representing the name of this item. String representing the version of this item in semantic triplet format. String representing the date of this item in YYYY-MM-DD format (format not currently programmatically enforced) String representing the description of this item (text only, no markup allowed). List of maintainer objects with 'name' and 'email' string attributes. List of applicable licenses as objects with 'name' and 'file' string attributes. List of URLs as objects with 'location' and 'type' string attributes, where type is one of: * website * repository * bugtracker * readme * documentation List of author objects, each with a 'name' and a (potentially empty) 'email' string attribute. List of dependencies, as objects with the following attributes: * package Required. Must exactly match the contents of the 'name' element in the referenced package's package.xml file. * version_lt Optional. The dependency to the package is restricted to versions less than the stated version number. * version_lte Optional. The dependency to the package is restricted to versions less or equal than the stated version number. * version_eq Optional. The dependency to the package is restricted to a version equal than the stated version number. * version_gte Optional. The dependency to the package is restricted to versions greater or equal than the stated version number. * version_gt Optional. The dependency to the package is restricted to versions greater than the stated version number. * condition Optional. Conditional expression as documented in REP149. List of conflicts, format identical to dependencies. List of things this item is considered by its author to replace. The format is identical to dependencies. List of strings. Relative path to an icon file. String representing the name of the main Python class this item creates/represents. String representing the name of the subdirectory this content item is located in. If empty, the item is in a directory named the same as the content item. List of files associated with this item. The meaning of each file is implementation-defined. Dictionary of lists of content items: defined recursively, each item is itself a Metadata object. See package.xml file format documentation for details. String representing the minimum version of FreeCAD needed for this item. If unset it will be 0.0.0. String representing the maximum version of FreeCAD needed for this item. If unset it will be 0.0.0. String representing the minimum version of Python needed for this item. If unset it will be 0.0.0. getLastSupportedFreeCADVersion() -> str or None\n Search through all content package items, and determine if a maximum supported version of FreeCAD is set. Returns None if no maximum version is set, or if *any* content item fails to provide a maximum version (implying that that content item will work with all known versions). getFirstSupportedFreeCADVersion() -> str or None\n Search through all content package items, and determine if a minimum supported version of FreeCAD is set. Returns 0.0 if no minimum version is set, or if *any* content item fails to provide a minimum version (implying that that content item will work with all known versions. Technically limited to 0.20 as the lowest known version since the metadata standard was added then). supportsCurrentFreeCAD() -> bool\n Returns False if this metadata object directly indicates that it does not support the current version of FreeCAD, or True if it makes no indication, or specifically indicates that it does support the current version. Does not recurse into Content items. getGenericMetadata(name) -> list\n Get the list of GenericMetadata objects with key 'name'. Generic metadata objects are Python objects with a string 'contents' and a dictionary of strings, 'attributes'. They represent unrecognized simple XML tags in the metadata file. addContentItem(content_type,metadata)\n Add a new content item of type 'content_type' with metadata 'metadata'. removeContentItem(content_type,name)\n Remove the content item of type 'content_type' with name 'name'. addMaintainer(name, email)\n Add a new Maintainer. removeMaintainer(name, email)\n Remove the Maintainer. addLicense(short_code,path)\n Add a new License. removeLicense(short_code)\n Remove the License. addUrl(url_type,url,branch)\n Add a new Url or type 'url_type' (which should be one of 'repository', 'readme',\n 'bugtracker', 'documentation', or 'webpage') If type is 'repository' you\n must also specify the 'branch' parameter. removeUrl(url_type,url)\n Remove the Url. addAuthor(name, email)\n Add a new Author with name 'name', and optionally email 'email'. removeAuthor(name, email)\n Remove the Author. addDepend(name, kind, optional)\n Add a new Dependency on package 'name' of kind 'kind' (optional, one of 'auto' (the default),\n 'internal', 'addon', or 'python'). removeDepend(name, kind)\n Remove the Dependency on package 'name' of kind 'kind' (optional - if unspecified any\n matching name is removed). addConflict(name, kind)\n Add a new Conflict. See documentation for addDepend(). removeConflict(name, kind)\n Remove the Conflict. See documentation for removeDepend(). addReplace(name)\n Add a new Replace. removeReplace(name)\n Remove the Replace. addTag(tag)\n Add a new Tag. removeTag(tag)\n Remove the Tag. addFile(filename)\n Add a new File. removeFile(filename)\n Remove the File. write(filename)\n Write the metadata to the given file as XML data. public: MetadataPy(const Metadata & pla, PyTypeObject *T = &Type) :PyObjectBase(new Metadata(pla),T){} Metadata value() const { return *(getMetadataPtr()); }