mirror of
https://github.com/pre-commit/pre-commit.git
synced 2026-01-13 12:30:08 -06:00
Merge pull request #73 from pre-commit/use_asottile_packages
yaml extensions and ordereddict are now imported from asottile.
This commit is contained in:
@@ -4,16 +4,16 @@ import os
|
||||
import pkg_resources
|
||||
import shutil
|
||||
import stat
|
||||
from asottile.ordereddict import OrderedDict
|
||||
from asottile.yaml import ordered_dump
|
||||
from asottile.yaml import ordered_load
|
||||
from plumbum import local
|
||||
|
||||
import pre_commit.constants as C
|
||||
from pre_commit.clientlib.validate_config import CONFIG_JSON_SCHEMA
|
||||
from pre_commit.clientlib.validate_config import load_config
|
||||
from pre_commit.jsonschema_extensions import remove_defaults
|
||||
from pre_commit.ordereddict import OrderedDict
|
||||
from pre_commit.repository import Repository
|
||||
from pre_commit.yaml_extensions import ordered_dump
|
||||
from pre_commit.yaml_extensions import ordered_load
|
||||
|
||||
|
||||
def install(runner):
|
||||
|
||||
@@ -1,10 +0,0 @@
|
||||
from __future__ import absolute_import
|
||||
|
||||
# This module serves only as a shim for OrderedDict
|
||||
|
||||
try:
|
||||
from collections import OrderedDict
|
||||
except ImportError:
|
||||
from ordereddict import OrderedDict
|
||||
|
||||
__all__ = (OrderedDict.__name__,)
|
||||
@@ -1,12 +1,12 @@
|
||||
import contextlib
|
||||
import logging
|
||||
from asottile.ordereddict import OrderedDict
|
||||
from plumbum import local
|
||||
|
||||
import pre_commit.constants as C
|
||||
from pre_commit.clientlib.validate_manifest import load_manifest
|
||||
from pre_commit.hooks_workspace import in_hooks_workspace
|
||||
from pre_commit.languages.all import languages
|
||||
from pre_commit.ordereddict import OrderedDict
|
||||
from pre_commit.prefixed_command_runner import PrefixedCommandRunner
|
||||
from pre_commit.util import cached_property
|
||||
from pre_commit.util import clean_path_on_failure
|
||||
|
||||
@@ -1,31 +0,0 @@
|
||||
import yaml
|
||||
|
||||
from pre_commit.ordereddict import OrderedDict
|
||||
|
||||
|
||||
# Adapted from http://stackoverflow.com/a/21912744/812183
|
||||
|
||||
def ordered_load(stream):
|
||||
class OrderedLoader(yaml.loader.Loader):
|
||||
pass
|
||||
|
||||
def constructor(loader, node):
|
||||
return OrderedDict(loader.construct_pairs(node))
|
||||
OrderedLoader.add_constructor(
|
||||
yaml.resolver.BaseResolver.DEFAULT_MAPPING_TAG,
|
||||
constructor,
|
||||
)
|
||||
return yaml.load(stream, Loader=OrderedLoader)
|
||||
|
||||
|
||||
def ordered_dump(obj, **kwargs):
|
||||
class OrderedDumper(yaml.dumper.SafeDumper):
|
||||
pass
|
||||
|
||||
def dict_representer(dumper, data):
|
||||
return dumper.represent_mapping(
|
||||
yaml.resolver.BaseResolver.DEFAULT_MAPPING_TAG,
|
||||
data.items(),
|
||||
)
|
||||
OrderedDumper.add_representer(OrderedDict, dict_representer)
|
||||
return yaml.dump(obj, Dumper=OrderedDumper, **kwargs)
|
||||
24
setup.py
24
setup.py
@@ -1,21 +1,7 @@
|
||||
import sys
|
||||
from setuptools import find_packages
|
||||
from setuptools import setup
|
||||
|
||||
|
||||
install_requires = [
|
||||
'argparse',
|
||||
'jsonschema',
|
||||
'plumbum',
|
||||
'pyyaml',
|
||||
'simplejson',
|
||||
]
|
||||
|
||||
|
||||
if sys.version_info < (2, 7):
|
||||
install_requires.append('ordereddict')
|
||||
|
||||
|
||||
setup(
|
||||
name='pre_commit',
|
||||
description='A framework for managing and maintaining multi-language pre-commit hooks.',
|
||||
@@ -38,7 +24,15 @@ setup(
|
||||
'resources/pre-commit.sh'
|
||||
]
|
||||
},
|
||||
install_requires=install_requires,
|
||||
install_requires=[
|
||||
'argparse',
|
||||
'asottile.ordereddict',
|
||||
'asottile.yaml',
|
||||
'jsonschema',
|
||||
'plumbum',
|
||||
'pyyaml',
|
||||
'simplejson',
|
||||
],
|
||||
entry_points={
|
||||
'console_scripts': [
|
||||
'pre-commit = pre_commit.run:run',
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
import pytest
|
||||
from asottile.ordereddict import OrderedDict
|
||||
from asottile.yaml import ordered_load
|
||||
|
||||
from pre_commit.clientlib.validate_base import get_validator
|
||||
from pre_commit.ordereddict import OrderedDict
|
||||
from pre_commit.yaml_extensions import ordered_load
|
||||
from testing.util import get_resource_path
|
||||
|
||||
|
||||
|
||||
@@ -4,8 +4,11 @@ import pkg_resources
|
||||
import pytest
|
||||
import shutil
|
||||
import stat
|
||||
from asottile.ordereddict import OrderedDict
|
||||
from asottile.yaml import ordered_dump
|
||||
from plumbum import local
|
||||
|
||||
|
||||
import pre_commit.constants as C
|
||||
from pre_commit import git
|
||||
from pre_commit.clientlib.validate_config import CONFIG_JSON_SCHEMA
|
||||
@@ -17,9 +20,7 @@ from pre_commit.commands import RepositoryCannotBeUpdatedError
|
||||
from pre_commit.commands import uninstall
|
||||
from pre_commit.commands import _update_repository
|
||||
from pre_commit.jsonschema_extensions import apply_defaults
|
||||
from pre_commit.ordereddict import OrderedDict
|
||||
from pre_commit.runner import Runner
|
||||
from pre_commit.yaml_extensions import ordered_dump
|
||||
from testing.auto_namedtuple import auto_namedtuple
|
||||
from testing.util import get_resource_path
|
||||
|
||||
|
||||
@@ -1,35 +0,0 @@
|
||||
import pre_commit.constants as C
|
||||
from pre_commit.ordereddict import OrderedDict
|
||||
from pre_commit.yaml_extensions import ordered_dump
|
||||
from pre_commit.yaml_extensions import ordered_load
|
||||
|
||||
|
||||
def test_ordered_load():
|
||||
ret = ordered_load(
|
||||
'a: herp\n'
|
||||
'c: derp\n'
|
||||
'd: darp\n'
|
||||
'b: harp\n'
|
||||
)
|
||||
# Original behavior
|
||||
assert ret == {'a': 'herp', 'b': 'harp', 'c': 'derp', 'd': 'darp'}
|
||||
# Ordered behavior
|
||||
assert (
|
||||
ret.items() ==
|
||||
[('a', 'herp'), ('c', 'derp'), ('d', 'darp'), ('b', 'harp')]
|
||||
)
|
||||
|
||||
|
||||
def test_ordered_dump():
|
||||
ret = ordered_dump(
|
||||
OrderedDict(
|
||||
(('a', 'herp'), ('c', 'derp'), ('b', 'harp'), ('d', 'darp'))
|
||||
),
|
||||
**C.YAML_DUMP_KWARGS
|
||||
)
|
||||
assert ret == (
|
||||
'a: herp\n'
|
||||
'c: derp\n'
|
||||
'b: harp\n'
|
||||
'd: darp\n'
|
||||
)
|
||||
Reference in New Issue
Block a user