HANDLER - fingeredman/teanaps GitHub Wiki

TEANAPS API Documentation

Handler

1. teanaps.handler

1.1. teanaps.handler.FileHandler

Python Code (in Jupyter Notebook) :

from teanaps.handler import FileHandler

fh = FileHandler()
  • teanaps.handler.FileHandler.save_data(file_name, data) Top(https://github.com/fingeredman/teanaps/wiki/HANDLER#teanaps-api-documentation)

    • 데이터(λ³€μˆ˜, Pandas Dataframe λ“±)을 λ°”μ΄λ„ˆλ¦¬ 파일둜 μ €μž₯ν•©λ‹ˆλ‹€.

    • Parameters

      • file_name (str) : μ €μž₯ν•  파일 경둜 및 파일λͺ…. μ΅œλŒ€ 128자.
      • data (all) : μ €μž₯ν•  데이터가 μ €μž₯된 λ³€μˆ˜λͺ….
    • Returns

      • None
    • Examples

      Python Code (in Jupyter Notebook) :

      sample_list = ["리슀트", "λ”•μ…”λ„ˆλ¦¬", "λ¬Έμžμ—΄", "Pandas Dataframe", "λ“± λ³€μˆ˜λ₯Ό", "μ €μž₯ν•©λ‹ˆλ‹€."]
      fh.save_data("sample_list", sample_list)
      
  • teanaps.handler.FileHandler.load_data(file_name) Top(https://github.com/fingeredman/teanaps/wiki/HANDLER#teanaps-api-documentation)

    • 데이터(λ³€μˆ˜, Pandas Dataframe λ“±)κ°€ μ €μž₯된 λ°”μ΄λ„ˆλ¦¬ νŒŒμΌμ„ λΆˆλŸ¬μ™€ λ³€μˆ˜μ— μ €μž₯ν•©λ‹ˆλ‹€.

    • Parameters

      • file_name (str) : μ €μž₯ν•  파일 경둜 및 파일λͺ…. μ΅œλŒ€ 128자.
    • Returns

      • data (all) : μ €μž₯ν•  데이터가 μ €μž₯된 λ³€μˆ˜λͺ….
    • Examples

      Python Code (in Jupyter Notebook) :

      #sample_list = ["리슀트", "λ”•μ…”λ„ˆλ¦¬", "λ¬Έμžμ—΄", "Pandas Dataframe", "λ“± λ³€μˆ˜λ₯Ό", "μ €μž₯ν•©λ‹ˆλ‹€."]
      #fh.save_data("sample_list", sample_list)
      sample_list = fh.load_data("sample_list")
      print(sample_list)
      

      Output (in Jupyter Notebook) :

      ['리슀트', 'λ”•μ…”λ„ˆλ¦¬', 'λ¬Έμžμ—΄', 'Pandas Dataframe', 'λ“± λ³€μˆ˜λ₯Ό', 'μ €μž₯ν•©λ‹ˆλ‹€.']
      
  • teanaps.handler.FileHandler.save_txt(file_name, line_list, encoding="utf-8", separator="\t") Top(https://github.com/fingeredman/teanaps/wiki/HANDLER#teanaps-api-documentation)

    • λ¦¬μŠ€νŠΈμ— μ €μž₯된 ν…μŠ€νŠΈλ₯Ό ν…μŠ€νŠΈ 파일(.txt)둜 μ €μž₯ν•©λ‹ˆλ‹€.

    • Parameters

      • file_name (str) : μ €μž₯ν•  파일 경둜 및 파일λͺ…. μ΅œλŒ€ 128자.
      • line_list (str) : νŒŒμΌμ— μ“Έ λ‚΄μš©μ΄ μ €μž₯된 MxN 리슀트.
      • encoding (str) : 파일 인코딩 ν˜•μ‹.
      • separator (str) : νŒŒμΌμ— μ“Έ 라인의 컬럼 κ΅¬λΆ„μž.
    • Returns

      • None
    • Examples

      Python Code (in Jupyter Notebook) :

      line_list = [["A", "B", "C", "D"],     # Col Name (list)
                   ["a1", "b1", "c1", "d1"], # Line 1 (list)
                   ["a2", "b2", "c2", "d2"], # Line 2 (list)
                   ["a3", "b3", "c3", "d3"]  # Line 3 (list)
                  ]
      
      fh.save_txt("file_name.txt", line_list[0], encoding="utf-8", separator="\t")
      
  • teanaps.handler.FileHandler.load_txt(file_name, encoding="utf-8", separator="\t") Top(https://github.com/fingeredman/teanaps/wiki/HANDLER#teanaps-api-documentation)

    • λ¦¬μŠ€νŠΈμ— μ €μž₯된 ν…μŠ€νŠΈλ₯Ό ν…μŠ€νŠΈ 파일(.txt)둜 μ €μž₯ν•©λ‹ˆλ‹€.

    • Parameters

      • file_name (str) : μ €μž₯ν•  파일 경둜 및 파일λͺ…. μ΅œλŒ€ 128자.
      • encoding (str) : 파일 인코딩 ν˜•μ‹. μ΅œλŒ€ 128자.
      • separator (str) : νŒŒμΌμ— μ“Έ 라인의 컬럼 κ΅¬λΆ„μž.
    • Returns

      • line_list (str) : 파일 λ‚΄μš©μ΄ μ €μž₯된 MxN 리슀트.
    • Examples

      Python Code (in Jupyter Notebook) :

      line_list = [["A", "B", "C", "D"],     # Col Name (list)
                   ["a1", "b1", "c1", "d1"], # Line 1 (list)
                   ["a2", "b2", "c2", "d2"], # Line 2 (list)
                   ["a3", "b3", "c3", "d3"]  # Line 3 (list)
                  ]
      
      line_list  = fh.load_txt("file_name.txt", encoding="utf-8", separator="\t")
      print(line_list)
      

      Output (in Jupyter Notebook) :

      [['A', 'B', 'C', 'D'],     # Col Name (list)
       ['a1', 'b1', 'c1', 'd1'], # Line 1 (list)
       ['a2', 'b2', 'c2', 'd2'], # Line 2 (list)
       ['a3', 'b3', 'c3', 'd3']  # Line 3 (list)
      ]
      
  • teanaps.handler.FileHandler.pdf_converter(input_filename, output_filename) Top(https://github.com/fingeredman/teanaps/wiki/HANDLER#teanaps-api-documentation)

    • PDF ν˜•μ‹(.pdf)의 νŒŒμΌμ—μ„œ ν…μŠ€νŠΈ μ •λ³΄λ§Œ μΆ”μΆœν•˜μ—¬ ν…μŠ€νŠΈ 파일(.txt)둜 μ €μž₯ν•©λ‹ˆλ‹€.

    • Parameters

      • input_filename (str) : ν…μŠ€νŠΈλ₯Ό μΆ”μΆœν•  PDF 파일λͺ…. μ΅œλŒ€ 128자.
      • output_filename (str) : μΆ”μΆœν•œ ν…μŠ€νŠΈλ₯Ό μ €μž₯ν•  ν…μŠ€νŠΈ 파일λͺ…. μ΅œλŒ€ 128자.
    • Returns

      • None
    • Examples

      Python Code (in Jupyter Notebook) :

      input_filename  = "sample_pdf.pdf"
      output_filename  = "sample_pdf.txt"
      fh.pdf_converter(input_filename, output_filename)
      
  • teanaps.handler.FileHandler.docx_converter(input_filename, output_filename) Top(https://github.com/fingeredman/teanaps/wiki/HANDLER#teanaps-api-documentation)

    • MS-Word ν˜•μ‹(.docx)의 νŒŒμΌμ—μ„œ ν…μŠ€νŠΈ μ •λ³΄λ§Œ μΆ”μΆœν•˜μ—¬ ν…μŠ€νŠΈ 파일(.txt)둜 μ €μž₯ν•©λ‹ˆλ‹€.

    • Parameters

      • input_filename (str) : ν…μŠ€νŠΈλ₯Ό μΆ”μΆœν•  MS-Word 파일λͺ…. μ΅œλŒ€ 128자.
      • output_filename (str) : μΆ”μΆœν•œ ν…μŠ€νŠΈλ₯Ό μ €μž₯ν•  ν…μŠ€νŠΈ 파일λͺ…. μ΅œλŒ€ 128자.
    • Returns

      • None
    • Examples

      Python Code (in Jupyter Notebook) :

      input_filename  = "sample_docx.docx"
      output_filename  = "sample_docx.txt"
      fh.docx_converter(input_filename, output_filename)
      
  • teanaps.handler.FileHandler.pptx_converter(input_filename, output_filename) Top(https://github.com/fingeredman/teanaps/wiki/HANDLER#teanaps-api-documentation)

    • MS-PowerPoint ν˜•μ‹(.pptx)의 νŒŒμΌμ—μ„œ ν…μŠ€νŠΈ μ •λ³΄λ§Œ μΆ”μΆœν•˜μ—¬ ν…μŠ€νŠΈ 파일(.txt)둜 μ €μž₯ν•©λ‹ˆλ‹€.

    • Parameters

      • input_filename (str) : ν…μŠ€νŠΈλ₯Ό μΆ”μΆœν•  MS-PowerPoint 파일λͺ…. μ΅œλŒ€ 128자.
      • output_filename (str) : μΆ”μΆœν•œ ν…μŠ€νŠΈλ₯Ό μ €μž₯ν•  ν…μŠ€νŠΈ 파일λͺ…. μ΅œλŒ€ 128자.
    • Returns

      • None
    • Examples

      Python Code (in Jupyter Notebook) :

      input_filename  = "sample_pptx.pptx"
      output_filename  = "sample_pptx.txt"
      fh.pptx_converter(input_filename, output_filename)
      
1.2. teanaps.handler.MessageHandler

Python Code (in Jupyter Notebook) :

from teanaps.handler import MessageHandler

webhook_url = "https://hooks.slack.com/services/TNLDWA5B7/BNNKYJ7JS/GZ0~"
mh = MessageHandler(webhook_url)

Notes :

  • MessageHandlerλŠ” Slack λ©”μ‹ μ €λ₯Ό 톡해 λ©”μ‹œμ§€λ₯Ό λ°œμ†‘ν•©λ‹ˆλ‹€.
  • webhook_url은 Slack νšŒμ›κ°€μž… ν›„ Slack API Webhook URL νŽ˜μ΄μ§€μ—μ„œ λ°œκΈ‰ κ°€λŠ₯ν•©λ‹ˆλ‹€.
  • teanaps.nlp.MessageHandler.send_slack_msg(message) Top(https://github.com/fingeredman/teanaps/wiki/HANDLER#teanaps-api-documentation)
    • Webhook URL에 μ—°κ²°λœ Slack으둜 λ©”μ‹œμ§€λ₯Ό λ°œμ†‘ν•©λ‹ˆλ‹€.

    • Parameters

      • message (str) : ν•œκ΅­μ–΄ λ˜λŠ” μ˜μ–΄λ‘œ κ΅¬μ„±λœ λ¬Έμž₯.
    • Returns

      • None
    • Examples

      Python Code (in Jupyter Notebook) :

      message = "μŠ¬λž™μœΌλ‘œ λ©”μ‹œμ§€λ₯Ό λ°œμ†‘ν•©λ‹ˆλ‹€."
      mh.send_slack_msg(message)
      
1.3. teanaps.handler.QueueHandler

Python Code (in Jupyter Notebook) :

from teanaps.handler import QueueHandler

thread_count = 3
qh = QueueHandler(thread_count)

Notes :

  • QueueHandlerλŠ” thread_count의 수 만큼 μš”μ²­λœ ν•¨μˆ˜λ₯Ό λ™μ‹œμ— 순차적으둜 μ²˜λ¦¬ν•©λ‹ˆλ‹€.
  • teanaps.nlp.QueueHandler.add_lambda(function, parmeter_dict) Top(https://github.com/fingeredman/teanaps/wiki/HANDLER#teanaps-api-documentation)

    • μˆ˜ν–‰ν•  μž‘μ—…λ“€μ΄ μ €μž₯된 큐 (Queue)에 μž‘μ—…μ„ μΆ”κ°€ν•©λ‹ˆλ‹€.Webhook URL에 μ—°κ²°λœ Slack으둜 λ©”μ‹œμ§€λ₯Ό λ°œμ†‘ν•©λ‹ˆλ‹€.

    • Parameters

      • function (function) : νŠΉμ • μž‘μ—…μ„ μˆ˜ν–‰ν•˜λŠ” ν•¨μˆ˜.
      • parmeter_dict (dict) : function ν•¨μˆ˜μ˜ μž…λ ₯λ³€μˆ˜λ₯Ό ν¬ν•¨ν•˜λŠ” λ”•μ…”λ„ˆλ¦¬.
    • Returns

      • None
    • Examples

      Python Code (in Jupyter Notebook) :

      import time
      
      def sample_function(parmeter_dict):
          print_list = parmeter_dict["print_list"]
          for i in print_list:
              print(i, end="")
              time.sleep(1)
          result = {
              "request_id": parmeter_dict["request_id"], 
              "result": "complete."
          }
          return result
      
      for i in range(3):
          parmeter_dict = {
              "request_id" : i,
              "print_list": ["a", "b", "c", "d"]
          }
          qh.add_lambda(sample_function, parmeter_dict)
      

      Output (in Jupyter Notebook) :

      aaabbbcccddd
      done : 2 lamda left.
      
      done : 1 lamda left.
      
      done : 0 lamda left.
      
  • teanaps.nlp.QueueHandler.get_result() Top(https://github.com/fingeredman/teanaps/wiki/HANDLER#teanaps-api-documentation)

    • μˆ˜ν–‰ν•  μž‘μ—…λ“€μ΄ μ €μž₯된 큐 (Queue)에 μž‘μ—…μ„ μΆ”κ°€ν•©λ‹ˆλ‹€.Webhook URL에 μ—°κ²°λœ Slack으둜 λ©”μ‹œμ§€λ₯Ό λ°œμ†‘ν•©λ‹ˆλ‹€.

    • Parameters

      • None
    • Returns

      • result_dict (dict) : νμ—μ„œ μˆ˜ν–‰λœ μž‘μ—…μ—μ„œ λ°˜ν™˜ν•œ 값을 ν¬ν•¨ν•˜λŠ” λ”•μ…”λ„ˆλ¦¬.
    • Examples

      Python Code (in Jupyter Notebook) :

      #for i in range(3):
      #    parmeter_dict = {
      #        "request_id" : i,
      #        "print_list": ["a", "b", "c", "d"]
      #    }
      #    qh.add_lambda(sample_function, parmeter_dict)
      
      result = qh.get_result()
      print(result)
      

      Output (in Jupyter Notebook) :

      {1: 'complete.', 2: 'complete.', 0: 'complete.'}