Exemple #1
0
def docs_copy_samples_into_dir_if_necessary(Prg, LoadDefaultsForced=False):
    util.dir_create_if_necessary(Prg, Prg["DirDocuments"])
    # print(f'Program dir documents: {Prg["DirDocuments"]}', flush=True)

    DirTextSamples = os.path.join(Prg["DirDocuments"], "text_samples")
    util.dir_create_if_necessary(Prg, DirTextSamples)
    FilesTxt = util.files_abspath_collect_from_dir(
        DirTextSamples, WantedExtensions=ExtensionsConvertable + [".txt"])
    if (not FilesTxt) or LoadDefaultsForced:
        util.web_get_pack_wikipedia(Prg, DirTextSamples)
        docs_copy_samples_into_dir(Prg, DirTextSamples)
Exemple #2
0
def docs_copy_samples_into_dir(Prg, DirTarget):
    util.dir_create_if_necessary(Prg, DirTarget)

    # sample texts are gzipped
    for FileName in util.files_abspath_collect_from_dir(Prg["DirTextSamples"]):
        # don't duplicate other files, document info json for example
        if ".gz" in FileName[-3:]:
            BaseName = os.path.basename(FileName).replace(".gz", "")
            # print(f"Sample doc duplication... {BaseName}   {FileName}")
            ReadSuccess, TextContent = util.file_read_all(Prg,
                                                          FileName,
                                                          Gzipped=True)
            FileNameSaved = os.path.join(DirTarget, BaseName)
            # if a previous file exists with same name, it overwrites
            util.file_write_utf8_error_avoid(Prg, FileNameSaved, TextContent)
Exemple #3
0
    def test_docs_copy_samples_into_dir(self):
        if self._test_exec("test_collect_docs_from_working_dir"):
            Prg = self.Prg

            DirTestBaseName = "test_" + str(int(time.time()))
            DirTest = os.path.join(Prg["DirWork"], DirTestBaseName)
            util.dir_create_if_necessary(Prg, DirTest)

            document.docs_copy_samples_into_dir(Prg, DirTest)
            Files = util.files_abspath_collect_from_dir(DirTest)
            FileNamesInOneLine = " ".join(Files)
            Wanted = "DanielDefoe__LifeAdventuresRobinsonCrusoe__gutenberg_org_521-0.txt"
            self.assertIn(Wanted, FileNamesInOneLine)

            for FileAbsPath in Files:
                util.file_del(FileAbsPath)

            DelRes = util.dir_delete_if_exist(Prg, DirTest)
            self.assertEqual("deleted", DelRes)
Exemple #4
0
    def test_util_dir_create_if_necessary(self):
        if self._test_exec("test_dir_create_if_necessary"):
            Prg = self.Prg

            # dir exists, can't create
            Created = util.dir_create_if_necessary(
                Prg, os.path.join(Prg["DirPrgRoot"], "src"))
            self.assertFalse(Created)

            # file exists with the same name, can't create
            Created = util.dir_create_if_necessary(
                Prg, os.path.join(Prg["DirPrgRoot"], ".gitignore"))
            self.assertFalse(Created)

            # test dir created
            DirTryToMake = os.path.join(Prg["DirWork"], "TryToMakeThis")
            util.dir_delete_if_exist(Prg, DirTryToMake, Print=True)
            Created = util.dir_create_if_necessary(Prg, DirTryToMake)
            self.assertTrue(Created)
            util.dir_delete_if_exist(Prg, DirTryToMake, Print=True)
Exemple #5
0
def config_get(Key, DirPrgExecRoot="", DefaultVal="",
               DirConfigFileParent=None,
               FileNameConfigInitial=".sentence-seeker.config"):

    _Status, ConfigInitial = obj_from_file(os.path.join(DirPrgExecRoot, FileNameConfigInitial))
    DirWorkFromUserHome = ConfigInitial["DirWorkFromUserHome"]

    if not DirConfigFileParent:
        DirConfigFileParent = os.path.join(util.dir_user_home(), DirWorkFromUserHome)
    util.dir_create_if_necessary(Path=DirConfigFileParent)

    FileConfigAbsPath = os.path.join(DirConfigFileParent, FileNameConfig)

    if not os.path.isfile(FileConfigAbsPath):
        print(f"create new config file from default: {FileConfigAbsPath}")
        util.file_copy(os.path.join(DirPrgExecRoot, FileNameConfigInitial), FileConfigAbsPath)
    else:
        #   print(f"config file exists: {FileConfigAbsPath}")
        pass

    _Status, Json = obj_from_file(FileConfigAbsPath)
    if Key in Json:
        return Json[Key]
    return DefaultVal
Exemple #6
0
    "DirTmpPath": os.path.join(DirPrgParent, "tmp"),
    "DirsDeleteAfterRun": [],
    "FilesDeleteAfterRun": [],
    "DirDefaultFileSelectPath": os.path.abspath(__file__),
    "PathPrgExec": os.path.realpath(__file__),
    "Color": {
        "TextSelectFrame": (255, 0, 0)
    },
    "ImagesLoaded": {},
    "ImageIdSelected": ""
}

sys.path.append(os.path.join(Prg["DirPrgParent"], "src"))
import util, test_mark_collect, test_mark_util, test_area, test_vector

util.dir_create_if_necessary(Prg, Prg["DirTmpPath"])

util.ui_msg_init(Prg)
util.installed_environment_detect(Prg)
util.os_detect(Prg)

TestOnly = False
print(sys.argv)
if "testonly" in sys.argv:
    TestOnly = True
    sys.argv = sys.argv[:
                        1]  # the testing environment gives a warning when I use a prg param so I hide it, temporary solution
test_mark_collect.run_all_tests(Prg)
test_mark_util.run_all_tests(Prg)
test_area.run_all_tests(Prg)
test_vector.run_all_tests(Prg)