Simple program that reads a template file and creates the folder structure and files based on the template.
Project description
SPLN-TP2 Template Multi-file
Daniel Faria PG50306 Hugo Brandão PG50418 João Cerquido PG50469
Projeto desenvolvido no âmbito da UC de SPLN. Permite a criação de uma estrutura de ficheiros e pastas, a partir de um ficheiro de template, podendo ser especificado o conteúdo de cada ficheiro criado. Também é possível realizar o processo inverso, ou seja, a partir de uma estrutura de ficheiros e pastas, criar um ficheiro de template.
Utilização:
utilização: Templater [-h] -i INPUT -t TYPE [-o OUTPUT] [-v [VARIABLES [VARIABLES ...]]]
Programa simples que lê um ficheiro de template e cria a estrutura de pastas e ficheiros com base no template. Também pode ser feito o inverso, pode ler uma estrutura de pastas e criar um ficheiro de template com base nela.
optional arguments:
-h, --help mostra esta mensagem de ajuda e sai
-i INPUT, --input INPUT
Input file ou folder
-t TYPE, --type TYPE
Tipo de operação. Pode ser template (gera template segundo uma diretoria) ou create (gera diretoria de um template file)
-o OUTPUT, --output OUTPUT
Output file ou folder
-v [VARIABLES [VARIABLES ...]], --variables [VARIABLES [VARIABLES ...]]
Variaveis a serem substituidas no template
Formato do template:
Seguindo o exemplo dado pelos professores no enunciado, o template deve ter a seguinte estrutura:
=== meta name: // provided or ask author: JJoao // provided or default
=== tree
pyproject.toml {{name}}/ init.py {{name}}.md exemplo/ README.md tests/ test-1.py unit/ test-2.py
=== pyproject.toml [build-system] requires = ["flit_core >=3.2,<4"] build-backend = "flit_core.buildapi"
[project] name = "{{name}}" authors = [ {name = "{{author}}", email = "FIXME"}] license = {file = "LICENSE"} dynamic = ["version", "description"] dependencies = [ ] readme = "{{name}}.md"
[project.scripts]
script1 = "{{name}}:main"
=== {{name}}/{{name}}.md
NAME
{{name}} - FIXME the fantastic module for...
=== {{name}}/init.py """ FIXME: docstring """ version = "0.1.0"
=== tests/test-1.py import pytest import {{name}}
def test_1(): assert "FIXME" == "FIXME"
O template deverá então ser constituído por 3 partes:
- metadata
- tree
- files
Onde na meta deverá conter o nome do projeto e o nome do autor, na tree deverá ser especificada a estrutura de pastas e ficheiros a ser criada, e na files deverá ser especificado o conteúdo de cada ficheiro.
Na tree, sempre que se trata duma pasta deverá ser especificado o nome da pasta seguido de uma barra, e todos os ficheiro dentro dessa pasta deverão estar identificados com um tab.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file templaterSPLN-0.1.tar.gz
.
File metadata
- Download URL: templaterSPLN-0.1.tar.gz
- Upload date:
- Size: 5.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: python-requests/2.22.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | be2a31f7b9c0263b07a9a855d2e7d2c86755ec8bb7b2b02e511fdda1f3c3850d |
|
MD5 | 1e13e2c34e10250d6e3678b403acccee |
|
BLAKE2b-256 | 22f1d1ac9d74483c4388a9d5f096f36b18b36a98bc327ef64739e6e1b939aa35 |
File details
Details for the file templaterspln-0.1-py2.py3-none-any.whl
.
File metadata
- Download URL: templaterspln-0.1-py2.py3-none-any.whl
- Upload date:
- Size: 7.2 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: python-requests/2.22.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5d0df29bb2a8849d031995b79103ffb85debf84cd97b9ada04ce87f4c157415b |
|
MD5 | 342e011477122ae10400d168c15e4519 |
|
BLAKE2b-256 | f80f4ab627ff1f0d7d4b62a846c374cb971e3c2d68b91caa3030f567df6eb492 |