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
*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)
Built Distribution
fcomments-0.1.2-py3-none-any.whl
(11.5 kB
view hashes)
Close
Hashes for fcomments-0.1.2-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 11dedc24e65ef7aff924b2b7578c23cac9349046bf11c0bdb9a9b3a6d9389267 |
|
MD5 | 86f40cf65084ba49b72f491ef407671c |
|
BLAKE2b-256 | 45113c9968d6ee558437f1f0dd3ef820393aec8e0577ea49bdbf65d1f01d9d18 |