From 0b5d701da0816f5154202c6f1a13bd4b15c5c0dd Mon Sep 17 00:00:00 2001 From: Michell Stuttgart Date: Sat, 30 Mar 2019 11:10:46 -0300 Subject: [PATCH] [IMP] Atualiza doc. para utilizar github pages --- docs/.gitignore | 3 - docs/Makefile | 177 -------------------- docs/{usage.rst => README.md} | 118 +++++++++----- docs/_config.yml | 1 + docs/_static/logo.ico | Bin 4286 -> 0 bytes docs/_static/logo.jpg | Bin 34740 -> 0 bytes docs/authors.rst | 20 --- docs/conf.py | 296 ---------------------------------- docs/contributing.rst | 98 ----------- docs/history.rst | 8 - docs/index.rst | 31 ---- docs/installation.rst | 49 ------ docs/make.bat | 242 --------------------------- 13 files changed, 83 insertions(+), 960 deletions(-) delete mode 100644 docs/.gitignore delete mode 100644 docs/Makefile rename docs/{usage.rst => README.md} (66%) create mode 100644 docs/_config.yml delete mode 100644 docs/_static/logo.ico delete mode 100644 docs/_static/logo.jpg delete mode 100644 docs/authors.rst delete mode 100755 docs/conf.py delete mode 100644 docs/contributing.rst delete mode 100644 docs/history.rst delete mode 100644 docs/index.rst delete mode 100644 docs/installation.rst delete mode 100644 docs/make.bat diff --git a/docs/.gitignore b/docs/.gitignore deleted file mode 100644 index d46cfd2..0000000 --- a/docs/.gitignore +++ /dev/null @@ -1,3 +0,0 @@ -/pysigep.rst -/pysigep.*.rst -/modules.rst diff --git a/docs/Makefile b/docs/Makefile deleted file mode 100644 index dbf6960..0000000 --- a/docs/Makefile +++ /dev/null @@ -1,177 +0,0 @@ -# Makefile for Sphinx documentation -# - -# You can set these variables from the command line. -SPHINXOPTS = -SPHINXBUILD = sphinx-build -PAPER = -BUILDDIR = _build - -# User-friendly check for sphinx-build -ifeq ($(shell which $(SPHINXBUILD) >/dev/null 2>&1; echo $$?), 1) -$(error The '$(SPHINXBUILD)' command was not found. Make sure you have Sphinx installed, then set the SPHINXBUILD environment variable to point to the full path of the '$(SPHINXBUILD)' executable. Alternatively you can add the directory with the executable to your PATH. If you don't have Sphinx installed, grab it from http://sphinx-doc.org/) -endif - -# Internal variables. -PAPEROPT_a4 = -D latex_paper_size=a4 -PAPEROPT_letter = -D latex_paper_size=letter -ALLSPHINXOPTS = -d $(BUILDDIR)/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) . -# the i18n builder cannot share the environment and doctrees with the others -I18NSPHINXOPTS = $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) . - -.PHONY: help clean html dirhtml singlehtml pickle json htmlhelp qthelp devhelp epub latex latexpdf text man changes linkcheck doctest gettext - -help: - @echo "Please use \`make ' where is one of" - @echo " html to make standalone HTML files" - @echo " dirhtml to make HTML files named index.html in directories" - @echo " singlehtml to make a single large HTML file" - @echo " pickle to make pickle files" - @echo " json to make JSON files" - @echo " htmlhelp to make HTML files and a HTML help project" - @echo " qthelp to make HTML files and a qthelp project" - @echo " devhelp to make HTML files and a Devhelp project" - @echo " epub to make an epub" - @echo " latex to make LaTeX files, you can set PAPER=a4 or PAPER=letter" - @echo " latexpdf to make LaTeX files and run them through pdflatex" - @echo " latexpdfja to make LaTeX files and run them through platex/dvipdfmx" - @echo " text to make text files" - @echo " man to make manual pages" - @echo " texinfo to make Texinfo files" - @echo " info to make Texinfo files and run them through makeinfo" - @echo " gettext to make PO message catalogs" - @echo " changes to make an overview of all changed/added/deprecated items" - @echo " xml to make Docutils-native XML files" - @echo " pseudoxml to make pseudoxml-XML files for display purposes" - @echo " linkcheck to check all external links for integrity" - @echo " doctest to run all doctests embedded in the documentation (if enabled)" - -clean: - rm -rf $(BUILDDIR)/* - -html: - $(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(BUILDDIR)/html - @echo - @echo "Build finished. The HTML pages are in $(BUILDDIR)/html." - -dirhtml: - $(SPHINXBUILD) -b dirhtml $(ALLSPHINXOPTS) $(BUILDDIR)/dirhtml - @echo - @echo "Build finished. The HTML pages are in $(BUILDDIR)/dirhtml." - -singlehtml: - $(SPHINXBUILD) -b singlehtml $(ALLSPHINXOPTS) $(BUILDDIR)/singlehtml - @echo - @echo "Build finished. The HTML page is in $(BUILDDIR)/singlehtml." - -pickle: - $(SPHINXBUILD) -b pickle $(ALLSPHINXOPTS) $(BUILDDIR)/pickle - @echo - @echo "Build finished; now you can process the pickle files." - -json: - $(SPHINXBUILD) -b json $(ALLSPHINXOPTS) $(BUILDDIR)/json - @echo - @echo "Build finished; now you can process the JSON files." - -htmlhelp: - $(SPHINXBUILD) -b htmlhelp $(ALLSPHINXOPTS) $(BUILDDIR)/htmlhelp - @echo - @echo "Build finished; now you can run HTML Help Workshop with the" \ - ".hhp project file in $(BUILDDIR)/htmlhelp." - -qthelp: - $(SPHINXBUILD) -b qthelp $(ALLSPHINXOPTS) $(BUILDDIR)/qthelp - @echo - @echo "Build finished; now you can run "qcollectiongenerator" with the" \ - ".qhcp project file in $(BUILDDIR)/qthelp, like this:" - @echo "# qcollectiongenerator $(BUILDDIR)/qthelp/pysigep.qhcp" - @echo "To view the help file:" - @echo "# assistant -collectionFile $(BUILDDIR)/qthelp/pysigep.qhc" - -devhelp: - $(SPHINXBUILD) -b devhelp $(ALLSPHINXOPTS) $(BUILDDIR)/devhelp - @echo - @echo "Build finished." - @echo "To view the help file:" - @echo "# mkdir -p $$HOME/.local/share/devhelp/pysigep" - @echo "# ln -s $(BUILDDIR)/devhelp $$HOME/.local/share/devhelp/pysigep" - @echo "# devhelp" - -epub: - $(SPHINXBUILD) -b epub $(ALLSPHINXOPTS) $(BUILDDIR)/epub - @echo - @echo "Build finished. The epub file is in $(BUILDDIR)/epub." - -latex: - $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex - @echo - @echo "Build finished; the LaTeX files are in $(BUILDDIR)/latex." - @echo "Run \`make' in that directory to run these through (pdf)latex" \ - "(use \`make latexpdf' here to do that automatically)." - -latexpdf: - $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex - @echo "Running LaTeX files through pdflatex..." - $(MAKE) -C $(BUILDDIR)/latex all-pdf - @echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex." - -latexpdfja: - $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex - @echo "Running LaTeX files through platex and dvipdfmx..." - $(MAKE) -C $(BUILDDIR)/latex all-pdf-ja - @echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex." - -text: - $(SPHINXBUILD) -b text $(ALLSPHINXOPTS) $(BUILDDIR)/text - @echo - @echo "Build finished. The text files are in $(BUILDDIR)/text." - -man: - $(SPHINXBUILD) -b man $(ALLSPHINXOPTS) $(BUILDDIR)/man - @echo - @echo "Build finished. The manual pages are in $(BUILDDIR)/man." - -texinfo: - $(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo - @echo - @echo "Build finished. The Texinfo files are in $(BUILDDIR)/texinfo." - @echo "Run \`make' in that directory to run these through makeinfo" \ - "(use \`make info' here to do that automatically)." - -info: - $(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo - @echo "Running Texinfo files through makeinfo..." - make -C $(BUILDDIR)/texinfo info - @echo "makeinfo finished; the Info files are in $(BUILDDIR)/texinfo." - -gettext: - $(SPHINXBUILD) -b gettext $(I18NSPHINXOPTS) $(BUILDDIR)/locale - @echo - @echo "Build finished. The message catalogs are in $(BUILDDIR)/locale." - -changes: - $(SPHINXBUILD) -b changes $(ALLSPHINXOPTS) $(BUILDDIR)/changes - @echo - @echo "The overview file is in $(BUILDDIR)/changes." - -linkcheck: - $(SPHINXBUILD) -b linkcheck $(ALLSPHINXOPTS) $(BUILDDIR)/linkcheck - @echo - @echo "Link check complete; look for any errors in the above output " \ - "or in $(BUILDDIR)/linkcheck/output.txt." - -doctest: - $(SPHINXBUILD) -b doctest $(ALLSPHINXOPTS) $(BUILDDIR)/doctest - @echo "Testing of doctests in the sources finished, look at the " \ - "results in $(BUILDDIR)/doctest/output.txt." - -xml: - $(SPHINXBUILD) -b xml $(ALLSPHINXOPTS) $(BUILDDIR)/xml - @echo - @echo "Build finished. The XML files are in $(BUILDDIR)/xml." - -pseudoxml: - $(SPHINXBUILD) -b pseudoxml $(ALLSPHINXOPTS) $(BUILDDIR)/pseudoxml - @echo - @echo "Build finished. The pseudo-XML files are in $(BUILDDIR)/pseudoxml." diff --git a/docs/usage.rst b/docs/README.md similarity index 66% rename from docs/usage.rst rename to docs/README.md index c8d8ea9..296757c 100644 --- a/docs/usage.rst +++ b/docs/README.md @@ -1,33 +1,77 @@ -========== -Utilização -========== -A versão atual **ainda esta em fase de desenvolvimento**, sendo que os recursos -disponiveis podem ser removidos sem aviso prévio. Portanto, não é recomendável +

