Skip to main content

mula - Moodle Update for Lazy Admins

Vídeo de Apresentação (4 min)

image

Instalação

Instalação no Windows

Abra o power shell como administrador e execute o comando:

pip install mula

Instalação no Linux

pip install mula

## se aparecerem mensagens que a pasta ~/.local/bin não está no PATH
echo "export PATH=$PATH:~/.local/bin" >> ~/.bashrc

Configurando acesso ao curso

Modo rápido

# fazer autenticação e salvar credenciais
mula auth

# listar seus cursos
mula courses

# criar um alias para um curso
mula alias <nome_do_alias> <id_do_curso>

# listar um curso
mula list <nome_do_alias ou id_do_curso>

# adicionar questões usando repositório remoto fup | ed | poo
mula add -c <alias> -r <repositorio> sessao:label sessao:label ...
# exemplo
# mula add -c meu_fup -r fup 3:monica 5:opala 7:baruel

# adicionar questões usando repositório local
mula add -c <alias> -f <folder> sessao:label sessao:label ...
# exemplo
# mula add -c meu_fup -f arcade/base 3:monica 5:opala 7:baruel

# uma ação de add ou update gera automaticamente um arquivo follow.csv onde você pode
# acompanhar o andamento da publicação das questões, se tiver que retomar o processo
# você pode usar o comando mula --follow <arquivo> para continuar o processo
mula add -c <alias> -f <folder> --follow follow.csv

# também pode passar --threads para usar múltiplas threads
mula add -c <alias> -f <folder> --follow follow.csv --threads 4

# o update seguie o mesmo modelo do add, mas ao invés de adicionar questões
# você precisa informar o que quer atualizar
# --ids <ids> para atualizar questões específicas
# --sections <ids> para atualizar todas as questões de uma seção
# --all para atualizar todas as questões do curso
# --label <labels> para atualizar questões específicas

# E também pode escolher o que quer atualizar
# --info para atualizar as informações da questão
# --drafts para enviar os arquivos de rascunho
# --duedate para atualizar a data de fechamento
# --exec para habilitar as opções de execução (run, avaliate, debug)
# --visible para mostrar ou esconder a questões.
# --maxfiles para definir o número máximo de arquivos que o aluno pode enviar.

Create e Follow

Nos comandos de adicionar e atualizar questões, você pode usar a opção --follow para criar um arquivo CSV com o andamento do processo. Você pode usar esse arquivo para continuar o processo de adição ou atualização de questões.

Esse arquivo é criado automaticamente quando você usa o comando add ou update. Caso queira apenas criar o arquivo, você pode usar o comando --create para criar o arquivo CSV sem adicionar ou atualizar imediatamente as questões.

Analizando o arquivo criado, você pode decidir quais ações devem ser feitas (TODO), quais quer pular(SKIP), quais deram erro(FAIL) e quais foram concluídas(DONE).

Olhando o arquivo durante a execução, é possível ver o andamento das threads em tempo real.

Também é possível definir manualmente qual a label cadas arquivo vai utilizar no update para atualizar a questão, caso a questão antiga esteja num modelo sem a label ou a label tenha sido alterada.

### Utilizando labels

O procedimento padrão para inserção é utilizando as questões do repositório remoto configurado no arquivo de configurações. Para FUP, o repositório padrão está no [github](https://github.com/qxcodefup/arcade#qxcodefup).

Para enviar as questão `A idade de Dona @monica` e `@opala bebedor` para a seção 5 do seu curso do moodle use:

``` bash
meucurso add -s 5 monica opala

# ou utilizando o modo compacto

meucurso add 5:monica 5:opala

Ou enviar questões para diferentes seções utilizando o modo compacto

meucurso add 5:002 6:003 

O comando add tem várias opções de personalização.

  -s SECTION, --section SECTION
  -d DUEDATE, --duedate DUEDATE
                        duedate 0 to disable or duedate yyyy:m:d:h:m
  -m MAXFILES, --maxfiles MAXFILES
                        max student files
  -v VISIBLE, --visible VISIBLE
                        make entry visible 1 or 0

Atualizando atividades em bloco

Você pode atualizar todas as questões de uma seção com o comando update.

meucurso update <quais problemas> <o que queres atualizar>

Quais problemas pode ser

  • --all ou -a para todas as questões do curso
  • --sections 4 ou -s 4 para todas as questões da seção 4
  • --labels monica opala ou -l monica opala para as questão de label monica e opala

Opções podem ser

  • --info para atualizar o conteúdo das questões pelo conteúdo do repositório remoto
  • --duedate 2021:5:28:11:30 para definir o horário de fechamento da atividade, ou 0 para desabilitar
  • --exec para habilitar as opções de execução (run, avaliate, debug)
  • --visible <0 | 1> para mostrar ou esconder a questões.
  • --maxfiles 3 para definir o número máximo de arquivos que o aluno pode enviar.

Exemplos:

# esconder todas as questões da sessão 3
meucurso update -s 3 --visible 0

# atualizar o conteúdo de todas as questões do curso usando o repositório remoto e também mudar o máximo de arquivos para 5
meucurso update --all --info --maxfiles 5 --remote [fup | ed | poo]
#vode tambem pode utilizar um repositorio local ai seria --folder ./local do arquivo

# mudar a data de fechamento das questões da seção 4
meucurso update -s 4 --duedate 2021:5:28:11:30

Removendo

# para remover todos os vpls da seção 4
$ meucurso rm -s 4

# para remover as questões passando os IDS
$ meucurso rm -i 19234 18234 19234

# para remover TODOS os vpls do curso
$ meucurso rm --all

Release files for mula 1.6.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for mula 1.6.1
File Size Uploaded
mula-1.6.1.tar.gz 22.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for mula 1.6.1
File Interpreter ABI Platform
mula-1.6.1-py3-none-any.whl Python 3 none any Details

Total release size: 48.8 kB

Release files / mula-1.6.1.tar.gz

Download URL mula-1.6.1.tar.gz
Size 22.1 kB
Tags Source
SHA-256 checksum
How to use checksums
f4d3c53189411df1ab925648dcf230853c3a4fc45300f518a86ef1c67120b361
BLAKE2b-256 checksum
How to use checksums
e666d2e2616910b68925ac46549ba40258dbe1ea4fe2eac2a89a567d9738b5b2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.7.6

Release files / mula-1.6.1-py3-none-any.whl

Download URL mula-1.6.1-py3-none-any.whl
Size 26.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
40edcca8d8a9bb5e82bcf7e599beadcec2453e3d00cc2a6a7f464d879da9158e
BLAKE2b-256 checksum
How to use checksums
45448e8d5bd775cb70948a2e90e29276ed5f8ab02a90febba99e6415f09c526e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.7.6

Release history Release notifications | RSS feed

This release

1.6.1 This release

2 release files

1.6.0

2 release files

1.5.0

2 release files

1.4.1

2 release files

1.4.0

2 release files

1.3.2

2 release files

1.3.1

2 release files

1.3.0

2 release files

1.2.0

2 release files

1.1.0

2 release files

1.0.4

2 release files

1.0.3

2 release files

1.0.2

2 release files

1.0.1

2 release files

1.0.0

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

0.0.7

2 release files

0.0.6

2 release files

0.0.5

2 release files

0.0.4

2 release files

0.0.3

2 release files

0.0.2

2 release files

0.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page