Skip to main content

Script for commenting in/out lines in file.

Project description

|PyPI version| |PyPI| |PyPI| |coverage| |Build Status| # fcomments

*manage comments from your command line*

installation
------------

supports Python 3.5+

fcomments is on `pypi <https://pypi.org/project/fcomments/>`__

::

$ pip install fcomments

usage
-----

Default behavior is to switch the line. It means that if a matched line
is commented, the comment will be removed, and if the line is not
commented the comment will be added.

Specifying -c flag ensures that matched lines will be commented out
after the command. The flag -u works analogically with respect to
uncommenting lines.

Provisioning
~~~~~~~~~~~~

.. code:: python

from fcomments import Commenter

LINES = [4,5,6]

c = Commenter(path='path/to/file')

c.comment_file(comment=True, lines=LINES) # ensure that lines 4-6 are commented out

action() # do sth: run tests, make migrations ..

c.comment_file(uncomment=True, lines=LINES) # ensure that lines 4-6 are not commented

CLI
~~~

.. code:: shell

# comment all lines in a file:
$ fcomments --comment --all path/to/file
$ fcomments -ca path/to/file
# comment lines 3 to 12:
$ fcomments --comment --lines=3-12 path/to/file
$ fcomments -cl3-12 path/to/file

--help
^^^^^^

::

Usage: __main__.py [options] <path>

Examples:
__main__.py -h ---> see help
__main__.py -cl1,2 path/to/file ---> comment out lines 1 and 2
__main__.py -ul3-6 path/to/file ---> uncomment lines 3 to 6 (inclusive)
__main__.py -ac path/to/file ---> comment out all lines
__main__.py -au path/to/file ---> uncomment all lines

__main__.py --start-pattern='\s+operations\s?=\s?\[' --end-pattern='\s+\]' path/to/file
---> comment out everything inside the `operations` list:

1| class Migration(...):
2|
3| operations = [
4| # migrations(
5| # ...
6| # ),
7| ]


Comment or uncomment lines in a file. Default behavior: do the oposite i.e.
if a line is commented - uncomment it, and vice versa. To make sure that the
matched lines will be [un]commented out - run with -[u]c option. If you don't
specify an --output, the original file (<path>) will be overwritten.

Options:
-h, --help show this help message and exit
-c, --comment comment lines [default: False]
-u, --uncomment uncomment lines [default: False]
-a, --all apply to all lines in file; suppresses -l option
[default: False]
-l LINES, --lines=LINES
comma separeted string of line numbers [default: None]
-s IN_PATTERN, --start-pattern=IN_PATTERN
pattern to match against the line before commented
section [default: None]
-e OUT_PATTERN, --end-pattern=OUT_PATTERN
pattern to match against the first line after
commented section [default: None]
-o OUTPUT, --output=OUTPUT
specify a path to output file [default: None]
--symbol=COMMENT_SYMBOL
specify a string to use as comment [default: '#']

.. |PyPI version| image:: https://badge.fury.io/py/fcomments.svg
:target: https://badge.fury.io/py/fcomments
.. |PyPI| image:: https://img.shields.io/pypi/pyversions/fcomments.svg
:target:
.. |PyPI| image:: https://img.shields.io/pypi/l/Django.svg
:target:
.. |coverage| image:: coverage.svg
.. |Build Status| image:: https://travis-ci.org/tadeoos/fcomments.svg?branch=master
:target: https://travis-ci.org/tadeoos/fcomments

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

fcomments-0.1.2.tar.gz (7.0 kB view hashes)

Uploaded Source

Built Distribution

fcomments-0.1.2-py3-none-any.whl (11.5 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page