Metadata-Version: 1.2
Name: print_chat
Version: 0.4
Summary: Small print tool for implementing chat in the terminal
Home-page: https://github.com/IVIGOR13/print_chat
Author: IVIGOR13
Author-email: igor.i.v.a.13@gmail.com
License: MIT
Download-URL: https://github.com/IVIGOR13/print_chat/archive/0.4.tar.gz
Description: print_chat
        ==========
        
        Small print tool for implementing chat in the terminal.
        
        https://pypi.org/project/print_chat/
        
        Usage example
        -------------
        
        .. code-block:: python
        
            import print_chat as pc
        
            pct = pc.print_chat()
        
            sender = 'Charls'
            pct.set_colors([('Charls', 'green')])
        
            while True:
                post = str(input('> '))
        
                if post == 'exit':
                    break
                else:
                    pct.up_on_occupied_rows(len(post) + len(sender) + 2)
                    pct.add_message('Charls', post)
        
            pct.close()
        
        For testing the main functionality:
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        
        .. code-block:: python
        
            import print_chat as pc
        
            pct = pc.print_chat(time=True)
        
            s = 0 # sender iterator
            senders = ['Charls', 'Max', 'Karl']
            pct.set_colors([
                    (senders[0], 'green'),
                    (senders[1], 'red'),
                    (senders[2], 'yellow')
                ])
            pct.set_header('-Test chat-\n-----------') # adding a header to the dialog
        
            while True:
                post = str(input('> '))
                pct.up_on_occupied_rows(len(post) + len(senders[s]) + 2)
                command = post.split(' ')
        
                if post == 'exit':                  break
                elif command[0] == 'remove':        pct.remove(int(command[1]))
                elif command[0] == 'edit':          pct.edit(int(command[1]), ' '.join(command[2:]))
                elif command[0] == 'reload':        pct.reload(int(command[1]))
                elif command[0] == 'add_skip':      pct.add_skip(int(command[1]), str(' '.join(command[2:])))
                elif command[0] == 'edit_skip':     pct.edit_skip(int(command[1]), ' '.join(command[2:]))
                elif command[0] == 'remove_skip':   pct.remove_skip(int(command[1]))
                elif command[0] == 'add_mark':      pct.add_mark(int(command[1]), str(command[2]))
                elif command[0] == 'edit_mark':     pct.edit_mark(int(command[1]), str(command[2]))
                elif command[0] == 'remove_mark':   pct.remove_mark(int(command[1]))
                elif post == 'cs':                  s = (s+1) % len(senders) # change sender to next
                else:                               pct.add_message(senders[s], post)
        
            pct.close()
        
        Important
        ---------
        Numbering starts at 1, at the end of the message list
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        
        This is not a bug this is a feature
        
        Create object
        -------------
        default:
        
        .. code-block:: python
        
            pct = print_chat.print_chat(time=False)
        
        * time - show message sending time
        
        Method list
        -----------
        * .add_message(sender, text, time='', skip=[], mark=[])
        * .add_message_top(sender, text, time='', skip=[], mark=[], prnt=True)
        * .reload(number)
        * .remove(number)
        * .edit(number, text)
        * .add_skip(number, text)
        * .edit_skip(number, text)
        * .remove_skip(number)
        * .add_mark(number, text)
        * .edit_mark(number, text)
        * .remove_mark(number)
        * .close(clr)                       - closes the dialog, with or without screen clearing
        * .set_header(string)
        * .set_colors(colors)               - takes a list [[sender, color],..]
           colors list:
             * grey
             * red
             * green
             * yellow
             * blue
             * magenta
             * cyan
             * white
        * .get_num_messages()               - returns the number of messages
        * .get_messages()
        * .get_messages_from(sender)
        * .up_on_occupied_rows(len_str)
        * .up_on_message(number)
        * .up_on_rows(number)
        * .clear_row()
        * ._clear_screen()
        * .get_senders()                    - returns a list of dictionaries
        
        Installation
        ------------
        
        .. code-block::
        
            $ pip install print_chat
            
        or
        ^^
        Repository cloning
        
        .. code-block::
        
            $ git clone https://github.com/IVIGOR13/print_chat.git
        
        Tuning
        
        .. code-block::
        
            $ pip install termcolor
            $ pip install colorama
        
Keywords: chat,terminal
Platform: UNKNOWN
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: Console
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Topic :: Terminals
Requires-Python: >=3
