yaml extensions and ordereddict are now imported from asottile.

This commit is contained in:
Anthony Sottile 2014-04-12 16:12:10 -07:00
parent c0a0a21680
commit e58d28aad3
8 changed files with 18 additions and 99 deletions

View file

@ -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):

View file

@ -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__,)

View file

@ -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

View file

@ -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)