Parse comments from various source files.
Project description
Comment Parser
Python module used to extract comments from source code files of various types.
Installation
Prerequisites
- libmagic
Linux/Unix
sudo pip3 install comment_parser
OSX and Windows
Additionally, complete the special installation requirements for python-magic.
Usage
To use, simply run:
>>> from comment_parser import comment_parser
>>> # Returns a list of comment_parser.parsers.common.Comments
>>> comment_parser.extract_comments('/path/to/source_file')
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
Development
Running locally
Start python3 in the base of repository.
from comment_parser import comment_parser
comment_parser.extract_comments('foo.c', mime='text/x-c')
Running tests
python3 setup.py test
Deploying to PyPi
python3 setup.py sdist
twine upload dist/*
Supported Programming Languages
Language | Mime String |
---|---|
C | text/x-c |
C++/C# | text/x-c++ |
Go | text/x-go |
HTML | text/html |
Java | text/x-java-source |
Javascript | application/javascript |
Shell | text/x-shellscript |
XML | text/xml |
And more to come!
Check comment_parser.py for corresponding MIME types.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
comment_parser-1.0.9.tar.gz
(5.9 kB
view details)
Built Distribution
comment_parser-1.0.9-py3.7.egg
(21.2 kB
view details)
File details
Details for the file comment_parser-1.0.9.tar.gz
.
File metadata
- Download URL: comment_parser-1.0.9.tar.gz
- Upload date:
- Size: 5.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.11.0 pkginfo/1.4.2 requests/2.18.4 setuptools/40.5.0 requests-toolbelt/0.8.0 tqdm/4.23.2 CPython/3.6.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | c6c8de788b3aa5a8d7d53992a0b02dd105a562bf4e0cdd2be24affa69ebbaf8d |
|
MD5 | aa430b9473048ac84dd018576ba0b51c |
|
BLAKE2b-256 | c1d1325caee192abed55a09a38ce1870bc7e194183884766470e8de3c4154370 |
File details
Details for the file comment_parser-1.0.9-py3.7.egg
.
File metadata
- Download URL: comment_parser-1.0.9-py3.7.egg
- Upload date:
- Size: 21.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.13.0 pkginfo/1.4.2 requests/2.21.0 setuptools/40.8.0 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.7.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | c800f09fad072d8be2dbfa862c11045931adedbf9775738c6c424cff45a70dd6 |
|
MD5 | 9d2c36d29fc20a1ee26571dfb1f8d121 |
|
BLAKE2b-256 | 7dfe799e484e20887c33d2c46a6da90d8279eb0077d9a4bf44215e5ef5ce8034 |