Skip to content

Commit

Permalink
Remove functionality to work with json files.
Browse files Browse the repository at this point in the history
  • Loading branch information
serhii-londar committed Sep 19, 2024
1 parent 37aaffa commit 868d0dc
Show file tree
Hide file tree
Showing 6 changed files with 6 additions and 96 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -130,21 +130,6 @@ class CrowdinContentDeliveryAPI: BaseAPI {
}
}

func getJson(filePath: String, etag: String?, timestamp: TimeInterval?, completion: @escaping CrowdinAPIStringsCompletion) {
self.getFile(filePath: filePath, etag: etag, timestamp: timestamp) { (data, response, error) in
let etag = (response as? HTTPURLResponse)?.allHeaderFields[Strings.etag.rawValue] as? String
if let data = data {
guard let strings = try? JSONSerialization.jsonObject(with: data, options: .fragmentsAllowed) as? [String: String] else {
completion(nil, etag, error)
return
}
completion(strings, etag, nil)
} else {
completion(nil, etag, error)
}
}
}

// MARK - Mapping download methods:
func getStringsMapping(filePath: String, etag: String?, timestamp: TimeInterval?, completion: @escaping CrowdinAPIStringsMappingCompletion) {
self.getFile(filePath: filePath, etag: etag, timestamp: timestamp) { (data, _, error) in
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -72,28 +72,6 @@ final class LocalLocalizationExtractor {
}
setupPluralsBundle()
}

static func extractLocalizationJSONFile(to path: String) {
let json = self.extractLocalizationJSON()
guard let data = try? JSONSerialization.data(withJSONObject: json, options: .prettyPrinted) else { return }
try? data.write(to: URL(fileURLWithPath: path))
}

static func extractLocalizationJSON() -> [String: Any] {
var result = [String: Any]()
self.allLocalizations.forEach { (localization) in
let extractor = LocalLocalizationExtractor(localization: localization)
var dict = [String: Any]()
if !extractor.localizationDict.isEmpty {
dict[Keys.strings.rawValue] = extractor.localizationDict
}
if !extractor.localizationPluralsDict.isEmpty {
dict[Keys.plurals.rawValue] = extractor.localizationPluralsDict
}
result[localization] = dict
}
return result
}

func extractLocalizationStrings(to path: String) -> StringsFile {
let file = StringsFile(path: path + String.pathDelimiter + localization + FileType.strings.extension)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,10 +32,6 @@ extension String {
hasSuffix(FileExtensions.xliff.extension)
}

var isJson: Bool {
hasSuffix(FileExtensions.json.extension)
}

var isXcstrings: Bool {
hasSuffix(FileExtensions.xcstrings.extension)
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,17 +30,16 @@ class CrowdinLocalizationDownloader: CrowdinDownloaderProtocol {
let strings = files.filter({ $0.isStrings })
let plurals = files.filter({ $0.isStringsDict })
let xliffs = files.filter({ $0.isXliff })
let jsons = files.filter({ $0.isJson })
let xcstrings = files.filter({ $0.isXcstrings })
self.download(strings: strings, plurals: plurals, xliffs:xliffs, jsons: jsons, xcstrings: xcstrings, with: hash, timestamp: timestamp, for: localization)
self.download(strings: strings, plurals: plurals, xliffs:xliffs, xcstrings: xcstrings, with: hash, timestamp: timestamp, for: localization)
} else if let error = error {
self.errors = [error]
self.completion?(nil, nil, self.errors)
}
}
}

func download(strings: [String], plurals: [String], xliffs: [String], jsons: [String], xcstrings: [String], with hash: String, timestamp: TimeInterval?, for localization: String) {
func download(strings: [String], plurals: [String], xliffs: [String], xcstrings: [String], with hash: String, timestamp: TimeInterval?, for localization: String) {
self.operationQueue.cancelAllOperations()

self.contentDeliveryAPI = CrowdinContentDeliveryAPI(hash: hash, session: URLSession.shared)
Expand Down Expand Up @@ -87,17 +86,6 @@ class CrowdinLocalizationDownloader: CrowdinDownloaderProtocol {
operationQueue.addOperation(download)
}

jsons.forEach { filePath in
let download = CrowdinJsonDownloadOperation(filePath: filePath, localization: localization, timestamp: timestamp, contentDeliveryAPI: contentDeliveryAPI)
download.completion = { [weak self] (strings, _, error) in
guard let self = self else { return }
self.add(strings: strings)
self.add(error: error)
}
completionBlock.addDependency(download)
operationQueue.addOperation(download)
}

xcstrings.forEach { filePath in
let download = CrowdinXcstringsDownloadOperation(filePath: filePath,
localization: localization,
Expand Down

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,8 @@

import Foundation

typealias CrowdinDownloadOperationCompletion = ([String: String]?, [AnyHashable: Any]?, Error?) -> Void

public struct Localizations: Codable {
public let sourceLanguage: String
public let version: String
Expand Down Expand Up @@ -170,10 +172,10 @@ class XCStringsStorage {
class CrowdinXcstringsDownloadOperation: CrowdinDownloadOperation {
var timestamp: TimeInterval?
let eTagStorage: AnyEtagStorage
var completion: CrowdinJsonDownloadOperationCompletion? = nil
var completion: CrowdinDownloadOperationCompletion? = nil
let localization: String

init(filePath: String, localization: String, language: String, timestamp: TimeInterval?, contentDeliveryAPI: CrowdinContentDeliveryAPI, completion: CrowdinJsonDownloadOperationCompletion?) {
init(filePath: String, localization: String, language: String, timestamp: TimeInterval?, contentDeliveryAPI: CrowdinContentDeliveryAPI, completion: CrowdinDownloadOperationCompletion?) {
self.localization = localization
self.timestamp = timestamp
self.eTagStorage = FileEtagStorage(localization: language)
Expand Down

0 comments on commit 868d0dc

Please sign in to comment.