Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # /usr/bin/python3!
- #_*_coding:utf-8_*_
- # Imports.
- """Generator Files Features.
- @date= mar 17 dic 2019 17:08:27 CET
- @authors= Juan Reinosa, Marco Baturan
- @version= 0.2
- Tool for read analysis file with list
- of features and scenarios and generate
- a skeleton in folder project for
- concatenate the steps of analysis with
- generating the features files.
- It has four components:
- - read function
- - parser function
- - structure function
- - language function
- :var list.txt
- TODO:
- - fubción de control #PENDANT!!
- For read this help:
- >>>help(generator_files_features)
- Format file example:
- *Bank_function_lang
- +Feature name
- -Scenario name
- And generate a file with format:
- Bank_Function_Lang.feature
- @Decorator
- Feature: [lang] bankName featureName
- @lang
- Scenario: [lang] scenario name
- '...'
- """
- def abstracto_afs(signos=''):
- """Abstracción de la función.
- Esta función es una abstracción de la
- generación de archivos, caracteristicas y
- escenarios.
- Se la tiene que invocar por paso por
- variable en la función principal.
- """
- signo=signos # Indica por cual signo buscar.
- eliminar='' # Reemplaza el signo *.
- datos=[] # Almacena la lista de lineas de cada tipo.
- with open('list.txt','r') as lineas: # Abre el listado.
- for linea in lineas: # Lee linea por linea.
- if signo in linea: # Si hay signo en linea.
- # Busca el signo, remplaza por nada y agrega el titulo a lista.
- datos.append(linea.replace(signo,eliminar))
- return datos # Devuelve el resultado.
- def generador():
- titulo = abstracto_afs('*') # Invoca función externa para título.
- feature = abstracto_afs('+') # Invoca función externa para caracteristica.
- scenario = abstracto_afs('-') # Invoca función externa para escenario.
- for t in titulo: # Crea el archivo.
- t=t[:-1] # Quita salto de linea.
- f = open('{}.feature'.format(t), 'w') # Abre archivo.
- t=t.replace('_','') # Quita el _.
- lang = t[-3:] # Coje idioma.
- t=t[:-3] # Quita idioma de linea.
- f.write('@{}_setup\n'.format(t)) # Inserta decorador.
- for item in feature: # Busca elemento en feature.
- # Escribe en el archivo la linea compuesta.
- f.write('Feature: [{}] {}\n'.format(lang, item))
- # Busca en scenario.
- for s in scenario: # Crea los escenarios.
- f.write('\n') # Salto de linea.
- f.write(' @{}\n'.format(lang)) # Idioma.
- # Escribe en el archivo la linea compuesta.
- f.write(' Scenario: [{}] Validate {}\n'.format(lang, s))
- generador()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement