Example #1
0
    def do_gen_check(self):
        path = self.target_directory.get()

        sout = io.StringIO()
        rfactortools.process_gen_directory(path, False, sout)

        self.app.show_text_window("rfactortools: .gen check", sout.getvalue())
Example #2
0
    def do_gen_check(self):
        path = self.target_directory.get()

        sout = io.StringIO()
        rfactortools.process_gen_directory(path, False, sout)

        self.app.show_text_window("rfactortools: .gen check", sout.getvalue())
Example #3
0
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program.  If not, see <http://www.gnu.org/licenses/>.


import argparse
import sys

import rfactortools


if __name__ == "__main__":
    parser = argparse.ArgumentParser(description='rFactor .veh/.gen processor')
    parser.add_argument('DIRECTORY', action='store', type=str,
                        help='directory containing .gen and .veh files')
    parser.add_argument('-c', '--check', action='store_true', default=False,
                        help="check the file for errors")
    parser.add_argument('-v', '--verbose', action='store_true', default=False,
                        help="be more verbose")
    parser.add_argument('--add-searchpath', metavar="PATH",
                        help="be more verbose")
    parser.add_argument('-f', '--fix', action='store_true', default=False,
                        help="try to fix all detected errors")
    args = parser.parse_args()

    rfactortools.process_gen_directory(args.DIRECTORY, args.fix, sys.stdout)


# EOF #
Example #4
0
    def convert_all(self, target_directory):
        self.report_progress("start")

        target_directory = os.path.normpath(target_directory)

        # convert GameData/ directories
        for d in self.source_gamedata_directories:
            self.report_progress("directory", d)

            self.source_gamedata_directory = os.path.normpath(d)

            if self.cfg.single_gamedata:
                target_gamedata_directory = os.path.join(
                    target_directory, "GameData")
            else:
                target_gamedata_directory = os.path.join(
                    target_directory,
                    os.path.relpath(self.source_gamedata_directory,
                                    self.source_directory))

            logging.info("converting GameData %s to %s",
                         self.source_gamedata_directory,
                         target_gamedata_directory)

            self.copy_directory_hierachy(self.source_gamedata_directory,
                                         target_gamedata_directory)
            self.convert_gamedata(self.source_gamedata_directory,
                                  target_gamedata_directory)

            try:
                rfactortools.process_gen_directory(target_gamedata_directory,
                                                   True, io.StringIO())
            except Exception:
                logging.exception("rfactortools.process_gen_directory")

        # convert tracks that don't have a toplevel GameData/ directory
        for d, prefix in self.source_track_directories:
            self.report_progress("directory", d)

            logging.debug("track: prefix:\"%s\" - directory:\"%s\"", prefix, d)
            source_directory = os.path.normpath(d)

            if self.cfg.single_gamedata:
                target_gamedata_directory = os.path.join(
                    target_directory, "GameData")
            else:
                target_gamedata_directory = os.path.join(
                    target_directory,
                    os.path.relpath(source_directory, self.source_directory),
                    "GameData")

            logging.info("converting track %s to %s", source_directory,
                         target_gamedata_directory)
            # create directory hierachy
            modname = os.path.basename(d)
            if prefix:
                self.copy_directory_hierachy(
                    source_directory,
                    os.path.join(target_gamedata_directory, "Locations",
                                 prefix, modname))
            else:
                self.copy_directory_hierachy(
                    source_directory,
                    os.path.join(target_gamedata_directory, "Locations",
                                 modname))

            logging.debug("modname: %s", modname)
            if prefix:
                target_d = os.path.join(target_gamedata_directory, "Locations",
                                        prefix)
            else:
                target_d = os.path.join(target_gamedata_directory, "Locations")
            logging.debug("track: source_directory: %s", source_directory)
            logging.debug("track: target_directory: %s", target_d)
            self.convert_mod_subdir(os.path.dirname(source_directory),
                                    target_d, modname, modname)

        self.report_progress("finished")
Example #5
0
if __name__ == "__main__":
    parser = argparse.ArgumentParser(description='rFactor .veh/.gen processor')
    parser.add_argument('DIRECTORY',
                        action='store',
                        type=str,
                        help='directory containing .gen and .veh files')
    parser.add_argument('-c',
                        '--check',
                        action='store_true',
                        default=False,
                        help="check the file for errors")
    parser.add_argument('-v',
                        '--verbose',
                        action='store_true',
                        default=False,
                        help="be more verbose")
    parser.add_argument('--add-searchpath',
                        metavar="PATH",
                        help="be more verbose")
    parser.add_argument('-f',
                        '--fix',
                        action='store_true',
                        default=False,
                        help="try to fix all detected errors")
    args = parser.parse_args()

    rfactortools.process_gen_directory(args.DIRECTORY, args.fix, sys.stdout)

# EOF #
Example #6
0
    def convert_all(self, target_directory):
        self.report_progress("start")

        target_directory = os.path.normpath(target_directory)

        # convert GameData/ directories
        for d in self.source_gamedata_directories:
            self.report_progress("directory", d)

            self.source_gamedata_directory = os.path.normpath(d)

            if self.cfg.single_gamedata:
                target_gamedata_directory = os.path.join(target_directory, "GameData")
            else:
                target_gamedata_directory = os.path.join(target_directory,
                                                         os.path.relpath(self.source_gamedata_directory,
                                                                         self.source_directory))

            logging.info("converting GameData %s to %s", self.source_gamedata_directory, target_gamedata_directory)

            self.copy_directory_hierachy(self.source_gamedata_directory, target_gamedata_directory)
            self.convert_gamedata(self.source_gamedata_directory, target_gamedata_directory)

            try:
                rfactortools.process_gen_directory(target_gamedata_directory, True, io.StringIO())
            except Exception:
                logging.exception("rfactortools.process_gen_directory")

        # convert tracks that don't have a toplevel GameData/ directory
        for d, prefix in self.source_track_directories:
            self.report_progress("directory", d)

            logging.debug("track: prefix:\"%s\" - directory:\"%s\"", prefix, d)
            source_directory = os.path.normpath(d)

            if self.cfg.single_gamedata:
                target_gamedata_directory = os.path.join(target_directory, "GameData")
            else:
                target_gamedata_directory = os.path.join(target_directory,
                                                         os.path.relpath(source_directory,
                                                                         self.source_directory),
                                                         "GameData")

            logging.info("converting track %s to %s", source_directory, target_gamedata_directory)
            # create directory hierachy
            modname = os.path.basename(d)
            if prefix:
                self.copy_directory_hierachy(source_directory,
                                             os.path.join(target_gamedata_directory, "Locations", prefix, modname))
            else:
                self.copy_directory_hierachy(source_directory,
                                             os.path.join(target_gamedata_directory, "Locations", modname))

            logging.debug("modname: %s", modname)
            if prefix:
                target_d = os.path.join(target_gamedata_directory, "Locations", prefix)
            else:
                target_d = os.path.join(target_gamedata_directory, "Locations")
            logging.debug("track: source_directory: %s", source_directory)
            logging.debug("track: target_directory: %s", target_d)
            self.convert_mod_subdir(os.path.dirname(source_directory), target_d, modname, modname)

        self.report_progress("finished")