예제 #1
0
def file_list(folder, out=""):
    """
    prints the list of files and sub files in a text file

    @param      folder      folder
    @param      out         result
    @return                 out
    """
    typstr = str  # unicode#
    if out is None or isinstance(out, typstr):
        if is_empty_string(out):
            out = "%s_.list_of_files.txt" % folder
        f = open(out, "w")
    else:
        f = out

    if sys.version_info[0] == 2:
        for l in explore_folder_iterfile(folder):
            f.write(l.decode("utf8"))
            f.write(GetSepLine().decode("utf8"))
    else:
        for l in explore_folder_iterfile(folder):
            f.write(l)
            f.write(GetSepLine())

    if isinstance(out, typstr):
        f.close()

    return out
예제 #2
0
    def lsr(self, line):
        """
        define ``%lsr`` which returns the content of a folder,
        the method stops after around 10000 files --> you should precise the filter.
        """
        parser = self.get_parser(MagicFile.lsr_parser, "lsr")
        args = self.get_args(line, parser)

        if args is not None:
            if args.path is None or len(args.path) == 0:
                filename = "."
            else:
                filename = args.path
            pattern = args.filter

            if "*" in filename:
                pattern = filename
                filename = "."

            iter = explore_folder_iterfile(filename, pattern)
            rows = []
            for r in iter:
                d = os.path.isfile(r)
                if d:
                    st = os.stat(r)
                    r = {"name": r,
                         "size": format_file_size(st.st_size),
                         "last_modified": format_file_mtime(st.st_mtime),
                         "directory": False}
                else:
                    r = {"name": r, "directory": True}
                rows.append(r)
            return pandas.DataFrame(rows)
예제 #3
0
    def lsr(self, line):
        """
        Defines ``%lsr`` which returns the content of a folder,
        the method stops after around 10000 files
        --> you should precise the filter.

        .. nbref::
            :tag: file
            :title: lsr

            The magic command ``%lsr`` is almost equivalent to::

                from pyquickhelper.file_helper import explore_folder_iterfile
                res = explore_folder_iterfile(<filename>, <pattern>)
                for f in res:
                    print(f)
        """
        parser = self.get_parser(MagicFile.lsr_parser, "lsr")
        args = self.get_args(line, parser)

        if args is not None:
            if args.path is None or len(args.path) == 0:
                filename = "."
            else:
                filename = args.path
            pattern = args.filter

            if "*" in filename:
                pattern = filename
                filename = "."

            iter = explore_folder_iterfile(filename, pattern)
            rows = []
            for r in iter:
                d = os.path.isfile(r)
                if d:
                    st = os.stat(r)
                    r = {
                        "name": r,
                        "size": format_file_size(st.st_size),
                        "last_modified": format_file_mtime(st.st_mtime),
                        "directory": False
                    }
                else:
                    r = {"name": r, "directory": True}
                rows.append(r)
            return pandas.DataFrame(rows)
        return None
예제 #4
0
    def lsr(self, line):
        """
        Defines ``%lsr`` which returns the content of a folder,
        the method stops after around 10000 files
        --> you should precise the filter.

        .. nbref::
            :tag: file
            :title: lsr

            The magic command ``%lsr`` is almost equivalent to::

                from pyquickhelper.file_helper import explore_folder_iterfile
                res = explore_folder_iterfile(<filename>, <pattern>)
                for f in res:
                    print(f)
        """
        parser = self.get_parser(MagicFile.lsr_parser, "lsr")
        args = self.get_args(line, parser)

        if args is not None:
            if args.path is None or len(args.path) == 0:
                filename = "."
            else:
                filename = args.path
            pattern = args.filter

            if "*" in filename:
                pattern = filename
                filename = "."

            iter = explore_folder_iterfile(filename, pattern)
            rows = []
            for r in iter:
                d = os.path.isfile(r)
                if d:
                    st = os.stat(r)
                    r = {"name": r,
                         "size": format_file_size(st.st_size),
                         "last_modified": format_file_mtime(st.st_mtime),
                         "directory": False}
                else:
                    r = {"name": r, "directory": True}
                rows.append(r)
            return pandas.DataFrame(rows)
        return None
예제 #5
0
     '/*[BestFriend]\n    internal*/ public abstract class OneToOneTransformBase'),
    ('[BestFriend]\n    internal interface ICommandLineComponentFactory',
     '/*[BestFriend]\n    internal*/ public interface ICommandLineComponentFactory'),
    ('[BestFriend]\n    internal abstract class RowToRowMapperTransformBase',
     '/*[BestFriend]\n    internal*/ public abstract class RowToRowMapperTransformBase'),
    ('[BestFriend]\n    internal abstract class RowToRowTransformBase',
     '/*[BestFriend]\n    internal*/ public abstract class RowToRowTransformBase'),
    ('Contracts.Check(!IsCollection || AllowMultiple, "Collection arguments must allow multiple");',
     '// Contracts.Check(!IsCollection || AllowMultiple, "Collection arguments must allow multiple");'),
    #
    ('[BestFriend]\n    internal interface ICommand',
     '/*[BestFriend]\n    internal*/ public interface ICommand'),
    #
]

for name in explore_folder_iterfile(folder, pattern=".*[.]cs$"):
    if "ArrayUtils.cs" in name:
        continue
    if "OnnxMl.cs" in name:
        continue
    try:
        with open(name, 'r', encoding="utf-8") as f:
            content = f.read()
    except UnicodeDecodeError:
        print("Unicode issue with file '{}'".format(name))
        continue
    if "public int Count => _count;" in content:
        continue
    content0 = content
    for k, v in rep:
        content = content.replace(k, v)