當前位置: 首頁>>代碼示例>>Python>>正文


Python utils.parse_args方法代碼示例

本文整理匯總了Python中singer.utils.parse_args方法的典型用法代碼示例。如果您正苦於以下問題:Python utils.parse_args方法的具體用法?Python utils.parse_args怎麽用?Python utils.parse_args使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在singer.utils的用法示例。


在下文中一共展示了utils.parse_args方法的12個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Python代碼示例。

示例1: main_impl

# 需要導入模塊: from singer import utils [as 別名]
# 或者: from singer.utils import parse_args [as 別名]
def main_impl():
    args = utils.parse_args(
        ["redirect_uri",
         "client_id",
         "client_secret",
         "refresh_token",
         "start_date"])

    CONFIG.update(args.config)
    STATE = {}

    if args.state:
        STATE.update(args.state)

    if args.discover:
        do_discover()
    elif args.properties:
        do_sync(STATE, args.properties)
    else:
        LOGGER.info("No properties were selected") 
開發者ID:singer-io,項目名稱:tap-hubspot,代碼行數:22,代碼來源:__init__.py

示例2: main

# 需要導入模塊: from singer import utils [as 別名]
# 或者: from singer.utils import parse_args [as 別名]
def main():
    args = utils.parse_args(REQUIRED_CONFIG_KEYS)

    #NB> this code will only work correctly when the local time is set to UTC because of calls to the  timestamp() method.
    os.environ['TZ'] = 'UTC'

    mysql_conn = MySQLConnection(args.config)
    log_server_params(mysql_conn)

    if args.discover:
        do_discover(mysql_conn, args.config)
    elif args.catalog:
        state = args.state or {}
        do_sync(mysql_conn, args.config, args.catalog, state)
    elif args.properties:
        catalog = Catalog.from_dict(args.properties)
        state = args.state or {}
        do_sync(mysql_conn, args.config, catalog, state)
    else:
        LOGGER.info("No properties were selected") 
開發者ID:singer-io,項目名稱:tap-mysql,代碼行數:22,代碼來源:__init__.py

示例3: main

# 需要導入模塊: from singer import utils [as 別名]
# 或者: from singer.utils import parse_args [as 別名]
def main():

    # Parse command line arguments
    args = utils.parse_args(REQUIRED_CONFIG_KEYS)

    # If discover flag was passed, run discovery mode and dump output to stdout
    if args.discover:
        catalog = discover()
        print(json.dumps(catalog, indent=2))
    # Otherwise run in sync mode
    else:
        Context.tap_start = utils.now()
        if args.catalog:
            Context.catalog = args.catalog.to_dict()
        else:
            Context.catalog = discover()

        Context.config = args.config
        Context.state = args.state
        sync() 
開發者ID:singer-io,項目名稱:tap-shopify,代碼行數:22,代碼來源:__init__.py

示例4: main_impl

# 需要導入模塊: from singer import utils [as 別名]
# 或者: from singer.utils import parse_args [as 別名]
def main_impl():
    args = singer_utils.parse_args(REQUIRED_CONFIG_KEYS)
    CONFIG.update(args.config)

    sf = None
    try:
        sf = Salesforce(
            refresh_token=CONFIG['refresh_token'],
            sf_client_id=CONFIG['client_id'],
            sf_client_secret=CONFIG['client_secret'],
            quota_percent_total=CONFIG.get('quota_percent_total'),
            quota_percent_per_run=CONFIG.get('quota_percent_per_run'),
            is_sandbox=CONFIG.get('is_sandbox'),
            select_fields_by_default=CONFIG.get('select_fields_by_default'),
            default_start_date=CONFIG.get('start_date'),
            api_type=CONFIG.get('api_type'))
        sf.login()

        if args.discover:
            do_discover(sf)
        elif args.properties:
            catalog = args.properties
            state = build_state(args.state, catalog)
            do_sync(sf, catalog, state)
    finally:
        if sf:
            if sf.rest_requests_attempted > 0:
                LOGGER.debug(
                    "This job used %s REST requests towards the Salesforce quota.",
                    sf.rest_requests_attempted)
            if sf.jobs_completed > 0:
                LOGGER.debug(
                    "Replication used %s Bulk API jobs towards the Salesforce quota.",
                    sf.jobs_completed)
            if sf.login_timer:
                sf.login_timer.cancel() 
開發者ID:singer-io,項目名稱:tap-salesforce,代碼行數:38,代碼來源:__init__.py

示例5: setup_context

# 需要導入模塊: from singer import utils [as 別名]
# 或者: from singer.utils import parse_args [as 別名]
def setup_context():
    args = utils.parse_args(REQUIRED_CONFIG_KEYS)
    Context.config = args.config
    Context.state = args.state 
開發者ID:singer-io,項目名稱:tap-jira,代碼行數:6,代碼來源:looking_at_issues_and_fields.py

示例6: get_args

# 需要導入模塊: from singer import utils [as 別名]
# 或者: from singer.utils import parse_args [as 別名]
def get_args():
    unchecked_args = utils.parse_args([])
    if 'username' in unchecked_args.config.keys():
        return utils.parse_args(REQUIRED_CONFIG_KEYS_HOSTED)

    return utils.parse_args(REQUIRED_CONFIG_KEYS_CLOUD) 