+
+ + +
+ PySIGEP +
+

+ +

Interface python para uso dos serviços fornecidos pelo SIGEPWeb dos Correios.

+ +

+ Sobre | + Recursos | + Instalação | + Utilização | + Como Contribuir | + Créditos +

+ + +## Sobre + +O SIGEP WEB é um sistema com o propósito de preparar e gerenciar +as postagens de Clientes dos Correios. Seus principais atributos técnicos são: +facilidade e rapidez na preparação das postagens e gestão das informações sobre os objetos postados. + +## Recursos + +- Verificar *status* de um Cartão de Postagem +- Obter dados do endereço a partir de seu respectivo CEP. +- Verificar disponibilidade de um dado serviço. +- Gerar etiquetas para postagem de mercadoria. + +## Instalação + +A versão atual **ainda esta em fase de desenvolvimento**, sendo que os recursos disponiveis podem ser removidos sem aviso prévio. Portanto, não é recomendável seu uso em ambiente de produção. + +Atualmente, a PySIGEP possui suporte para Python 3.5+. + +> pip install pysigep + +#### A partir do código fonte + +Você pode realizar o *clone* do repositório público: + +> git clone https://github.com/mstuttgart/pysigep.git + +Uma vez que você tenha uma cópia do código fonte, você pode instalá-lo com: + +> python setup.py install + +## Utilização + +A versão atual **ainda esta em fase de desenvolvimento**, sendo que os recursos disponiveis podem ser removidos sem aviso prévio. Portanto, não é recomendável seu uso em ambiente de produção. PySigep no momento possui suporte para os seguintes serviços providos pelo SigepWeb: - * consultaCEP * verificaDisponibilidadeServico * getStatusCartaoPostagem * solicitaEtiquetas * geraDigitoVerificadorEtiquetas -Novos serviços serão implementados futuramente. A seguir temos alguns exemplos de utilização da `pysigep`. Para mais detalhes -sobre os serviçoes fornecidos, por favor, consulte o Manual do SigepWeb. - -SOAPClient ----------- +Novos serviços serão implementados futuramente. A seguir temos alguns exemplos de utilização da `pysigep`. Para mais detalhes sobre os serviçoes fornecidos, por favor, consulte o Manual do SigepWeb. -A grande maioria dos serviços do SigepWeb, exigem um cadastro de *usuário* e *senha*. De modo a tornar mais prático -a consulta, foi desenvolvido uma classe para armazenar estes dados durante o uso da biblioteca. Sendo assim, -antes de qualquer consulta devemos criar um objeto `SOAPClient`. +#### SOAPClient -.. code-block:: python +A grande maioria dos serviços do SigepWeb, exigem um cadastro de *usuário* e *senha*. De modo a tornar mais prático a consulta, foi desenvolvido uma classe para armazenar estes dados durante o uso da biblioteca. Sendo assim, antes de qualquer consulta devemos criar um objeto `SOAPClient`. - from pysigep.utils import HOMOG_USUARIO, HOMOG_SENHA, HOMOLOGACAO +```python +from pysigep.utils import HOMOG_USUARIO, HOMOG_SENHA, HOMOLOGACAO # Criamos o cliente SOAP cliente = SOAPClient(ambiente=HOMOLOGACAO, @@ -36,9 +80,9 @@ antes de qualquer consulta devemos criar um objeto `SOAPClient`. # Realizamos a consulta di servico endereco = cliente.nomeservico(..) +``` -As constantes `HOMOG_USUARIO`, `HOMOG_SENHA`, `HOMOLOGACAO` são constantes fornecidas para auxiliar o desenvolvedor -durante o processo de desenvolvimento. +As constantes `HOMOG_USUARIO`, `HOMOG_SENHA`, `HOMOLOGACAO` são constantes fornecidas para auxiliar o desenvolvedor durante o processo de desenvolvimento. No momento, a `pysigep` possui as seguintes constantes: @@ -53,7 +97,7 @@ No momento, a `pysigep` possui as seguintes constantes: Estas constantes podem ser acessadas através do pacote `utils`: -.. code-block:: python +```python from pysigep.utils import (URLS, HOMOLOGACAO, @@ -63,12 +107,13 @@ Estas constantes podem ser acessadas através do pacote `utils`: HOMOG_CODIGO_ADMIN, HOMOG_CARTAO, HOMOG_CNPJ) +``` + +#### consultaCEP -consultaCEP ------------ Este método retorna o endereço correspondente ao número de CEP informado. -.. code-block:: python +```python # Criamos o cliente SOAP cliente = SOAPClient(ambiente=HOMOLOGACAO, @@ -87,13 +132,13 @@ Este método retorna o endereço correspondente ao número de CEP informado. print(endereco.id) print(endereco.uf) print(endereco.unidadesPostagem) +``` -verificaDisponibilidadeServico ------------------------------- +#### verificaDisponibilidadeServico Verifica se um serviço que não possui abrangência nacional está disponível entre um CEP de Origem e de Destino. -.. code-block:: python +```python params = { 'cod_administrativo': HOMOG_CODIGO_ADMIN, @@ -112,15 +157,15 @@ Verifica se um serviço que não possui abrangência nacional está disponível print(disponibilidade) # Saída: True ou False +``` -getStatusCartaoPostagem ------------------------ +#### getStatusCartaoPostagem Este método retorna o situação do cartão de postagem, ou seja, se o mesmo está 'Normal' ou 'Cancelado'. É recomendada a pesquisa periódica para evitar tentativa de postagens com cartão suspenso, ocasionando a não aceitação dos objetos nos Correios. -.. code-block:: python +```python # Criamos o cliente SOAP cliente = SOAPClient(ambiente=HOMOLOGACAO, @@ -136,13 +181,13 @@ a não aceitação dos objetos nos Correios. print(status) # Saída: 'Normal' ou 'Cancelado' +``` -solicitaEtiquetas ------------------ +#### solicitaEtiquetas Retorna uma dada quantidade de etiquetas sem o digito verificador. -.. code-block:: python +```python params = { 'tipo_destinatario': 'C', @@ -169,13 +214,12 @@ Retorna uma dada quantidade de etiquetas sem o digito verificador. # 'DL76023728 BR', # ] - -geraDigitoVerificadorEtiquetas ------------------------------- +``` +#### geraDigitoVerificadorEtiquetas Este método retorna o DV - Dígito Verificador de um lista de etiquetas. -.. code-block:: python +```python params = { 'etiquetas': ['DL76023727 BR', 'DL76023728 BR'], @@ -190,4 +234,6 @@ Este método retorna o DV - Dígito Verificador de um lista de etiquetas. lista_digitos = cliente.gera_digito_verificador_etiquetas(**params) print(lista_digitos) - # Saída: lista_digitos = [2, 6] \ No newline at end of file + # Saída: lista_digitos = [2, 6] +``` + diff --git a/docs/_config.yml b/docs/_config.yml new file mode 100644 index 0000000..b849713 --- /dev/null +++ b/docs/_config.yml @@ -0,0 +1 @@ +theme: jekyll-theme-leap-day \ No newline at end of file diff --git a/docs/_static/logo.ico b/docs/_static/logo.ico deleted file mode 100644 index bf5fcf29109c6b7e12056f55720557265f87db55..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4286 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%0AD*K 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 v documentation". -# html_title = None - -# A shorter title for the navigation bar. Default is the same as -# html_title. -# html_short_title = None - -# The name of an image file (relative to this directory) to place at the -# top of the sidebar. -# html_logo = None - -# The name of an image file (within the static path) to use as favicon -# of the docs. This file should be a Windows icon file (.ico) being -# 16x16 or 32x32 pixels large. -html_favicon = '_static/logo.ico' - -# Add any paths that contain custom static files (such as style sheets) -# here, relative to this directory. They are copied after the builtin -# static files, so a file named "default.css" will overwrite the builtin -# "default.css". -html_static_path = ['_static'] - -# If not '', a 'Last updated on:' timestamp is inserted at every page -# bottom, using the given strftime format. -# html_last_updated_fmt = '%b %d, %Y' - -# If true, SmartyPants will be used to convert quotes and dashes to -# typographically correct entities. -# html_use_smartypants = True - -# Custom sidebar templates, maps document names to template names. -html_sidebars = { - '**': [ - 'about.html', - 'navigation.html', - 'relations.html', - 'searchbox.html', - 'donate.html', - ] -} - -# Additional templates that should be rendered to pages, maps page names -# to template names. -# html_additional_pages = {} - -# If false, no module index is generated. -# html_domain_indices = True - -# If false, no index is generated. -# html_use_index = True - -# If true, the index is split into individual pages for each letter. -# html_split_index = False - -# If true, links to the reST sources are added to the pages. -# html_show_sourcelink = True - -# If true, "Created using Sphinx" is shown in the HTML footer. -# Default is True. -# html_show_sphinx = True - -# If true, "(C) Copyright ..." is shown in the HTML footer. -# Default is True. -# html_show_copyright = True - -# If true, an OpenSearch description file will be output, and all pages -# will contain a tag referring to it. The value of this option -# must be the base URL from which the finished HTML is served. -# html_use_opensearch = '' - -# This is the file name suffix for HTML files (e.g. ".xhtml"). -# html_file_suffix = None - -# Output file base name for HTML help builder. -htmlhelp_basename = 'pysigepdoc' - - -# -- Options for LaTeX output ------------------------------------------ - -latex_elements = { - # The paper size ('letterpaper' or 'a4paper'). - #'papersize': 'letterpaper', - - # The font size ('10pt', '11pt' or '12pt'). - #'pointsize': '10pt', - - # Additional stuff for the LaTeX preamble. - #'preamble': '', -} - -# Grouping the document tree into LaTeX files. List of tuples -# (source start file, target name, title, author, documentclass -# [howto/manual]). -latex_documents = [ - ('index', 'pysigep.tex', - u'PySIGEP Documentation', - u'Michell Stuttgart', 'manual'), -] - -# The name of an image file (relative to this directory) to place at -# the top of the title page. -# latex_logo = None - -# For "manual" documents, if this is true, then toplevel headings -# are parts, not chapters. -# latex_use_parts = False - -# If true, show page references after internal links. -# latex_show_pagerefs = False - -# If true, show URL addresses after external links. -# latex_show_urls = False - -# Documents to append as an appendix to all manuals. -# latex_appendices = [] - -# If false, no module index is generated. -# latex_domain_indices = True - - -# -- Options for manual page output ------------------------------------ - -# One entry per manual page. List of tuples -# (source start file, name, description, authors, manual section). -man_pages = [ - ('index', 'pysigep', - u'PySIGEP Documentation', - [u'Michell Stuttgart'], 1) -] - -# If true, show URL addresses after external links. -# man_show_urls = False - - -# -- Options for Texinfo output ---------------------------------------- - -# Grouping the document tree into Texinfo files. List of tuples -# (source start file, target name, title, author, -# dir menu entry, description, category) -texinfo_documents = [ - ('index', 'pysigep', - u'PySIGEP Documentation', - u'Michell Stuttgart', - 'pysigep', - 'One line description of project.', - 'Miscellaneous'), -] - -# Documents to append as an appendix to all manuals. -# texinfo_appendices = [] - -# If false, no module index is generated. -# texinfo_domain_indices = True - -# How to display URL addresses: 'footnote', 'no', or 'inline'. -# texinfo_show_urls = 'footnote' - -# If true, do not generate a @detailmenu in the "Top" node's menu. -# texinfo_no_detailmenu = False diff --git a/docs/contributing.rst b/docs/contributing.rst deleted file mode 100644 index a16e7c0..0000000 --- a/docs/contributing.rst +++ /dev/null @@ -1,98 +0,0 @@ -.. highlight:: shell - -============ -Contribuindo -============ - -Contribuições são bem-vindas e muito apreciadas! - -Você pode contribuir de várias maneiras: - -Tipos de Contribuições ----------------------- - -Reportando erros -~~~~~~~~~~~~~~~~ - -Informe erros em https://github.com/mstuttgart/pysigep/issues. - -Se você está reportando um *bug*, por favor inclua: - -* O nome e a versão do seu sistema operacional. -* Qualquer detalhe sobre sua configuração local que possa ser útil na solução de problemas. -* Etapas detalhadas para reproduzir o bug. - -Corrigindo erros -~~~~~~~~~~~~~~~~ - -Busque na lista de *issues* por aquelas com a tag *Bug*. -Qualquer *issue* marcada com "Bug" está aberta para quem quiser corrigi-la. - -Adicionando novos recursos -~~~~~~~~~~~~~~~~~~~~~~~~~~ - -Busque na lista de *issues* por aquelas com a tag *Improvement* ou *New feature*. -Qualquer *issue* marcada com esses *tags* está aberta para quem quiser implementá-la. - -Melhorando a documentação -~~~~~~~~~~~~~~~~~~~~~~~~~ - -A documentação da PySIGEP sempre pode ser melhorada, seja como parte do -da documentação oficial do PySIGEP, em docstrings, ou mesmo na web em postagens de blog, -artigos e etc. Então caso você tenha escrito alguma postagem sobre a PySIGEP, por favor, -me avise para que a mesma seja incluída aqui como referência. - -Enviar Comentários -~~~~~~~~~~~~~~~~~~ - -A melhor maneira de enviar comentários é abrir uma *issue* em https://github.com/mstuttgart/pysigep/issues. - -Se você está propondo um novo recurso para PySIGEP, por favor siga os seguintes passos: - -* Explique em detalhes como isso funcionaria. -* Mantenha o escopo o mais simples possível, para facilitar a implementação. -* Lembre-se que este é um projeto voluntário, e que contribuições são bem-vindos :) - -Começando a contribuir! ------------------------ - -Pronto para contribuir? Veja como configurar `pysigep` para desenvolvimento local. - -1. Fork o repositório `pysigep` no GitHub. -2. Clone sua *branch* localmente:: - - $ git clone git@github.com:your_name_here/pysigep.git - -3. Instale sua cópia local em um *virtualenv*. Supondo que você tenha instalado o *virtualenv*, é assim que você configura a seu *fork* para o desenvolvimento local:: - - $ cd pysigep - $ virtualenv -p python3 env - $ pip3 install -r requirements.txt - -4. Crie uma *branch* para desenvolvimento:: - - $ git checkout -b nome-da-sua-branch - -   Agora você pode fazer suas mudanças localmente. - -5. Quando terminar de fazer alterações, verifique se suas alterações passam no *flake8* e nos testes:: - - $ flake8 pysigep tests - $ python setup.py test - -6. Confirme as suas alterações e as envie para o GitHub:: - - $ git add . - $ git commit -m "Descricao detalhada das sua alteracoes." - $ git push origin nome-da-sua-branch - -7. Envie um *Pull Request* para o repositório oficial da PySIGEP no GitHub. - -Instruções de Solicitação de Pull Request ------------------------------------------ - -Antes de enviar um pedido de *Pull Request*, verifique se ele atende a essas diretrizes: - -1. O pedido de *Pull Request* deve incluir testes, quando for uma nova *feature*. -2. Se o *Pull Request* adicionar funcionalidades, a documentação deve ser atualizada adicionado detalhes de uso da nova funcionalidade. -3. O pedido de *Pull Request* deve funcionar para o Python 3.5+. Verificar https://travis-ci.org/mstuttgart/pysigep/pull_requests e certifique-se de que os testes passem para todas as versões do Python suportadas. \ No newline at end of file diff --git a/docs/history.rst b/docs/history.rst deleted file mode 100644 index 11ebb4b..0000000 --- a/docs/history.rst +++ /dev/null @@ -1,8 +0,0 @@ -========= -Historico -========= - -0.0.1 (2018-05-06) ------------------- - -* Versão inicial de desenvolvimento. diff --git a/docs/index.rst b/docs/index.rst deleted file mode 100644 index 1c88c89..0000000 --- a/docs/index.rst +++ /dev/null @@ -1,31 +0,0 @@ -Bem vindo a PySIGEP! -==================== - -Interface python para uso dos serviços fornecidos pelo SIGEPWeb dos Correios. - -O SIGEP WEB é um sistema com o propósito de preparar e gerenciar -as postagens de Clientes dos Correios. Seus principais atributos técnicos são: -facilidade e rapidez na preparação das postagens e gestão das informações sobre os objetos postados. - -Features --------- - -- Verificar *status* de um Cartão de Postagem -- Obter dados do endereço a partir de seu respectivo CEP. -- Verificar disponibilidade de um dado serviço. -- Gerar etiquetas para postagem de mercadoria. - -.. toctree:: - :maxdepth: 2 - :hidden: - :glob: - - installation - usage - contributing - authors - history - modules - -Encontrou algum erro? Tem alguma sugestão para melhorar a PySIGEP? Deixe-me saber. -Contribuições são muito bem vindas! \ No newline at end of file diff --git a/docs/installation.rst b/docs/installation.rst deleted file mode 100644 index 02c142f..0000000 --- a/docs/installation.rst +++ /dev/null @@ -1,49 +0,0 @@ -.. highlight:: shell - -========== -Instalação -========== - -Atualmente, a PySIGEP possui suporte para Python 3.5+. - -Versão estável --------------- - -Versão atual **ainda esta em fase de desenvolvimento**, sendo que os recursos -disponiveis podem ser removidos sem aviso prévio. Portanto, não é recomendável -seu uso em ambiente de produção. - -Para instalar PySIGEP, execute este comando no seu terminal: - -.. code-block:: console - - $ pip install pysigep - -Este é o método recomendado para instalar a PySIGEP. Desse modo sempre será instalado a versão mais recente. - -A partir do código fonte ------------------------- - -O código fonte do PySIGEP pode ser baixado `aqui`_. - -Você pode realizar o *clone* do repositório público: - -.. code-block:: console - - $ git clone https://github.com/mstuttgart/pysigep.git - -Ou baixar o `tarball`_: - -.. code-block:: console - - $ curl -OL https://github.com/mstuttgart/pysigep/tarball/master - -Uma vez que você tenha uma cópia do código fonte, você pode instalá-lo com: - -.. code-block:: console - - $ python setup.py install - - -.. _aqui: https://github.com/mstuttgart/pysigep -.. _tarball: https://github.com/mstuttgart/pysigep/tarball/master \ No newline at end of file diff --git a/docs/make.bat b/docs/make.bat deleted file mode 100644 index ceecb8c..0000000 --- a/docs/make.bat +++ /dev/null @@ -1,242 +0,0 @@ -@ECHO OFF - -REM Command file for Sphinx documentation - -if "%SPHINXBUILD%" == "" ( - set SPHINXBUILD=sphinx-build -) -set BUILDDIR=_build -set ALLSPHINXOPTS=-d %BUILDDIR%/doctrees %SPHINXOPTS% . -set I18NSPHINXOPTS=%SPHINXOPTS% . -if NOT "%PAPER%" == "" ( - set ALLSPHINXOPTS=-D latex_paper_size=%PAPER% %ALLSPHINXOPTS% - set I18NSPHINXOPTS=-D latex_paper_size=%PAPER% %I18NSPHINXOPTS% -) - -if "%1" == "" goto help - -if "%1" == "help" ( - :help - echo.Please use `make ^` where ^ is one of - echo. html to make standalone HTML files - echo. dirhtml to make HTML files named index.html in directories - echo. singlehtml to make a single large HTML file - echo. pickle to make pickle files - echo. json to make JSON files - echo. htmlhelp to make HTML files and a HTML help project - echo. qthelp to make HTML files and a qthelp project - echo. devhelp to make HTML files and a Devhelp project - echo. epub to make an epub - echo. latex to make LaTeX files, you can set PAPER=a4 or PAPER=letter - echo. text to make text files - echo. man to make manual pages - echo. texinfo to make Texinfo files - echo. gettext to make PO message catalogs - echo. changes to make an overview over all changed/added/deprecated items - echo. xml to make Docutils-native XML files - echo. pseudoxml to make pseudoxml-XML files for display purposes - echo. linkcheck to check all external links for integrity - echo. doctest to run all doctests embedded in the documentation if enabled - goto end -) - -if "%1" == "clean" ( - for /d %%i in (%BUILDDIR%\*) do rmdir /q /s %%i - del /q /s %BUILDDIR%\* - goto end -) - - -%SPHINXBUILD% 2> nul -if errorlevel 9009 ( - echo. - echo.The 'sphinx-build' command was not found. Make sure you have Sphinx - echo.installed, then set the SPHINXBUILD environment variable to point - echo.to the full path of the 'sphinx-build' executable. Alternatively you - echo.may add the Sphinx directory to PATH. - echo. - echo.If you don't have Sphinx installed, grab it from - echo.http://sphinx-doc.org/ - exit /b 1 -) - -if "%1" == "html" ( - %SPHINXBUILD% -b html %ALLSPHINXOPTS% %BUILDDIR%/html - if errorlevel 1 exit /b 1 - echo. - echo.Build finished. The HTML pages are in %BUILDDIR%/html. - goto end -) - -if "%1" == "dirhtml" ( - %SPHINXBUILD% -b dirhtml %ALLSPHINXOPTS% %BUILDDIR%/dirhtml - if errorlevel 1 exit /b 1 - echo. - echo.Build finished. The HTML pages are in %BUILDDIR%/dirhtml. - goto end -) - -if "%1" == "singlehtml" ( - %SPHINXBUILD% -b singlehtml %ALLSPHINXOPTS% %BUILDDIR%/singlehtml - if errorlevel 1 exit /b 1 - echo. - echo.Build finished. The HTML pages are in %BUILDDIR%/singlehtml. - goto end -) - -if "%1" == "pickle" ( - %SPHINXBUILD% -b pickle %ALLSPHINXOPTS% %BUILDDIR%/pickle - if errorlevel 1 exit /b 1 - echo. - echo.Build finished; now you can process the pickle files. - goto end -) - -if "%1" == "json" ( - %SPHINXBUILD% -b json %ALLSPHINXOPTS% %BUILDDIR%/json - if errorlevel 1 exit /b 1 - echo. - echo.Build finished; now you can process the JSON files. - goto end -) - -if "%1" == "htmlhelp" ( - %SPHINXBUILD% -b htmlhelp %ALLSPHINXOPTS% %BUILDDIR%/htmlhelp - if errorlevel 1 exit /b 1 - echo. - echo.Build finished; now you can run HTML Help Workshop with the ^ -.hhp project file in %BUILDDIR%/htmlhelp. - goto end -) - -if "%1" == "qthelp" ( - %SPHINXBUILD% -b qthelp %ALLSPHINXOPTS% %BUILDDIR%/qthelp - if errorlevel 1 exit /b 1 - echo. - echo.Build finished; now you can run "qcollectiongenerator" with the ^ -.qhcp project file in %BUILDDIR%/qthelp, like this: - echo.^> qcollectiongenerator %BUILDDIR%\qthelp\pysigep.qhcp - echo.To view the help file: - echo.^> assistant -collectionFile %BUILDDIR%\qthelp\pysigep.ghc - goto end -) - -if "%1" == "devhelp" ( - %SPHINXBUILD% -b devhelp %ALLSPHINXOPTS% %BUILDDIR%/devhelp - if errorlevel 1 exit /b 1 - echo. - echo.Build finished. - goto end -) - -if "%1" == "epub" ( - %SPHINXBUILD% -b epub %ALLSPHINXOPTS% %BUILDDIR%/epub - if errorlevel 1 exit /b 1 - echo. - echo.Build finished. The epub file is in %BUILDDIR%/epub. - goto end -) - -if "%1" == "latex" ( - %SPHINXBUILD% -b latex %ALLSPHINXOPTS% %BUILDDIR%/latex - if errorlevel 1 exit /b 1 - echo. - echo.Build finished; the LaTeX files are in %BUILDDIR%/latex. - goto end -) - -if "%1" == "latexpdf" ( - %SPHINXBUILD% -b latex %ALLSPHINXOPTS% %BUILDDIR%/latex - cd %BUILDDIR%/latex - make all-pdf - cd %BUILDDIR%/.. - echo. - echo.Build finished; the PDF files are in %BUILDDIR%/latex. - goto end -) - -if "%1" == "latexpdfja" ( - %SPHINXBUILD% -b latex %ALLSPHINXOPTS% %BUILDDIR%/latex - cd %BUILDDIR%/latex - make all-pdf-ja - cd %BUILDDIR%/.. - echo. - echo.Build finished; the PDF files are in %BUILDDIR%/latex. - goto end -) - -if "%1" == "text" ( - %SPHINXBUILD% -b text %ALLSPHINXOPTS% %BUILDDIR%/text - if errorlevel 1 exit /b 1 - echo. - echo.Build finished. The text files are in %BUILDDIR%/text. - goto end -) - -if "%1" == "man" ( - %SPHINXBUILD% -b man %ALLSPHINXOPTS% %BUILDDIR%/man - if errorlevel 1 exit /b 1 - echo. - echo.Build finished. The manual pages are in %BUILDDIR%/man. - goto end -) - -if "%1" == "texinfo" ( - %SPHINXBUILD% -b texinfo %ALLSPHINXOPTS% %BUILDDIR%/texinfo - if errorlevel 1 exit /b 1 - echo. - echo.Build finished. The Texinfo files are in %BUILDDIR%/texinfo. - goto end -) - -if "%1" == "gettext" ( - %SPHINXBUILD% -b gettext %I18NSPHINXOPTS% %BUILDDIR%/locale - if errorlevel 1 exit /b 1 - echo. - echo.Build finished. The message catalogs are in %BUILDDIR%/locale. - goto end -) - -if "%1" == "changes" ( - %SPHINXBUILD% -b changes %ALLSPHINXOPTS% %BUILDDIR%/changes - if errorlevel 1 exit /b 1 - echo. - echo.The overview file is in %BUILDDIR%/changes. - goto end -) - -if "%1" == "linkcheck" ( - %SPHINXBUILD% -b linkcheck %ALLSPHINXOPTS% %BUILDDIR%/linkcheck - if errorlevel 1 exit /b 1 - echo. - echo.Link check complete; look for any errors in the above output ^ -or in %BUILDDIR%/linkcheck/output.txt. - goto end -) - -if "%1" == "doctest" ( - %SPHINXBUILD% -b doctest %ALLSPHINXOPTS% %BUILDDIR%/doctest - if errorlevel 1 exit /b 1 - echo. - echo.Testing of doctests in the sources finished, look at the ^ -results in %BUILDDIR%/doctest/output.txt. - goto end -) - -if "%1" == "xml" ( - %SPHINXBUILD% -b xml %ALLSPHINXOPTS% %BUILDDIR%/xml - if errorlevel 1 exit /b 1 - echo. - echo.Build finished. The XML files are in %BUILDDIR%/xml. - goto end -) - -if "%1" == "pseudoxml" ( - %SPHINXBUILD% -b pseudoxml %ALLSPHINXOPTS% %BUILDDIR%/pseudoxml - if errorlevel 1 exit /b 1 - echo. - echo.Build finished. The pseudo-XML files are in %BUILDDIR%/pseudoxml. - goto end -) - -:end