Skip to content

Instantly share code, notes, and snippets.

@eliassoares
Created September 18, 2019 14:04
Show Gist options
  • Save eliassoares/5e4d5a7474a5d37300af7f664cfeb2e6 to your computer and use it in GitHub Desktop.
Save eliassoares/5e4d5a7474a5d37300af7f664cfeb2e6 to your computer and use it in GitHub Desktop.
from re import findall, M, I
import os.path
def parse_queries():
"""
Irá parsear um arquivo .sql com as queries de SELECT necessárias
e irá retornar um dicionário contendo o nome da query no arquivo, como chave
e a query especificamente como valor.
"""
pattern = r"--[ ]?name:[ ]?([a-z\-_]*)\n([a-zA-Z _.,0-9\()\n'-:@=\"?>=<\[\]\$%]*);"
queries = {}
with open(os.path.dirname(__file__) + '/queries.sql', 'r') as f:
file_queries = f.read()
matches = findall(pattern, file_queries, M|I)
for query in matches:
queries[query[0]] = query[1]
return queries
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment