diff options
author | Artur Malabarba <bruce.connor.am@gmail.com> | 2015-01-16 13:07:20 -0200 |
---|---|---|
committer | Artur Malabarba <bruce.connor.am@gmail.com> | 2015-01-16 13:07:20 -0200 |
commit | 574944fa6ca61ce07e0eb059711ead2b74891e44 (patch) | |
tree | facfe1ef83d2eace51dc170a19e8a1e11e70c90f /sx-encoding.el | |
parent | 7a75cd61e822a4895b85bc17780b163bd6876ca7 (diff) | |
parent | 389e433953bba4003b102748dbbf5f8a9b421a51 (diff) |
Merge branch 'master' into more-tests
Diffstat (limited to 'sx-encoding.el')
-rw-r--r-- | sx-encoding.el | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/sx-encoding.el b/sx-encoding.el index 795f175..d8ad2ba 100644 --- a/sx-encoding.el +++ b/sx-encoding.el @@ -1,4 +1,4 @@ -;;; sx-encoding.el --- encoding -*- lexical-binding: t; -*- +;;; sx-encoding.el --- encoding -*- lexical-binding: t; -*- ;; Copyright (C) 2014 Sean Allred @@ -19,10 +19,18 @@ ;;; Commentary: +;; This file handles decoding the responses we get from the API. They +;; are received either as plain-text or as a `gzip' compressed archive. +;; For this, `sx-encoding-gzipped-p' is used to determine if content +;; has been compressed under `gzip'. + ;;; Code: (require 'cl-lib) + +;;;; HTML Encoding + (defcustom sx-encoding-html-entities-plist '(Aacute "Á" aacute "á" Acirc "Â" acirc "â" acute "´" AElig "Æ" aelig "æ" Agrave "À" agrave "à" alefsym "ℵ" Alpha "Α" alpha "α" amp "&" and "∧" @@ -86,6 +94,9 @@ Return the decoded string." (substring ss 1)))))))) (replace-regexp-in-string "&[^; ]*;" get-function string))) + +;;;; Convenience Functions + (defun sx-encoding-normalize-line-endings (string) "Normalize the line endings for STRING. The API returns strings that use Windows-style line endings. @@ -131,6 +142,9 @@ some cases." (cl-map #'vector #'sx-encoding-clean-content-deep data)) (t data)))) + +;;;; GZIP + (defun sx-encoding-gzipped-p (data) "Check for magic bytes in DATA. Check if the first two bytes of a string in DATA match the magic |