Source code for koapy.cli.commands.get.stock_meta.codelist

import click

from koapy.cli.commands.get.stock_meta.codelist_interactive import codelist_interactive
from koapy.cli.utils.verbose_option import verbose_option

[docs]market_codes = [ "0", "10", "3", "8", "50", "4", "5", "6", "9", "30", "all", ]
@click.command(short_help="Get stock codes.") @click.option( "-m", "--market", "markets", metavar="MARKET", multiple=True, type=click.Choice(market_codes, case_sensitive=False), help="Stock market code to get. Can set multiple times.", ) @click.option( "-p", "--port", metavar="PORT", help="Port number of grpc server (optional)." ) @verbose_option()
[docs]def codelist(markets, port): """ \b Possible market codes are: 0 : 장내 10 : 코스닥 3 : ELW 8 : ETF 50 : KONEX 4 : 뮤추얼펀드 5 : 신주인수권 6 : 리츠 9 : 하이얼펀드 30 : K-OTC """ if not markets and click.get_text_stream("stdin").isatty(): return codelist_interactive() from koapy.backend.kiwoom_open_api_plus.core.KiwoomOpenApiPlusEntrypoint import ( KiwoomOpenApiPlusEntrypoint, ) with KiwoomOpenApiPlusEntrypoint(port=port) as context: context.EnsureConnected() codes = set() for market in markets: codes = codes.union(set(context.GetCodeListByMarketAsList(market))) codes = sorted(list(codes)) for code in codes: click.echo(code)
[docs]def main(): codelist() # pylint: disable=no-value-for-parameter
if __name__ == "__main__": main()