FileCategory - Категория файлов общего типа
==============================================

.. currentmodule:: axioma.core.dp

.. class:: FileCategory

	Категория файлов общего типа

		.. method:: FileCategory()

			Конструктор

		.. method:: FileCategory(prototype)

			Конструктор

			:param prototype: прототип описания источника данных
			:type prototype: :class:`~axioma.core.dp.FileDefinition`

		.. method:: FileCategory(extensions, description, prototype)

			Конструктор

			:param extensions: список расширений для данной файловой категории
			:type extensions: :class:`list` [:class:`str`]
			:param description: текстовое описание данной файловой категории
			:type description: :class:`str`
			:param prototype: прототип описания источника данных
			:type prototype: :class:`~axioma.core.dp.FileDefinition`

		.. method:: extensions()

			:return: список поддерживаемых расширений файлов
			:rtype: :class:`list` [:class:`str`]

		.. method:: description()

			:return: текстовое описание данной файловой категории
			:rtype: :class:`str`

		.. method:: fileDefPrototype()

			:return: прототип описания источника данных
			:rtype: :class:`str`

		.. method:: setExtensions(extensions)

			Задать список расширений для данной файловой категории

			:param extensions: список поддерживаемых расширений файлов
			:type extensions: :class:`list` [:class:`str`]

		.. method:: setDescription(description)

			Задать текстовое описание данной файловой категории

			:param description: текстовое описание данной файловой категории
			:type description: :class:`str`

		.. method:: hasExtension(extension)

			:param extension: расширение файлов
			:type extension: :class:`str`
			:return: содержит ли заданный тип файлов
			:rtype: :class:`bool`


FileCategoriesList - список категорий файлов
================================================

.. currentmodule:: axioma.core.dp

.. class:: FileCategoriesList

	Список категорий файлов

		.. py:method:: FileCategoriesList()

			Конструктор

		.. py:method:: asList()

			Преобразование внутреннего представления в список категорий

			:rtype: :class:`list` [:class:`~axioma.core.dp.FileCategory`]

		.. py:method:: listAllExtensions()

			Возвращает список всех расширений по всем включенным категориям

			:rtype: :class:`list` [ :class:`str` ]


Пример использования:

  .. code-block:: python

    import axioma.core
    from axioma.core.dp import *
    
    # Возьмем файловый провайдер
    dataProvider = axioma.app.core.dataProviderById("GdalDataProvider")
    if dataProvider is not None:
      cats = dataProvider.fileTypeCategories()
      for cat in cats.asList():
				# Какие категоврии и расширения присутствуют
        print(cat, cat.description(), cat.extensions())
