Пример #1
0
 def generar_docstring_rst(self):
     """Esta función permite estructurar una lista de archivos obtimos para utilizar los comandos de Pyment"""
     for f in self.get_files('py'):
         fpatch = f+".patch"
         c = PyComment(f)
         c.proceed()
         c.diff_to_file(fpatch)
         cmd("patch {0} {1}",f,fpatch)
         cmd("rm {0}",fpatch)
Пример #2
0
def run(source,
        files=[],
        input_style='auto',
        output_style='reST',
        first_line=True,
        quotes='"""',
        init2class=False,
        convert=False,
        config_file=None,
        ignore_private=False,
        overwrite=False):
    if input_style == 'auto':
        input_style = None

    config = get_config(config_file)
    if 'init2class' in config:
        init2class = config.pop('init2class')
    if 'convert_only' in config:
        convert = config.pop('convert_only')
    if 'quotes' in config:
        quotes = config.pop('quotes')
    if 'input_style' in config:
        input_style = config.pop('input_style')
    if 'output_style' in config:
        output_style = config.pop('output_style')
    if 'first_line' in config:
        first_line = config.pop('first_line')
    for f in files:
        if os.path.isdir(source):
            path = source + os.sep + os.path.relpath(os.path.abspath(f),
                                                     os.path.abspath(source))
            path = path[:-len(os.path.basename(f))]
        else:
            path = ''
        c = PyComment(f,
                      quotes=quotes,
                      input_style=input_style,
                      output_style=output_style,
                      first_line=first_line,
                      ignore_private=ignore_private,
                      convert_only=convert,
                      **config)
        c.proceed()
        if init2class:
            c.docs_init_to_class()

        if overwrite:
            c.write_to_file()
        else:
            c.diff_to_file(os.path.basename(f) + ".patch", path, path)
Пример #3
0
def run(source, files=[], input_style='auto', output_style='reST', first_line=True, quotes='"""', init2class=False, convert=False, config_file=None, ignore_private=False):
    if input_style == 'auto':
        input_style = None

    config = get_config(config_file)
    if 'init2class' in config:
        init2class = config.pop('init2class')
    if 'convert_only' in config:
        convert = config.pop('convert_only')
    if 'quotes' in config:
        quotes = config.pop('quotes')
    if 'input_style' in config:
        input_style = config.pop('input_style')
    if 'output_style' in config:
        output_style = config.pop('output_style')
    if 'first_line' in config:
        first_line = config.pop('first_line')
    for f in files:
        if os.path.isdir(source):
            path = source + os.sep + os.path.relpath(os.path.abspath(f), os.path.abspath(source))
            path = path[:-len(os.path.basename(f))]
        else:
            path = ''
        c = PyComment(f, quotes=quotes,
                      input_style=input_style,
                      output_style=output_style,
                      first_line=first_line,
                      ignore_private=ignore_private,
                      convert_only=convert,
                      **config)
        c.proceed()
        if init2class:
            c.docs_init_to_class()
        c.diff_to_file(os.path.basename(f) + ".patch", path, path)
Пример #4
0
def run(source, files=[], input_style='auto', output_style='reST', first_line=True, quotes='"""',
        init2class=False, convert=False, config_file=None, ignore_private=False, overwrite=False):
    if input_style == 'auto':
        input_style = None

    config = get_config(config_file)
    if 'init2class' in config:
        init2class = config.pop('init2class')
    if 'convert_only' in config:
        convert = config.pop('convert_only')
    if 'quotes' in config:
        quotes = config.pop('quotes')
    if 'input_style' in config:
        input_style = config.pop('input_style')
    if 'output_style' in config:
        output_style = config.pop('output_style')
    if 'first_line' in config:
        first_line = config.pop('first_line')
    for f in files:
        if os.path.isdir(source):
            path = source + os.sep + os.path.relpath(os.path.abspath(f), os.path.abspath(source))
            path = path[:-len(os.path.basename(f))]
        else:
            path = ''
        c = PyComment(f, quotes=quotes,
                      input_style=input_style,
                      output_style=output_style,
                      first_line=first_line,
                      ignore_private=ignore_private,
                      convert_only=convert,
                      **config)
        c.proceed()
        if init2class:
            c.docs_init_to_class()

        if overwrite:
            list_from, list_to = c.compute_before_after()
            lines_to_write = list_to
        else:
            lines_to_write = c.get_patch_lines(path, path)

        if f == '-':
            sys.stdout.writelines(lines_to_write)
        else:
            if overwrite:
                if list_from != list_to:
                    c.overwrite_source_file(lines_to_write)
            else:
                c.write_patch_file(os.path.basename(f) + ".patch", lines_to_write)