開發者ID:singer-io,項目名稱:tap-jira,代碼行數:8,代碼來源:__init__.py

示例7: main_impl

# 需要導入模塊: from singer import utils [as 別名]
# 或者: from singer.utils import parse_args [as 別名]
def main_impl():
    args = utils.parse_args(REQUIRED_CONFIG_KEYS)
    account_id = args.config['account_id']
    access_token = args.config['access_token']

    CONFIG.update(args.config)

    global RESULT_RETURN_LIMIT
    RESULT_RETURN_LIMIT = CONFIG.get('result_return_limit', RESULT_RETURN_LIMIT)

    global API
    API = FacebookAdsApi.init(access_token=access_token)
    user = fb_user.User(fbid='me')
    accounts = user.get_ad_accounts()
    account = None
    for acc in accounts:
        if acc['account_id'] == account_id:
            account = acc
    if not account:
        raise TapFacebookException("Couldn't find account with id {}".format(account_id))

    if args.discover:
        do_discover()
    elif args.properties:
        catalog = Catalog.from_dict(args.properties)
        do_sync(account, catalog, args.state)
    else:
        LOGGER.info("No properties were selected") 
開發者ID:singer-io,項目名稱:tap-facebook,代碼行數:30,代碼來源:__init__.py

示例8: main

# 需要導入模塊: from singer import utils [as 別名]
# 或者: from singer.utils import parse_args [as 別名]
def main():
    args = utils.parse_args(tap_facebook.REQUIRED_CONFIG_KEYS)

    with tempfile.TemporaryDirectory(prefix='insights-experiment-') as config_dir:

        while True:
            level = gen_level()
            breakdowns = gen_breakdowns()
            action_breakdowns = gen_action_breakdowns()
            if not action_breakdowns:
                action_attribution_windows = []
            else:
                action_attribution_windows = gen_action_attribution_windows()
            table = {
                'level': level,
                'action_breakdowns': action_breakdowns,
                'breakdowns': breakdowns,
                'action_attribution_windows': action_attribution_windows
            }
            field_set_name = random.choice(list(FIELD_SETS.keys()))
            fields = FIELD_SETS[field_set_name]
            config = copy.deepcopy(args.config)
            # config['insights_tables'] = [table]  Don't vary config right now
            result = run_tap(config_dir, config, table, field_set_name, fields)

            json.dump(result, sys.stdout)
            print("")
            sys.stdout.flush() 
開發者ID:singer-io,項目名稱:tap-facebook,代碼行數:30,代碼來源:insights_experiment.py

示例9: main_impl

# 需要導入模塊: from singer import utils [as 別名]
# 或者: from singer.utils import parse_args [as 別名]
def main_impl():
    args = utils.parse_args(REQUIRED_CONFIG_KEYS)

    CONFIG.update(args.config)
    STATE.update(args.state)
    customer_ids = CONFIG['customer_ids'].split(",")

    if args.discover:
        do_discover(customer_ids)
        LOGGER.info("Discovery complete")
    elif args.properties:
        do_sync_all_customers(customer_ids, args.properties)
        LOGGER.info("Sync Completed")
    else:
        LOGGER.info("No properties were selected") 
開發者ID:singer-io,項目名稱:tap-adwords,代碼行數:17,代碼來源:__init__.py

示例10: cli

# 需要導入模塊: from singer import utils [as 別名]
# 或者: from singer.utils import parse_args [as 別名]
def cli():
    args = utils.parse_args(REQUIRED_CONFIG_KEYS)

    main(args.config) 
開發者ID:datamill-co,項目名稱:target-postgres,代碼行數:6,代碼來源:__init__.py

示例11: main

# 需要導入模塊: from singer import utils [as 別名]
# 或者: from singer.utils import parse_args [as 別名]
def main(target):
    """
    Given a target, stream stdin input as a text stream.
    :param target: object which implements `write_batch` and `activate_version`
    :return: None
    """
    config = utils.parse_args([]).config
    input_stream = io.TextIOWrapper(sys.stdin.buffer, encoding='utf-8')
    stream_to_target(input_stream, target, config=config)

    return None 
開發者ID:datamill-co,項目名稱:target-postgres,代碼行數:13,代碼來源:target_tools.py

示例12: main

# 需要導入模塊: from singer import utils [as 別名]
# 或者: from singer.utils import parse_args [as 別名]
def main():
    # Parse command line arguments
    args = utils.parse_args(REQUIRED_CONFIG_KEYS)

    # If discover flag was passed, run discovery mode and dump output to stdout
    if args.discover:
        catalog = discover()
        catalog.dump()
    # Otherwise run in sync mode
    else:
        if args.catalog:
            catalog = args.catalog
        else:
            catalog = discover()
        sync(args.config, args.state, catalog) 
開發者ID:singer-io,項目名稱:singer-tap-template,代碼行數:17,代碼來源:__init__.py


注:本文中的singer.utils.parse_args方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。