Edit File: config.pyo
� 3�abc�����������@@�s����d��d�l��m�Z�m�Z�d��d�l�Z�d��d�l�Z�d��d�l�Z�d��d�l�m�Z�d��d�l�m �Z �d��d�l �m�Z�d��d�l�m �Z �m�Z�d��d�l�m�Z�e�e�d���Z�d ����Z�e�d ���Z�d�e�f�d�������YZ�d �e�f�d�������YZ�d�e�f�d�������YZ�d�S(���i����(���t���absolute_importt���unicode_literalsN(���t���defaultdict(���t���partial(���t ���import_module(���t���DistutilsOptionErrort���DistutilsFileError(���t���string_typesc��� ������C@�s����d�d�l��m�}�m�}�t�j�j�|����}��t�j�j�|����sM�t�d�|������n��t�j����}�t�j �t�j�j �|������zl�|����}�|�r��|�j����n�g��}�|��|�k�r��|�j�|����n��|�j �|�d�|��t�|�|�j�d�|��}�Wd�t�j �|���Xt�|���S(���u,��Read given configuration file and returns options from it as a dict. :param str|unicode filepath: Path to configuration file to get options from. :param bool find_others: Whether to search for other configuration files which could be on in various places. :param bool ignore_option_errors: Whether to silently ignore options, values of which could not be resolved (e.g. due to exceptions in directives such as file:, attr:, etc.). If False exceptions are propagated as expected. :rtype: dict i����(���t���Distributiont ���_Distributionu%���Configuration file %s does not exist.t ���filenamest���ignore_option_errorsN(���t���setuptools.distR���R ���t���ost���patht���abspatht���isfileR���t���getcwdt���chdirt���dirnamet���find_config_filest���appendt���parse_config_filest���parse_configurationt���command_optionst���configuration_to_dict( ���t���filepatht���find_othersR���R���R ���t���current_directoryt���distR ���t���handlers(����(����s5���/usr/lib/python2.7/site-packages/setuptools/config.pyt���read_configuration ���s$���� c���������C@�s����t��t���}�x�|��D]w�}�|�j�}�|�j�}�x\�|�j�D]Q�}�t�|�d�|�d���}�|�d�k�ro�t�|�|���}�n �|����}�|�|�|�|�<q5�Wq�W|�S(���u����Returns configuration data gathered by given handlers as a dict. :param list[ConfigHandler] handlers: Handlers list, usually from parse_configuration() :rtype: dict u���get_%sN(���R���t���dictt���section_prefixt ���target_objt���set_optionst���getattrt���None(���R���t���config_dictt���handlert ���obj_aliasR"���t���optiont���gettert���value(����(����s5���/usr/lib/python2.7/site-packages/setuptools/config.pyR���<���s���� c���������C@�sE���t��|��j�|�|���}�|�j����t�|��|�|���}�|�j����|�|�f�S(���u���Performs additional parsing of configuration options for a distribution. Returns a list of used option handlers. :param Distribution distribution: :param dict command_options: :param bool ignore_option_errors: Whether to silently ignore options, values of which could not be resolved (e.g. due to exceptions in directives such as file:, attr:, etc.). If False exceptions are propagated as expected. :rtype: list (���t���ConfigMetadataHandlert���metadatat���parset���ConfigOptionsHandler(���t���distributionR���R���t���metat���options(����(����s5���/usr/lib/python2.7/site-packages/setuptools/config.pyR���Y���s���� t ���ConfigHandlerc�����������B@�s����e��Z�d��Z�d�Z�i��Z�e�d���Z�e�d������Z �d����Z �e�d�d�����Z�e�d������Z �e�d������Z�e�d������Z�e�d ������Z�e�d ������Z�e�d������Z�e�d������Z�e�d�d �����Z�d����Z�d����Z�RS(���u1���Handles metadata supplied in configuration files.c���������C@�s����i��}�|��j��}�xT�|�j����D]F�\�}�}�|�j�|���s=�q�n��|�j�|�d���j�d���}�|�|�|�<q�W|�|��_�|�|��_�|�|��_�g��|��_�d��S(���Nu����u���.( ���R!���t���itemst ���startswitht���replacet���stripR���R"���t���sectionsR#���(���t���selfR"���R2���R���R8���R!���t���section_namet���section_options(����(����s5���/usr/lib/python2.7/site-packages/setuptools/config.pyt���__init__����s���� c���������C@�s���t��d�|��j�j�����d�S(���u.���Metadata item name to parser function mapping.u!���%s must provide .parsers propertyN(���t���NotImplementedErrort ���__class__t���__name__(���R9���(����(����s5���/usr/lib/python2.7/site-packages/setuptools/config.pyt���parsers����s����c��� ������C@�s��t�����}�|��j�}�|��j�j�|�|���}�t�|�|�|���}�|�|�k�rT�t�|�����n��|�r^�d��St�}�|��j�j�|���}�|�r��y�|�|���}�Wq��t�k �r��t �}�|��j �s�����q��q��Xn��|�r��d��St�|�d�|�d����}�|�d��k�r��t�|�|�|���n �|�|���|��j �j�|���d��S(���Nu���set_%s(���t���tupleR"���t���aliasest���getR$���t���KeyErrort���FalseR@���t ���Exceptiont���TrueR���R%���t���setattrR#���R���( ���R9���t���option_nameR+���t���unknownR"���t ���current_valuet���skip_optiont���parsert���setter(����(����s5���/usr/lib/python2.7/site-packages/setuptools/config.pyt���__setitem__����s0���� u���,c���������C@�sf���t��|�t���r�|�Sd�|�k�r.�|�j����}�n�|�j�|���}�g��|�D]�}�|�j����rD�|�j����^�qD�S(���u����Represents value as a list. Value is split either by separator (defaults to comma) or by lines. :param value: :param separator: List items separator character. :rtype: list u��� (���t ���isinstancet���listt ���splitlinest���splitR7���(���t���clsR+���t ���separatort���chunk(����(����s5���/usr/lib/python2.7/site-packages/setuptools/config.pyt���_parse_list����s���� c���������C@�sw���d�}�i��}�xd�|��j��|���D]S�}�|�j�|���\�}�}�}�|�|�k�rY�t�d�|�����n��|�j����|�|�j����<q�W|�S(���uP���Represents value as a dict. :param value: :rtype: dict u���=u(���Unable to parse option value to dict: %s(���RW���t ���partitionR���R7���(���RT���R+���RU���t���resultt���linet���keyt���sept���val(����(����s5���/usr/lib/python2.7/site-packages/setuptools/config.pyt���_parse_dict����s����c���������C@�s���|�j�����}�|�d�k�S(���uQ���Represents value as boolean. :param value: :rtype: bool u���1u���trueu���yes(���u���1u���trueu���yes(���t���lower(���RT���R+���(����(����s5���/usr/lib/python2.7/site-packages/setuptools/config.pyt���_parse_bool����s����c���������@�sr���d�}�t��|�t���s�|�S|�j�|���s,�|�S|�t�|���}�d����|�j�d���D��}�d�j����f�d����|�D����S(���ui��Represents value as a string, allowing including text from nearest files using `file:` directive. Directive is sandboxed and won't reach anything outside directory with setup.py. Examples: file: LICENSE file: README.rst, CHANGELOG.md, src/file.txt :param str value: :rtype: str u���file:c���������s@�s'���|��]�}�t��j�j�|�j������Vq�d��S(���N(���R ���R���R���R7���(���t���.0R���(����(����s5���/usr/lib/python2.7/site-packages/setuptools/config.pys ���<genexpr>��s����u���,u��� c���������3@�sE���|��];�}����j��|���s�t�r�t�j�j�|���r����j�|���Vq�d��S(���N(���t ���_assert_localRG���R ���R���R���t ���_read_file(���Ra���R���(���RT���(����s5���/usr/lib/python2.7/site-packages/setuptools/config.pys ���<genexpr> ��s���(���RP���R���R5���t���lenRS���t���join(���RT���R+���t���include_directivet���spect ���filepaths(����(���RT���s5���/usr/lib/python2.7/site-packages/setuptools/config.pyt���_parse_file����s����c���������C@�s,���|��j��t�j������s(�t�d�|������n��d��S(���Nu#���`file:` directive can not access %s(���R5���R ���R���R���(���R���(����(����s5���/usr/lib/python2.7/site-packages/setuptools/config.pyRb�����s����c���������C@�s,���t��j�|��d�d����}�|�j����SWd��QXd��S(���Nt���encodingu���utf-8(���t���iot���opent���read(���R���t���f(����(����s5���/usr/lib/python2.7/site-packages/setuptools/config.pyRc�����s����c���������C@�s����d�}�|�j��|���s�|�S|�j�|�d���j����j�d���}�|�j����}�d�j�|���}�|�p^�d�}�t�j�j�d�t �j ������z�t�|���}�t�|�|���}�Wd�t�j�d�t�_�X|�S(���u����Represents value as a module attribute. Examples: attr: package.attr attr: package.module.attr :param str value: :rtype: str u���attr:u����u���.u���__init__i����Ni���( ���R5���R6���R7���RS���t���popRe���t���sysR���t���insertR ���R���R���R$���(���RT���R+���t���attr_directivet ���attrs_patht ���attr_namet���module_namet���module(����(����s5���/usr/lib/python2.7/site-packages/setuptools/config.pyt���_parse_attr��s����!c���������@�s������f�d����}�|�S(���u����Returns parser function to represents value as a list. Parses a value applying given methods one after another. :param parse_methods: :rtype: callable c���������@�s'���|��}�x����D]�}�|�|���}�q �W|�S(���N(����(���R+���t���parsedt���method(���t ���parse_methods(����s5���/usr/lib/python2.7/site-packages/setuptools/config.pyR.���B��s���� (����(���RT���Rz���R.���(����(���Rz���s5���/usr/lib/python2.7/site-packages/setuptools/config.pyt���_get_parser_compound9��s���� c���������C@�sL���i��}�|�p�d����}�x0�|�j�����D]"�\�}�\�}�}�|�|���|�|�<q"�W|�S(���u����Parses section options into a dictionary. Optionally applies a given parser to values. :param dict section_options: :param callable values_parser: :rtype: dict c���������S@�s���|��S(���N(����(���R]���(����(����s5���/usr/lib/python2.7/site-packages/setuptools/config.pyt���<lambda>W��t����(���R4���(���RT���R;���t ���values_parserR+���R[���t���_R]���(����(����s5���/usr/lib/python2.7/site-packages/setuptools/config.pyt���_parse_section_to_dictL��s ���� c���������C@�sI���xB�|�j�����D]4�\�}�\�}�}�y�|�|��|�<Wq �t�k �r@�q �Xq �Wd�S(���uQ���Parses configuration file section. :param dict section_options: N(���R4���RD���(���R9���R;���t���nameR���R+���(����(����s5���/usr/lib/python2.7/site-packages/setuptools/config.pyt ���parse_section\��s ���� c���������C@�s����x��|��j��j����D]y�\�}�}�d�}�|�r5�d�|�}�n��t�|��d�|�j�d�d���d���}�|�d�k�r�t�d�|��j�|�f�����n��|�|���q�Wd�S(���uT���Parses configuration file items from one or more related sections. u����u���_%su���parse_section%su���.u���__u0���Unsupported distribution option section: [%s.%s]N(���R8���R4���R$���R6���R%���R���R!���(���R9���R:���R;���t���method_postfixt���section_parser_method(����(����s5���/usr/lib/python2.7/site-packages/setuptools/config.pyR.���h��s���� N(���R?���t ���__module__t���__doc__R%���R!���RB���RE���R<���t���propertyR@���RO���t���classmethodRW���R^���R`���Ri���t���staticmethodRb���Rc���Rw���R{���R����R����R.���(����(����(����s5���/usr/lib/python2.7/site-packages/setuptools/config.pyR3���s���s&��� & R,���c�����������B@�sN���e��Z�d��Z�i�d�d�6d�d�6d�d�6d�d�6Z�e�Z�e�d ������Z�d ����Z�RS(���u���metadatau���urlu ���home_pageu���descriptionu���summaryu���classifiersu ���classifieru ���platformsu���platformc���������C@�s{���|��j��}�|��j�}�|��j�}�i�|�d�6|�d�6|�d�6|�d�6|�d�6|��j�|�|���d�6|�d�6|�d�6|�d �6|��j�d �6|�d�6S(���u.���Metadata item name to parser function mapping.u ���platformsu���keywordsu���providesu���requiresu ���obsoletesu���classifiersu���licenseu���descriptionu���long_descriptionu���versionu���project_urls(���RW���Ri���R^���R{���t���_parse_version(���R9���t ���parse_listt ���parse_filet ���parse_dict(����(����s5���/usr/lib/python2.7/site-packages/setuptools/config.pyR@������s���� c���������C@�sq���|��j��|���}�t�|���r'�|����}�n��t�|�t���sm�t�|�d���r`�d�j�t�t�|�����}�qm�d�|�}�n��|�S(���uS���Parses `version` option value. :param value: :rtype: str u���__iter__u���.u���%s(���Rw���t���callableRP���R���t���hasattrRe���t���mapt���str(���R9���R+���t���version(����(����s5���/usr/lib/python2.7/site-packages/setuptools/config.pyR�������s���� ( ���R?���R����R!���RB���RE���t���strict_modeR����R@���R����(����(����(����s5���/usr/lib/python2.7/site-packages/setuptools/config.pyR,������s��� R/���c�����������B@�s\���e��Z�d��Z�e�d������Z�d����Z�d����Z�d����Z�d����Z�d����Z �d����Z �d����Z�RS( ���u���optionsc���������C@�s����|��j��}�t�|��j��d�d��}�|��j�}�|��j�}�i�|�d�6|�d�6|�d�6|�d�6|�d�6|�d�6|�d �6|�d �6|�d�6|�d�6|�d �6|�d�6|�d�6|�d�6|��j�d�6|��j�d�6|�d�6S(���u.���Metadata item name to parser function mapping.RU���u���;u���zip_safeu���use_2to3u���include_package_datau���package_diru���use_2to3_fixersu���use_2to3_exclude_fixersu���convert_2to3_doctestsu���scriptsu���eager_resourcesu���dependency_linksu���namespace_packagesu���install_requiresu���setup_requiresu ���tests_requireu���packagesu���entry_pointsu ���py_modules(���RW���R���R`���R^���t���_parse_packagesRi���(���R9���R����t���parse_list_semicolont ���parse_boolR����(����(����s5���/usr/lib/python2.7/site-packages/setuptools/config.pyR@������s,���� c���������C@�sZ���d�}�|�j��|���s"�|��j�|���S|��j�|��j�j�d�i������}�d�d�l�m�}�|�|����S(���uT���Parses `packages` option value. :param value: :rtype: list u���find:u ���packages.findi����(���t ���find_packages(���R5���RW���t���parse_section_packages__findR8���RC���t ���setuptoolsR����(���R9���R+���t���find_directivet���find_kwargsR����(����(����s5���/usr/lib/python2.7/site-packages/setuptools/config.pyR�������s���� c���������C@�s����|��j��|�|��j���}�d�d�d�g�}�t�g��|�j����D]*�\�}�}�|�|�k�r4�|�r4�|�|�f�^�q4���}�|�j�d���}�|�d�k �r��|�d�|�d�<n��|�S(���u����Parses `packages.find` configuration file section. To be used in conjunction with _parse_packages(). :param dict section_options: u���whereu���includeu���excludei����N(���R����RW���R ���R4���RC���R%���(���R9���R;���t���section_datat ���valid_keyst���kt���vR����t���where(����(����s5���/usr/lib/python2.7/site-packages/setuptools/config.pyR�������s����@c���������C@�s#���|��j��|�|��j���}�|�|��d�<d�S(���u`���Parses `entry_points` configuration file section. :param dict section_options: u���entry_pointsN(���R����RW���(���R9���R;���Rx���(����(����s5���/usr/lib/python2.7/site-packages/setuptools/config.pyt���parse_section_entry_points��s����c���������C@�sB���|��j��|�|��j���}�|�j�d���}�|�r>�|�|�d�<|�d�=n��|�S(���Nu���*u����(���R����RW���RC���(���R9���R;���Rx���t���root(����(����s5���/usr/lib/python2.7/site-packages/setuptools/config.pyt���_parse_package_data��s���� c���������C@�s���|��j��|���|��d�<d�S(���u`���Parses `package_data` configuration file section. :param dict section_options: u���package_dataN(���R����(���R9���R;���(����(����s5���/usr/lib/python2.7/site-packages/setuptools/config.pyt���parse_section_package_data��s����c���������C@�s���|��j��|���|��d�<d�S(���uh���Parses `exclude_package_data` configuration file section. :param dict section_options: u���exclude_package_dataN(���R����(���R9���R;���(����(����s5���/usr/lib/python2.7/site-packages/setuptools/config.pyt"���parse_section_exclude_package_data��s����c���������C@�s/���t��|��j�d�d��}�|��j�|�|���|��d�<d�S(���ub���Parses `extras_require` configuration file section. :param dict section_options: RU���u���;u���extras_requireN(���R���RW���R����(���R9���R;���R����(����(����s5���/usr/lib/python2.7/site-packages/setuptools/config.pyt���parse_section_extras_require%��s����(���R?���R����R!���R����R@���R����R����R����R����R����R����R����(����(����(����s5���/usr/lib/python2.7/site-packages/setuptools/config.pyR/������s��� (���t ���__future__R����R���Rk���R ���Rp���t���collectionsR���t ���functoolsR���t ���importlibR���t���distutils.errorsR���R���t���setuptools.extern.sixR���RE���R���R���R���t���objectR3���R,���R/���(����(����(����s5���/usr/lib/python2.7/site-packages/setuptools/config.pyt���<module>���s���. ��;