Linha de comando
alexandre-mbm opened this issue · 2 comments
Aperfeiçoamento de #6.
Não quer dizer que implementarei tudo, mas a partir de hoje eu começarei a pensá-lo assim:
-
paicemana -h/--help
para mostrar a ajuda -
paicemana
weeklyosm
[ ARCHIVE [-g|-p] [-s] [[-n NUMBER]|[-f FILENAME]] [-b] [-d] ]
-
-g/--get
para baixar texto gerando o arquivo Markdown (padrão) -
-p/--put
para enviar texto HTML -
-s/--sync
fazendo sincronização do idioma de tradução -
-n/--number INTEGER
habilitando renomear paraDDD-semanario.md
-
-f/--filename FILENAME
habilitando renomear paraFILENAME
-
-b/--backups
realizando backups -
-d/--diff
parando para confirmações através de diff, ou comparar atual
-
-
paicemana
osmf
[ ARCHIVE [-g|-p] [-s] [-f FILENAME] [-b] [-d] ]
-
-g/--get
para baixar texto gerando o arquivo Markdown (padrão) -
-p/--put
para enviar texto HTML -
-s/--sync
fazendo sincronização do idioma de tradução -
-f/--filename FILENAME
habilitando renomear paraFILENAME
-
-b/--backups
realizando backups -
-d/--diff
parando para confirmações através de diff, ou comparar atual
-
-
paicemana
github-weeklyosm
[ ARCHIVE [ -m|-p M|-i M|-n A|-c|-d|-p [-s]|-k M [-u U] ] ]
-
-m/--milestones
para ver informação dos milestones existentes no repositório -
-p/--populate MILESTONE
para popular milestone, criando-o se necessário -
-s/--simple
para popular com estrutura simples de issues -
-i/--issues [MILESTONE]
para abrir página de issues [de milestone] no navegador -
-n/--open ARCHIVE
para abrir o arquivo no navegador (HTML do GitHub) -
-c/--commits
para abrir página de commits no navegador -
-d/--diff
para abrir página de diff no navegador -
-p/--project
para abrir página inicial do projeto no navegador (padrão) -
-k/--kanban [MILESTONE] [-u/--user USER]
para abrir kanban no waffle.io ‒ tuples?
-
-
paicemana
github-osmf
[ ARCHIVE [ -m|-p M|-i M|-n A|-c|-d|-p [-s]|-k M [-u U] ] ]
-
-m/--milestones
para ver informação dos milestones existentes no repositório -
-p/--populate MILESTONE
para popular milestone, criando-o se necessário -
-s/--simple
para popular com estrutura simples de issues -
-i/--issues [MILESTONE]
para abrir página de issues [de milestone] no navegador -
-n/--open ARCHIVE
para abrir o arquivo no navegador (HTML do GitHub) -
-c/--commits
para abrir página de commits no navegador -
-d/--diff
para abrir página de diff no navegador -
-p/--project
para abrir página inicial do projeto no navegador (padrão) -
-k/--kanban [MILESTONE] [-u/--user USER]
para abrir kanban no waffle.io ‒ tuples?
-
-
paicemana
osmbrasil
[FILENAME]
‒ atualizar códigos em site Jekyll -
paicemana
etherpad
HASH FILENAME_PATTERN
‒ realizar backups (ver #12)
Fazer esses "comandos", como se fossem namespaces, é o mais indicado para o click
do que usar um conjunto muito grande de subconjuntos de opções mutuamente exclusivos.
Talvez esta issue fique aberta para sempre (se algo não for ser implementado). O objetivo aqui é principalmente reunir a ideia do projeto, algo como registrar muito simplificadamente um levantamento de requisitos sem julgá-lo quanto à importância.
Interessa tentar prever como poderá ser um arquivo de configurações ~/.paicemana
:
[WeeklyOSM]:
Translators = alexandre-mbm jgpacker vgeorge
User = alexandre
Password = SENHA
Url = weeklyosm.eu
GitHub = OSMBrasil/semanario
Filename = %s-semanario.md
Backups = True
Diff = True
AutoLogin = True
Method = simple
OSMBrasil.Include = _includes/weeklyosm.md
OSMBrasil.Feed = weeklyosm.xml
[OSMF]:
Translators = alexandre-mbm wille
User = alexandre
Password = SENHA
Url = blog.openstreetmap.org
GitHub = OSMBrasil/osmf-blog
Backups = True
Diff = True
AutoLogin = True
Method = none
OSMBrasil.Include = _includes/osmf.md
OSMBrasil.Feed = osmf.xml
[GitHub]:
User = alexandre
Password = SENHA
AutoLogin = False
[Etherpad]:
Url = pad-osmbrasil.rhcloud.com
Backups = etherpad txt
Cuidado! Senhas estarão em texto plano no sistema de arquivos. Você pode pelo menos dificultar o acesso a elas alterando as permissões do arquivo: sudo chmod 600 ~/.paicemana
A segurança poderá ser revista levando-se em consideração chave SSH ou caching de senha.
Um pessoa do projeto click me instruiu a usar estratégia de subcomandos. Começando a ensaiá-la:
paicemana weeklyosm get ARCHIVE as NUMBER|FILENAME
--sync
--backup / --no-backup
--diff / --no-diff
paicemana weeklyosm put ARCHIVE
paicemana weeklyosm github
--info
populate MILESTONE [--simple]
open [ARCHIVE]
--page [issues|commits|diff]
--milestone INTEGER
paicemana weeklyosm kanban [MILESTONE] [--user USER]
paicemana weeklyosm osmbrasil
paicemana osmbrasil
paicemana etherpad HASH FILENAME_PATTERN