Не использовал ваш sql выше, но вот пример обновления таблицы на основе инструкции объединения.
UPDATE p
SET p.category = c.category
FROM products p
INNER JOIN prodductcatagories pg
ON p.productid = pg.productid
INNER JOIN categories c
ON pg.categoryid = c.cateogryid
WHERE c.categories LIKE 'whole%'
Подумайте о рефакторинге вашего кода!
Чтобы ответить на ваш вопрос, вы можете передать строку из main.py
в gen_json.main('...')
и далее в gen_json.get_config('...')
. Argparse оценит эту строку, которую нужно разбить на список.
Вы по-прежнему можете вызывать generate.py с параметрами командной строки.
Обратите внимание, что я удалил ненужный / неправильный код / идентификацию , чтобы показать, как это может работать в принципе.
generate.py:
import argparse
import sys
def main(cliParams=None):
cfg, data, date = get_config(cliParams)
print (cfg, data, date)
#json_location = cfg
#json_database = data["config"]["database"]
#json_collection = data["config"]["collection"]
#json_path = "{0}/{1}{2}/{3}/{3}.json".format(json_location, date, json_database, json_collection)
#print json_path
def get_config(cliParams=None):
parser = argparse.ArgumentParser()
parser.add_argument("-p", "--parameter-file", action="store", required=True)
parser.add_argument("-e", "--export-data-file", action="store", required=True)
parser.add_argument("-d", "--export-date", action="store", required=True)
if not cliParams:
args = parser.parse_args()
else:
args = parser.parse_args(cliParams.split())
#return [args.parameter_file, funcs.read_config(args.export_data_file), args.export_date]
return [args.parameter_file, args.export_data_file, args.export_date]
if __name__ == "__main__":
logging.getLogger().setLevel(logging.INFO)
main()
main.py:
import os
import generate as gen_json
def generate_json():
path = '/tmp/foo.yml'
data = 'export_agent_core_agent.yaml'
date = '2019-01-15'
argParseString = '-p %s -e %s -d %s' % (path, data, date)
gen_json.main(argParseString)
if __name__ == '__main__':
generate_json()
Печать на стандартный вывод:
>>> /tmp/foo.yml export_agent_core_agent.yaml 2019-01-15