Skip to content

Python module to extract comments from source code files of various types.

License

Notifications You must be signed in to change notification settings

zhierrox/comment_parser

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Comment Parser


Python module used to extract comments from source code files of various types.

Installation


Linux/Unix

To install run 'sudo pip3 install comment_parser'.

OSX and Windows

Complete the special installation requirements for python-magic.

Usage


To use, simply run:

>>> from comment_parser import comment_parser
>>> comment_parser.extract_comments('/path/to/source_file')  # Returns a list of comment_parser.parsers.common.Comments

extract_comments Signature


def extract_comments(filename, mime=None):
    """Extracts and returns the comments from the given source file.

    Args:
        filename: String name of the file to extract comments from.
        mime: Optional MIME type for file (str). Note some MIME types accepted
            don't comply with RFC2045. If not given, an attempt to deduce the
            MIME type will occur.
    Returns:
        Python list of parsers.common.Comment in the order that they appear in
            the source file.
    Raises:
        UnsupportedError: If filename is of an unsupported MIME type.
    """

Comments Interface


class Comment(object):
    """Represents comments found in source files."""
    def text(self):
        """Returns the comment's text.
        Returns:
            String
        """
        pass

    def line_number(self):
        """Returns the line number the comment was found on.
        Returns:
            Int
        """
        pass

    def is_multiline(self):
        """Returns whether this comment was a multiline comment.
        Returns:
            True if comment was a multiline comment, False if not.
        """
       pass

    def __str__(self):
        pass

    def __eq__(self, other):
        pass

Supported Programming Languages


  1. C
  2. C++
  3. Go
  4. Java
  5. Javascript
  6. Shell scripts (Bash, sh, etc.)
  7. More to come!

Check comment_parser.py for corresponding MIME types.

About

Python module to extract comments from source code files of various types.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 100.0%