<commit_before>//
//  USIGNormalizadorAPI.swift
//  USIGNormalizador
//
//  Created by <NAME> on 9/28/17.
//  Copyright © 2017 GCBA. All rights reserved.
//

import Foundation
import Moya

public enum USIGNormalizadorExclusions: String {
    case AMBA = "almirante_brown,avellaneda,berazategui,berisso,canuelas,ensenada,escobar,esteban_echeverria,ezeiza,florencio_varela,general_rodriguez,general_san_martin,hurlingham,ituzaingo,jose_c_paz,la_matanza,lanus,la_plata,lomas_de_zamora,malvinas_argentinas,marcos_paz,merlo,moreno,moron,pilar,presidente_peron,quilmes,san_fernando,san_isidro,san_miguel,san_vicente,tigre,tres_de_febrero,vicente_lopez"
    case none = ""
}

public enum USIGNormalizadorAPI {
    case normalizar(direccion: String, excluyendo: String?, geocodificar: Bool, max: Int)
    case normalizarCoordenadas(latitud: Double, longitud: Double)
}

extension USIGNormalizadorAPI: TargetType {
    public var baseURL: URL { return URL(string: USIGNormalizadorConfig.endpoint)! }

    public var path: String {
        switch self {
        case .normalizarCoordenadas(_, _):
            fallthrough
        case .normalizar(_, _, _, _):
            return "/normalizar"
        }
    }

    public var method: Moya.Method { return .get }

    public var parameters: [String: Any]? {
        switch self {
        case .normalizar(let direccion, let excluyendo, let geocodificar, let max):
            return ["direccion": direccion, "geocodificar": geocodificar, "maxOptions": max, "exclude": excluyendo ?? ""]
        case .normalizarCoordenadas(let latitud, let longitud):
            return ["lat": latitud, "lng": longitud]
        }
    }

    public var sampleData: Data {
        switch self {
        case .normalizarCoordenadas(_, _):
            fallthrough
        case .normalizar(_, _, _, _):
            return ("{\"direccionesNormalizadas\":[{\"altura\":null,\"cod_calle\":7120,\"cod_calle_cruce\":null,\"cod_partido\":\"caba\"," +
                "\"direccion\":\"GOLETA SANTA CRUZ, CABA, CABA\",\"nombre_calle\":\"GOLETA SANTA CRUZ\",\"nombre_calle_cruce\":null,\"" +
                "nombre_localidad\":\"CABA\",\"nombre_partido\":\"CABA\",\"tipo\":\"calle\"}]}").data(using: .utf8)!
        }
    }

    public var task: Task { return .request }
    public var parameterEncoding: ParameterEncoding { return URLEncoding.default }
}<commit_msg>Added sample data<commit_after>//
//  USIGNormalizadorAPI.swift
//  USIGNormalizador
//
//  Created by <NAME> on 9/28/17.
//  Copyright © 2017 GCBA. All rights reserved.
//

import Foundation
import Moya

public enum USIGNormalizadorExclusions: String {
    case AMBA = "almirante_brown,avellaneda,berazategui,berisso,canuelas,ensenada,escobar,esteban_echeverria,ezeiza,florencio_varela,general_rodriguez,general_san_martin,hurlingham,ituzaingo,jose_c_paz,la_matanza,lanus,la_plata,lomas_de_zamora,malvinas_argentinas,marcos_paz,merlo,moreno,moron,pilar,presidente_peron,quilmes,san_fernando,san_isidro,san_miguel,san_vicente,tigre,tres_de_febrero,vicente_lopez"
    case none = ""
}

public enum USIGNormalizadorAPI {
    case normalizar(direccion: String, excluyendo: String?, geocodificar: Bool, max: Int)
    case normalizarCoordenadas(latitud: Double, longitud: Double)
}

extension USIGNormalizadorAPI: TargetType {
    public var baseURL: URL { return URL(string: USIGNormalizadorConfig.endpoint)! }

    public var path: String {
        switch self {
        case .normalizarCoordenadas(_, _):
            fallthrough
        case .normalizar(_, _, _, _):
            return "/normalizar"
        }
    }

    public var method: Moya.Method { return .get }

    public var parameters: [String: Any]? {
        switch self {
        case .normalizar(let direccion, let excluyendo, let geocodificar, let max):
            return ["direccion": direccion, "geocodificar": geocodificar, "maxOptions": max, "exclude": excluyendo ?? ""]
        case .normalizarCoordenadas(let latitud, let longitud):
            return ["lat": latitud, "lng": longitud]
        }
    }

    public var sampleData: Data {
        switch self {
        case .normalizarCoordenadas(_, _):
            return ("{\"altura\":null,\"cod_calle\":1078,\"cod_calle_cruce\":27017,\"cod_partido\":\"caba\",\"coordenadas\":{\"srid\":4326," + "\"x\":-58.4094824967142,\"y\":-34.601681984424},\"direccion\":\"ANCHORENA, TOMAS MANUEL DE, DR. Y ZELAYA, CABA\"," +
                "\"nombre_calle\":\"ANCHORENA, TOMAS MANUEL DE, DR.\",\"nombre_calle_cruce\":\"ZELAYA\",\"nombre_localidad\":\"CABA\"," +
                "\"nombre_partido\":\"CABA\",\"tipo\":\"calle_y_calle\"}").data(using: .utf8)!
        case .normalizar(_, _, _, _):
            return ("{\"direccionesNormalizadas\":[{\"altura\":null,\"cod_calle\":7120,\"cod_calle_cruce\":null,\"cod_partido\":\"caba\"," +
                "\"direccion\":\"GOLETA SANTA CRUZ, CABA, CABA\",\"nombre_calle\":\"GOLETA SANTA CRUZ\",\"nombre_calle_cruce\":null,\"" +
                "nombre_localidad\":\"CABA\",\"nombre_partido\":\"CABA\",\"tipo\":\"calle\"}]}").data(using: .utf8)!
        }
    }

    public var task: Task { return .request }
    public var parameterEncoding: ParameterEncoding { return URLEncoding.default }
}
{'fraction_non_alphanumeric': 0.14597701149425288, 'fraction_numerical': 0.013601532567049808, 'mean_word_length': 3.5164359861591694, 'pattern_counts': {'":': 48, '<': 5, '<?xml version=': 0, '>': 5, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '240301', 'n_tokens_mistral': 1909, 'n_tokens_neox': 1830, 'n_words': 304}