Пример #5
0
def run(source,
        files=[],
        input_style='auto',
        output_style='reST',
        first_line=True,
        quotes='"""',
        init2class=False,
        convert=False,
        config_file=None,
        ignore_private=False,
        overwrite=False):
    if input_style == 'auto':
        input_style = None

    config = get_config(config_file)
    if 'init2class' in config:
        init2class = config.pop('init2class')
    if 'convert_only' in config:
        convert = config.pop('convert_only')
    if 'quotes' in config:
        quotes = config.pop('quotes')
    if 'input_style' in config:
        input_style = config.pop('input_style')
    if 'output_style' in config:
        output_style = config.pop('output_style')
    if 'first_line' in config:
        first_line = config.pop('first_line')
    for f in files:
        if os.path.isdir(source):
            path = source + os.sep + os.path.relpath(os.path.abspath(f),
                                                     os.path.abspath(source))
            path = path[:-len(os.path.basename(f))]
        else:
            path = ''
        c = PyComment(f,
                      quotes=quotes,
                      input_style=input_style,
                      output_style=output_style,
                      first_line=first_line,
                      ignore_private=ignore_private,
                      convert_only=convert,
                      **config)
        c.proceed()
        if init2class:
            c.docs_init_to_class()

        if overwrite:
            list_from, list_to = c.compute_before_after()
            lines_to_write = list_to
        else:
            lines_to_write = c.get_patch_lines(path, path)

        if f == '-':
            sys.stdout.writelines(lines_to_write)
        else:
            if overwrite:
                if list_from != list_to:
                    c.overwrite_source_file(lines_to_write)
            else:
                c.write_patch_file(
                    os.path.basename(f) + ".patch", lines_to_write)
Пример #6
0
        param2 - descr of param2

    Returns:
        some value

    Raises:
        keyError: raises key exception
        TypeError: raises type exception

    '''
    pass


class A:
    def method(self, param1, param2=None):
        pass


if __name__ == "__main__":
    import os
    from pyment import PyComment

    filename = __file__
    print filename

    c = PyComment(filename)
    c.proceed()
    c.diff_to_file(os.path.basename(filename) + ".patch")
    for s in c.get_output_docs():
        print(s)
Пример #7
0
def docstring(filename, write, verbose):
    """Manage the docstrings for the project.

    If verbose is passed in, print out the diffs.
    If a filename is passed in, run only on that file. Otherwise run on all files.
    If write is passed in, and a filename is passed. Then overwrite the changes and run black.

    """

    # Only overwrite if looking at a single file and write flag is passed in.
    if filename and write:
        pycom = PyComment(filename, output_style="google")
        pycom.proceed()
        list_from, list_to = pycom.compute_before_after()
        if list_from != list_to:
            click.echo(
                f"Overwriting file: { filename } with changes and calling tool black"
            )
            pycom.overwrite_source_file(list_to)
            call(["black", filename])
        else:
            click.echo(f"No changes needed for file: { filename }")

        return

    file_list = []
    if filename:
        file_list = [filename]
    else:
        files_and_directories = get_root_files_and_directories()
        for item in files_and_directories:
            file_list.extend(get_files_from_dir(item))

    files_with_changes = 0
    files_without_changes = 0
    total_files = len(file_list)

    for file in file_list:
        pycom = PyComment(file, output_style="google")
        pycom.proceed()

        # calculate the difference and track stats
        diff = pycom.diff()
        if len(diff) > 0:
            files_with_changes = files_with_changes + 1
            if verbose:
                click.echo(f"File: { file } has changes")
                for line in diff:
                    click.echo(line, nl=False)
        else:
            files_without_changes = files_without_changes + 1
            if verbose:
                click.echo(f"File: { file } does not have changes")

    click.echo((
        f"{total_files} files scanned, {files_with_changes} files with changes and "
        f"{files_without_changes} files without changes."))
Пример #8
0
#!/usr/bin/env python
# coding: utf-8

import os
import re
from pyment import PyComment
import gensim
import numpy as np
from sklearn.metrics.pairwise import cosine_similarity
import networkx as nx

try:
    FILENAME = 'pagesummarizer.py'

    C = PyComment(FILENAME)
    C.proceed()

    C.diff_to_FILE(os.path.basename(FILENAME) + ".patch")
    for s in C.get_output_docs():
        print(s)

# reading FILE

    FILE = open("mayowa.txt", "r")
    DATA = FILE.readlines()
    FILE.close()

    def preprocessor(text):
        """Lowers the case of the input, removes everything
        inside [] then removes 's and fetches only ascii characters
Пример #9
0
        param1 - descr of param1 that has True for default value.
        param2 - descr of param2

    Returns:
        some value

    Raises:
        keyError: raises key exception
        TypeError: raises type exception

    '''
    pass

class A:
    def method(self, param1, param2=None):
        pass

if __name__ == "__main__":
    import os
    from pyment import PyComment

    filename = __file__
    print filename

    c = PyComment(filename)
    c.proceed()
    c.diff_to_file(os.path.basename(filename) + ".patch")
    for s in c.get_output_docs():
        print(s)