mula


Namemula JSON
Version 0.0.5 PyPI version JSON
download
home_pagehttps://github.com/senapk/mula
Summarymula: Tool for moodle vpl operations
upload_time2024-03-16 12:47:27
maintainer
docs_urlNone
authorDavid Sena Oliveira
requires_python>=3.7, <4
license
keywords programming learning
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # mula - Moodle Update for Lazy Admins

<!-- toc -->
- [Instalação](#instalação)
- [Configurando acesso ao curso](#configurando-acesso-ao-curso)
  - [Modo rápido](#modo-rápido)
- [Facilitando acesso](#facilitando-acesso)
  - [Alias](#alias)
  - [Arquivo de configuração](#arquivo-de-configuração)
- [Listando estrutura de um curso](#listando-estrutura-de-um-curso)
- [Adicionando](#adicionando)
  - [Utilizando labels](#utilizando-labels)
  - [Atualizando atividades em bloco](#atualizando-atividades-em-bloco)
- [Removendo](#removendo)
<!-- toc -->

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

[![image](https://gist.github.com/assets/4747652/d3fc3448-8766-41e9-8416-a3fae6044e3b)](https://youtu.be/BB8-IkU2X6U)

## Instalação

```bash

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

```bash
mula -u <usuario> -p <senha> -i <numero_do_curso> -d <fup | ed | poo> list
```

Para obter o número do curso, basta olhar o último número na URL do seu curso do moodle.

![image](https://gist.github.com/assets/4747652/f6f81a28-d3dc-4d30-ac20-e90ff85ddcdd)

Se não passar o parâmetro -p ou --password, a senha será perguntada de forma interativa.

Agora basta dar um `mula -u <usuario> -p <senha> -i <indice_do_curso> -d <fup | ed | poo> list` para listar o conteúdo do seu curso.

## Facilitando acesso

### Alias

Você pode criar um alias para o comando, para não precisar passar os parâmetros toda vez.

```bash
#arquivo .bashrc
alias meucurso='mula -u seu_login -p sua_senha -i indice_do_curso -d fup'

#exemplo
alias fupisfun='mula -u 00427166322 -p minha_senha -i 3 -d fup'
```

Então, basta dar um `meucurso list` para listar o conteúdo do seu curso.

### Arquivo de configuração

Se preferir, pode salvar os dados em um arquivo de configuração.

```json
{
    "username": "seu_login",
    "password": "sua_senha",
    "index": "indice_do_curso",
    "database": "fup | ed | poo",
}
```

Se não adicionar o password, o script vai perguntar sua senha em cada operação. Agora basta dar um:

```bash
mula -c arquivo.json list
```

## Listando estrutura de um curso

Supondo que você criou o alias `meucurso`, vamos continuar os exemplos com ele.

Para saber se está funcionando, você pode listar as questões do seu curso.

``` bash
meucurso list
```

## Adicionando

### 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

``` bash
meucurso add 5:002 6:003 
```

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

``` bash
  -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`.

``` bash
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

- `--content` ou `-c` 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:

``` bash
# 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 --content --maxfiles 5

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

## Removendo

``` bash
# 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
```

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/senapk/mula",
    "name": "mula",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.7, <4",
    "maintainer_email": "",
    "keywords": "programming,learning",
    "author": "David Sena Oliveira",
    "author_email": "sena@ufc.br",
    "download_url": "https://files.pythonhosted.org/packages/13/01/9f0cdd29ecf1e6294a54ffc67425a721cf0af9e9b8e24c0dfde7296ff494/mula-0.0.5.tar.gz",
    "platform": null,
    "description": "# mula - Moodle Update for Lazy Admins\n\n<!-- toc -->\n- [Instala\u00e7\u00e3o](#instala\u00e7\u00e3o)\n- [Configurando acesso ao curso](#configurando-acesso-ao-curso)\n  - [Modo r\u00e1pido](#modo-r\u00e1pido)\n- [Facilitando acesso](#facilitando-acesso)\n  - [Alias](#alias)\n  - [Arquivo de configura\u00e7\u00e3o](#arquivo-de-configura\u00e7\u00e3o)\n- [Listando estrutura de um curso](#listando-estrutura-de-um-curso)\n- [Adicionando](#adicionando)\n  - [Utilizando labels](#utilizando-labels)\n  - [Atualizando atividades em bloco](#atualizando-atividades-em-bloco)\n- [Removendo](#removendo)\n<!-- toc -->\n\n## V\u00eddeo de Apresenta\u00e7\u00e3o (4 min)\n\n[![image](https://gist.github.com/assets/4747652/d3fc3448-8766-41e9-8416-a3fae6044e3b)](https://youtu.be/BB8-IkU2X6U)\n\n## Instala\u00e7\u00e3o\n\n```bash\n\npip install mula\n\n## se aparecerem mensagens que a pasta ~/.local/bin n\u00e3o est\u00e1 no PATH\necho \"export PATH=$PATH:~/.local/bin\" >> ~/.bashrc\n```\n\n## Configurando acesso ao curso\n\n### Modo r\u00e1pido\n\n```bash\nmula -u <usuario> -p <senha> -i <numero_do_curso> -d <fup | ed | poo> list\n```\n\nPara obter o n\u00famero do curso, basta olhar o \u00faltimo n\u00famero na URL do seu curso do moodle.\n\n![image](https://gist.github.com/assets/4747652/f6f81a28-d3dc-4d30-ac20-e90ff85ddcdd)\n\nSe n\u00e3o passar o par\u00e2metro -p ou --password, a senha ser\u00e1 perguntada de forma interativa.\n\nAgora basta dar um `mula -u <usuario> -p <senha> -i <indice_do_curso> -d <fup | ed | poo> list` para listar o conte\u00fado do seu curso.\n\n## Facilitando acesso\n\n### Alias\n\nVoc\u00ea pode criar um alias para o comando, para n\u00e3o precisar passar os par\u00e2metros toda vez.\n\n```bash\n#arquivo .bashrc\nalias meucurso='mula -u seu_login -p sua_senha -i indice_do_curso -d fup'\n\n#exemplo\nalias fupisfun='mula -u 00427166322 -p minha_senha -i 3 -d fup'\n```\n\nEnt\u00e3o, basta dar um `meucurso list` para listar o conte\u00fado do seu curso.\n\n### Arquivo de configura\u00e7\u00e3o\n\nSe preferir, pode salvar os dados em um arquivo de configura\u00e7\u00e3o.\n\n```json\n{\n    \"username\": \"seu_login\",\n    \"password\": \"sua_senha\",\n    \"index\": \"indice_do_curso\",\n    \"database\": \"fup | ed | poo\",\n}\n```\n\nSe n\u00e3o adicionar o password, o script vai perguntar sua senha em cada opera\u00e7\u00e3o. Agora basta dar um:\n\n```bash\nmula -c arquivo.json list\n```\n\n## Listando estrutura de um curso\n\nSupondo que voc\u00ea criou o alias `meucurso`, vamos continuar os exemplos com ele.\n\nPara saber se est\u00e1 funcionando, voc\u00ea pode listar as quest\u00f5es do seu curso.\n\n``` bash\nmeucurso list\n```\n\n## Adicionando\n\n### Utilizando labels\n\nO procedimento padr\u00e3o para inser\u00e7\u00e3o \u00e9 utilizando as quest\u00f5es do reposit\u00f3rio remoto configurado no arquivo de configura\u00e7\u00f5es. Para FUP, o reposit\u00f3rio padr\u00e3o est\u00e1 no [github](https://github.com/qxcodefup/arcade#qxcodefup).\n\nPara enviar as quest\u00e3o `A idade de Dona @monica` e `@opala bebedor` para a se\u00e7\u00e3o 5 do seu curso do moodle use:\n\n``` bash\nmeucurso add -s 5 monica opala\n\n# ou utilizando o modo compacto\n\nmeucurso add 5:monica 5:opala\n```\n\nOu enviar quest\u00f5es para diferentes se\u00e7\u00f5es utilizando o modo compacto\n\n``` bash\nmeucurso add 5:002 6:003 \n```\n\nO comando `add` tem v\u00e1rias op\u00e7\u00f5es de personaliza\u00e7\u00e3o.\n\n``` bash\n  -s SECTION, --section SECTION\n  -d DUEDATE, --duedate DUEDATE\n                        duedate 0 to disable or duedate yyyy:m:d:h:m\n  -m MAXFILES, --maxfiles MAXFILES\n                        max student files\n  -v VISIBLE, --visible VISIBLE\n                        make entry visible 1 or 0\n```\n\n### Atualizando atividades em bloco\n\nVoc\u00ea pode atualizar todas as quest\u00f5es de uma se\u00e7\u00e3o com o comando `update`.\n\n``` bash\nmeucurso update <quais problemas> <o que queres atualizar>\n```\n\nQuais problemas pode ser\n\n- `--all` ou `-a` para todas as quest\u00f5es do curso\n- `--sections 4` ou `-s 4` para todas as quest\u00f5es da se\u00e7\u00e3o 4\n- `--labels monica opala` ou `-l monica opala` para as quest\u00e3o de label monica e opala\n\nOp\u00e7\u00f5es podem ser\n\n- `--content` ou `-c` para atualizar o conte\u00fado das quest\u00f5es pelo conte\u00fado do reposit\u00f3rio remoto\n- `--duedate 2021:5:28:11:30` para definir o hor\u00e1rio de fechamento da atividade, ou `0` para desabilitar\n- `--exec` para habilitar as op\u00e7\u00f5es de execu\u00e7\u00e3o (run, avaliate, debug)\n- `--visible <0 | 1>` para mostrar ou esconder a quest\u00f5es.\n- `--maxfiles 3` para definir o n\u00famero m\u00e1ximo de arquivos que o aluno pode enviar.\n\nExemplos:\n\n``` bash\n# esconder todas as quest\u00f5es da sess\u00e3o 3\nmeucurso update -s 3 --visible 0\n\n# atualizar o conte\u00fado de todas as quest\u00f5es do curso usando o reposit\u00f3rio remoto e tamb\u00e9m mudar o m\u00e1ximo de arquivos para 5\nmeucurso update --all --content --maxfiles 5\n\n# mudar a data de fechamento das quest\u00f5es da se\u00e7\u00e3o 4\nmeucurso update -s 4 --duedate 2021:5:28:11:30\n```\n\n## Removendo\n\n``` bash\n# para remover todos os vpls da se\u00e7\u00e3o 4\n$ meucurso rm -s 4\n\n# para remover as quest\u00f5es passando os IDS\n$ meucurso rm -i 19234 18234 19234\n\n# para remover TODOS os vpls do curso\n$ meucurso rm --all\n```\n",
    "bugtrack_url": null,
    "license": "",
    "summary": "mula: Tool for moodle vpl operations",
    "version": "0.0.5",
    "project_urls": {
        "Bug Reports": "https://github.com/senapk/mula/issues",
        "Homepage": "https://github.com/senapk/mula",
        "Source": "https://github.com/senapk/mula/"
    },
    "split_keywords": [
        "programming",
        "learning"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "6d53bc0051463032d65eb45f12b97087805b165264e9bfb603ffb9caf81a0f7b",
                "md5": "1921b8a98eed73786e8e4513768ed3c3",
                "sha256": "9bf079cb53fda927c17aae7bb630b896db1730200b8367499a8dfbf56770f9e3"
            },
            "downloads": -1,
            "filename": "mula-0.0.5-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "1921b8a98eed73786e8e4513768ed3c3",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.7, <4",
            "size": 16991,
            "upload_time": "2024-03-16T12:47:24",
            "upload_time_iso_8601": "2024-03-16T12:47:24.902266Z",
            "url": "https://files.pythonhosted.org/packages/6d/53/bc0051463032d65eb45f12b97087805b165264e9bfb603ffb9caf81a0f7b/mula-0.0.5-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "13019f0cdd29ecf1e6294a54ffc67425a721cf0af9e9b8e24c0dfde7296ff494",
                "md5": "99a9253ad10c3404db3f1562fe3ce85e",
                "sha256": "8171a0be5d386a8740f7ab6fde4e7c888ebe8d4403546c1893051b51e9fe2dd5"
            },
            "downloads": -1,
            "filename": "mula-0.0.5.tar.gz",
            "has_sig": false,
            "md5_digest": "99a9253ad10c3404db3f1562fe3ce85e",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.7, <4",
            "size": 16823,
            "upload_time": "2024-03-16T12:47:27",
            "upload_time_iso_8601": "2024-03-16T12:47:27.115463Z",
            "url": "https://files.pythonhosted.org/packages/13/01/9f0cdd29ecf1e6294a54ffc67425a721cf0af9e9b8e24c0dfde7296ff494/mula-0.0.5.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-03-16 12:47:27",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "senapk",
    "github_project": "mula",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "requirements": [],
    "lcname": "mula"
}
        
Elapsed time: 2.06582s