Skip to content

Commit

Permalink
Move copy_directory to merge_docs (#415)
Browse files Browse the repository at this point in the history
  • Loading branch information
athackst committed Oct 9, 2022
1 parent 98139f3 commit 74af741
Show file tree
Hide file tree
Showing 2 changed files with 30 additions and 38 deletions.
47 changes: 23 additions & 24 deletions mkdocs_simple_plugin/simple.py
Expand Up @@ -10,30 +10,6 @@
from mkdocs_simple_plugin.semiliterate import Semiliterate


def copy_directory(from_dir: str, to_dir: str):
"""Copy all files from source to destination directory."""
if sys.version_info >= (3, 8):
# pylint: disable=unexpected-keyword-arg
shutil.copytree(from_dir, to_dir, dirs_exist_ok=True)
utils.log.debug("mkdocs-simple-plugin: %s/* --> %s/*",
from_dir, to_dir)
else:
for source_directory, _, files in os.walk(from_dir):
destination_directory = source_directory.replace(
from_dir, to_dir, 1)
os.makedirs(destination_directory, exist_ok=True)
for file_ in files:
source_file = os.path.join(source_directory, file_)
destination_file = os.path.join(destination_directory,
file_)
if os.path.exists(destination_file):
os.remove(destination_file)
shutil.copy(source_file, destination_directory)
utils.log.debug(
"mkdocs-simple-plugin: %s/* --> %s/*",
source_file, destination_file)


class Simple():
"""Mkdocs Simple Plugin"""

Expand Down Expand Up @@ -168,6 +144,29 @@ def hidden_prefix(name):
def merge_docs(self, from_dir):
"""Merge docs directory"""
# Copy contents of docs directory if merging
def copy_directory(from_dir: str, to_dir: str):
"""Copy all files from source to destination directory."""
if sys.version_info >= (3, 8):
# pylint: disable=unexpected-keyword-arg
shutil.copytree(from_dir, to_dir, dirs_exist_ok=True)
utils.log.debug("mkdocs-simple-plugin: %s/* --> %s/*",
from_dir, to_dir)
else:
for source_directory, _, files in os.walk(from_dir):
destination_directory = source_directory.replace(
from_dir, to_dir, 1)
os.makedirs(destination_directory, exist_ok=True)
for file_ in files:
source_file = os.path.join(source_directory, file_)
destination_file = os.path.join(destination_directory,
file_)
if os.path.exists(destination_file):
os.remove(destination_file)
shutil.copy(source_file, destination_directory)
utils.log.debug(
"mkdocs-simple-plugin: %s/* --> %s/*",
source_file, destination_file)

if os.path.exists(from_dir):
copy_directory(from_dir, self.build_dir)
self.ignore_paths.add(from_dir)
Expand Down
21 changes: 7 additions & 14 deletions tests/test_simple.py
Expand Up @@ -9,20 +9,6 @@
from mkdocs_simple_plugin import simple


class TestSimpleHelpers(TestCase):
"""Test Simple helper functions."""

def setUp(self):
"""Set up with fake filesystem"""
self.setUpPyfakefs()

def test_copy_directory(self):
"""Test copy_directory"""
self.fs.create_file('/test/file.txt')
simple.copy_directory("/test", '/bar')
self.assertTrue(os.path.exists("/bar/file.txt"))


class TestSimple(TestCase):
"""Test Simple class."""

Expand Down Expand Up @@ -275,6 +261,13 @@ def test_build_docs(self):
self.assertIn("foo/.pages", paths)
self.assertEqual(3, len(paths))

def test_merge_docs(self):
"""Test copy_directory"""
self.fs.create_file('/test/file.txt')
simple_test = simple.Simple(**self.default_settings)
simple_test.merge_docs("/test")
self.assertTrue(os.path.exists("/build_dir/file.txt"))


if __name__ == '__main__':
unittest.main()

0 comments on commit 74af741

Please sign in to comment.