def export_zip_all(file_obj, file_type=None): """ Export all tables to a zip file which contains a group of csv files. """ if not file_type: # Set default file type. file_type = "csv" writer_class = writers.get_writer(file_type) if not writer_class: raise(MudderyError(ERR.export_data_error, "Unsupport file type %s" % file_type)) # Get tempfile's name. temp = tempfile.mktemp() file_ext = writer_class.file_ext try: archive = zipfile.ZipFile(file_obj, 'w', zipfile.ZIP_DEFLATED) # get model names models = model_mapper.get_all_models() for model in models: model_name = model._meta.object_name export_file(temp, model_name, file_type) filename = model_name + "." + file_ext archive.write(temp, filename) # add version file version_file = os.path.join(GAME_DIR, configs.CONFIG_FILE) archive.write(version_file, configs.CONFIG_FILE) finally: os.remove(temp)
def query_tables(): """ Query all tables' names. """ models = model_mapper.get_all_models() models_info = [{"key": model.__name__, "name": _(model.__name__, category="models") + "(" + model.__name__ + ")"} for model in models if model._meta.app_label == "worlddata"] return models_info
def import_data_path(path, clear=True): """ Import data from path. Args: path: (string) data path. """ # import tables one by one models = model_mapper.get_all_models() for model in models: table_name = model.__name__ file_names = glob.glob(os.path.join(path, table_name) + ".*") if file_names: print("Importing %s" % file_names[0]) try: import_file(file_names[0], table_name=table_name, clear=clear) except Exception, e: print("Import error: %s" % e)
def import_data_path(path, clear=True): """ Import data from path. Args: path: (string) data path. """ # import tables one by one models = model_mapper.get_all_models() for model in models: table_name = model.__name__ file_names = glob.glob(os.path.join(path, table_name) + ".*") if file_names: print("Importing %s" % file_names[0]) try: import_file(file_names[0], table_name=table_name, clear=clear) except Exception as e: print("Import error: %s" % e)
def export_zip_all(file_obj, file_type=None): """ Export all tables to a zip file which contains a group of csv files. """ if not file_type: # Set default file type. file_type = "csv" writer_class = writers.get_writer(file_type) if not writer_class: raise (MudderyError(ERR.export_data_error, "Unsupport file type %s" % file_type)) # Get tempfile's name. temp_filename = tempfile.mktemp() file_ext = writer_class.file_ext try: archive = zipfile.ZipFile(file_obj, 'w', zipfile.ZIP_DEFLATED) # get model names models = model_mapper.get_all_models() for model in models: model_name = model._meta.object_name export_file(temp_filename, model_name, file_type) filename = model_name + "." + file_ext archive.write(temp_filename, filename) # add version file version_file = os.path.join(GAME_DIR, configs.CONFIG_FILE) archive.write(version_file, configs.CONFIG_FILE) finally: try: os.remove(temp_filename) except PermissionError: pass