Metadata-Version: 1.1
Name: packtools
Version: 0.7.4
Summary: Handle SPS packages like a breeze.
Home-page: http://docs.scielo.org
Author: Gustavo Fonseca
Author-email: gustavo.fonseca@scielo.org
License: BSD License
Description: scielo.packtools
        ================
        
        Canivete suiço para a inspeção de pacotes SPS.
        
        
        Instalação
        ----------
        
        Python Package Index (recomendado):
        
        ```bash
        pip install packtools
        ```
        
        Pip + git (versão de desenvolvimento):
        
        ```bash
        pip install -e git+git://github.com/scieloorg/packtools.git#egg=packtools
        ```
        
        Repositório de códigos (versão de desenvolvimento):
        
        ```bash
        git clone https://github.com/scieloorg/packtools.git
        cd packtools 
        python setup.py install
        ```
        
        
        Configuração do Catálogo XML
        ----------------------------
        
        Um Catálogo XML é um mecanismo de *lookup* que pode ser utilizado para evitar que requisições de 
        rede sejam realizadas para carregar DTDs externas. 
        
        Por questões de desempenho e segurança, as instâncias de `stylechecker.XML` não realizam 
        conexões de rede, portanto é extremamente recomendável que seja configurado um Catálogo XML,
        que traduz ids públicos para uris de arquivos locais.
        
        O `packtools` já apresenta um catálogo padrão, que para ser utilizado basta definir a
        variável de ambiente `XML_CATALOG_FILES` com o caminho absoluto para 
        `packtools/catalogs/scielo-publishing-schema.xml`.
        
        Mais informações em http://xmlsoft.org/catalog.html#Simple
        
        
        Utilitário `stylechecker`
        -------------------------
        
        Após a instalação, o programa `stylechecker` deverá estar disponível no seu emulador de terminal. 
        Esse programa realiza a validação de um determinado XML no formato SPS contra a DTD, e 
        apresenta uma lista dos erros encontrados. Também é possível *anotar* os erros encontrados em uma
        cópia do XML em validação, por meio do argumento opcional `--annotated`.
        
        O utilitário `stylechecker` tenta carregar a DTD externa, especificada na declaração DOCTYPE do 
        XML. Para evitar esse comportamento, utilize a opção `--nonetwork`.
        
        A função *ajuda* pode ser utilizada com a opção `-h`, conforme o exemplo:
        
        ```bash
        $ stylechecker -h
        usage: stylechecker [-h] [--annotated] [--nonetwork] [--assetsdir ASSETSDIR]
                            [--version]
                            XML [XML ...]
        
        stylechecker cli utility
        
        positional arguments:
          XML                   filesystem path or URL to the XML
        
        optional arguments:
          -h, --help            show this help message and exit
          --annotated           reproduces the XML with notes at elements that have
                                errors
          --nonetwork           prevents the retrieval of the DTD through the network
          --assetsdir ASSETSDIR
                                lookup, at the given directory, for each asset
                                referenced by the XML
          --version             show program's version number and exit
        ```
        
        
        Exemplo do resultado da validação:
        
        ```bash
        $ stylechecker 0034-8910-rsp-48-2-0206.xml
        [
          {
            "_xml": "0034-8910-rsp-48-2-0206.xml",
            "dtd_errors": [
              "Value \"foo\" for attribute ref-type of xref is not among the enumerated set"
            ],
            "is_valid": false,
            "sps_errors": [
              "Element 'abstract': Unexpected attribute xml:lang.",
              "Element 'article-title': Unexpected attribute xml:lang.",
              "Element 'counts': Missing element or wrong value in equation-count.",
              "Element 'xref', attribute ref-type: Invalid value \"foo\".",
              "Element 'person-group': Missing attribute person-group-type.",
              "Element 'fn': Missing attribute fn-type.",
              "Element 'article': Missing SPS version at the attribute specific-use."
            ]
          }
        ]
        ```
        
        
        
        History
        =======
        
        0.7.4 (2015-06-19)
        ------------------
        
        * Fixed bug that would cause page counts to be reported as error when 
          pagination is identified with elocation-id [#51].
        * Added support for creative commons IGO licenses (sps-1.2 only). 
        * Fixed bug that would cause funding-group validation to raise false positives.
        
        
        0.7.3 (2015-05-18)
        ------------------
        
        * Validating the minimum set of elements required for references of type 
          journal [http://git.io/vUSp6].
        * Added validation of //aff/country/@country attributes for XMLs under 
          sps-1.2 spec.
        
        
        0.7.2 (2015-04-30)
        ------------------
        
        * Fixes a bug in which the occurrence of empty award-id, 
          fn[@fn-type="financial-disclosure"] or ack could lead stylechecker to crash.
        
        
        0.7.1 (2015-04-29)
        ------------------
        
        * Fixes a bug that report *page-count* as invalid when fpage or lpage values 
          are non-digit.
        * Fixes a bug that mark as invalid XMLs containing use-licenses with 
          https scheme or missing trailing slashes.
        * Changes the funding-group validation algorithm. 
        * Checking for funding-statement when fn[fn-type="financial-disclosure"] is 
          present.
        
        
        0.7 (2015-03-13)
        ----------------
        
        * Added SciELO PS 1.2 support.
        * Added the apparent sourceline of the element raising validation errors 
          (stylechecker).
        * Added the option *--nocolors* to prevent stylechecker output from being 
          colorized by ANSI escape sequences.
        * stylechecker now prints log messages to stdout. The option *--loglevel* 
          should be used to define the log level. Options are: DEBUG, INFO, WARNING, 
          ERROR or CRITICAL.
        * SciELO PS 1.2 schematron uses EXSLT querybinding.
        * Better error handling while analyzing multiple XML files with stylechecker.
        
        
        0.6.4 (2015-02-03)
        ------------------
        
        * Fixes a bug that causes malfunctioning on stylechecker
          while expanding wildcards on windows.
        * Major semantic changes at *--assetsdir* options. Now it is always turned ON,
          and the option is used to set the lookup basedir. By default,
          the XML basedir is used.
        
        
        0.6.3 (2015-02-02)
        ------------------
        
        * stylechecker CLI utility overhaul:
          * The basic output is now presented as JSON structure. 
          * The option *--assetsdir* lookups, in the given dir, for each asset referenced in
              XML. The *--annotated* option now writes the output to a file. The
              utility now takes more than one XML a time.
          * *pygments*, if installed, will be used to display pretty JSON outputs.
        
        
        0.6.2 (2015-01-23)
        ------------------
        
        * Added method `XMLValidator.lookup_assets`.
        * Added property `XMLValidator.assets`. 
        * Fixed minor issue that would cause //element-citation[@publication-type="report"] 
          to be reported as invalid.
        * Fixed minor issue that would erroneously identify an element-citation element 
          as not being child of element ref.
        
        
        0.6.1 (2014-11-28)
        ------------------
        
        * Minor fix to implement changes from SciELO PS 1.1.1.
        
        
        0.6 (2014-10-28)
        ----------------
        
        * Python 3 support.
        * Project-wide code refactoring.
        * `packtools.__version__` attribute to get the package version.
        * Distinction between classes of error with the attribute `StyleError.level`.
        
        
        0.5 (2014-09-29)
        ----------------
        
        * Basic implementation of XML style rules according to SciELO PS version 1.1.
        * `stylechecker` and `packbuilder` console utilities.
        * Major performance improvements on `XMLValidator` instantiation, when used
          with long-running processes (9.5x).
        
        
Platform: UNKNOWN
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3.3
Classifier: Programming Language :: Python :: 3.4
Classifier: Topic :: Software Development :: Libraries :: Python Modules
